조건


A 액티비티

B 서비스

a~z 까지 다수의 노티피케이션


시나리오

1. A 액티비티 종료

2. B 서비스에서 A 액티비티를 호출하는 a-z 노티피케이션을 생성합니다.



노티피케이션 생성 코드

Notification noti = new Notification(R.drawable.ic_launcher, tickerText, System.currentTimeMillis());

excuteIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

contentIntent = PendingIntent.getActivity(Service.this, (int) System.currentTimeMillis(),  excuteIntent , PendingIntent.FLAG_UPDATE_CURRENT);

mNotifyManager.notify((int) System.currentTimeMillis(), noti);


위와 같이 코드가 짜져 있습니다


노티매니저에서 노티피케이션을 할 때 노티의 ID 는 현재 시간기준으로 할당하기 때문에

생성되는 모든 노티피케이션의 ID 는 개별적이기 때문에 상태바에는 다수의 노티피케이션이 쌓이게 됩니다.



문제점

a-z 중 하나의 노티피케이션을 선택하면 A 액티비티를 정상적으로 호출합니다.

다시 상태바에서 a-z 노티피케이션을 선택

A 액티비티의 상태와는 무관하게 어떠한 이벤트도 발생하지 않음.


원하는 것

동일한 앱에서 생성한 다수의 노티피케이션이 선택되었을 때

어떤 조건이든 원하는 액티비티를 실행하고자 함



시도

우선 인텐트나 펜딩인텐트의 플래그값 설정으로는 해결 되지 않고

AndroidManifest.xml 파일에서 액티비티 속성을 싱글인스턴스로 바꾸니 되긴 하지만

side-effect 때문에 적용을 못하고 있습니다

다른 방법을 찾는데 좀처럼 구글링으로도 안나오네요


해법을 아시는 분은 필히 답글 좀 남겨주세요