개발/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에 따라 차이가 있는지는 잘 모르겠다. 나중에 확인 해 봐야 할 듯.

 

왜 이렇게 되는지 자세한 내용은 이후 다시 보충하겠음!