개발/Android
안드로이드 Notification 로 Activity 실행 시 중복 실행 안 되게
레란희
2020. 6. 25. 13:33
이 포스팅은 아래 포스팅을 기반으로 하여 쓰여졌습니다.
> https://like-tomato.tistory.com/156 [토마토의 일상 얘기]
원본 포스팅 작성자 분께서는 부디 복 많이 받으시고 적게 일하시고 많이 버시길..
Notification을 클릭 시 앱이 실행되게 해 달라는 요청이 들어옴. 세부 조건은 아래와 같았음.
<조건>
- 앱이 실행 중일 때는 아무 반응 없게
- 홈 버튼 등을 눌러서 백그라운드에 위치했을 때는 앱을 포그라운드로 가져오고 가장 최근에 실행했던 액티비티 띄우기
- 앱이 완전히 종료되었을 때(엄밀히 말하자면 완전히 종료되었다는 건 애매한 표현이지만)는 앱이 다시 실행되게
구글링 하던 중 위 링크에 있는 코드를 기반으로 하여 구현하니 조건에 맞게 실행됨을 확인함.
Intent intent = new Intent(getBaseContext(), ActSplash.class);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pIntent = PendingIntent.getActivity(getBaseContext(), NotificationHelper.ID_FCM, intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent.getActivity의 마지막 인자로 넘겨주는 Flag에 따라 차이가 있는지는 잘 모르겠다. 나중에 확인 해 봐야 할 듯.
왜 이렇게 되는지 자세한 내용은 이후 다시 보충하겠음!