마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

알림 메세지를 클릭 했을 때 PendingIntent가 수행안되는 현상 [closed]

0 추천

유저가 댓글을 달면 각 댓글에 대해서 상태바에 별도의 notification(id를 각각 별도로 줌)으로 나오게 한 상태입니다.

알림을 클릭하면 아래와 같이 DummyActivity가 실행되게 했고 앱이 실행되어있는지 여부에 따라 DummyActivity안에서

StartActivity와 ViewActivity를 분기해서 실행하도록 구현하였습니다.

(requestId와 알림id는 서로 동일하게 맞춰주고 있고 그 값 자체는 알림 마다 다르게 지정해 주고 있습니다.)

Intent i = new Intent(MyApp.getAppContext(), DummyActivity.class);
    		PendingIntent pendingIntent = PendingIntent.getActivity(MyApp.getAppContext(), id,
                    i, PendingIntent.FLAG_UPDATE_CURRENT);

여기에서 StartActivity는 메인 Activity로써 Manifest에 아래와 같이 설정이 되어있습니다.

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

DummyActivity 내부에서는 아래와 같이 분기를 태우고 있습니다.

if (앱이 실행 중이 아닐 때 ) {
            intent = new Intent(getApplicationContext(), StartActivity.class);
        } else {
            intent = new Intent(getApplicationContext(), ViewActivity.class);
        }
        startActivity(intent);

 

그런데 직접 런처 아이콘을 터치해서 StartActivity가 실행되어 앱이 구동중일때는 알림이 오면 각각의 알림 마다 모두

정상적으로 실행이 되는데, 저 분기를 타서 StartActivity가 실행되어 앱이 구동중일때는

그 이후 클릭한 알림들이 반응이 없습니다.

디버깅을 해보니 DummyActivity 자체가 실행이 되지 않네요.

알림을 클릭해서 StartActivity를 통해 실행이 된 후, 다시 앱을 나가서 알림을 클릭하면 정상적으로 PendingIntent가

실행이 됩니다.

앱이 실행 안되어있는 상태에서 알림을 클릭하고 StartActivity를 통해 앱을 진입하면, 그 상태에서는 그 이후 알림을

클릭해서 PendingIntent가 실행되지 않는 현상입니다.

왜 이런 현상이 발생하는지 잘 떠오르지가 않는데 혹시 이런 현상에 대해 해결 방안을 아시는 분 계시면

도움 부탁드립니다.

질문을 종료한 이유: 해결됨
마리노 (3,320 포인트) 님이 2015년 4월 18일 질문
마리노님이 2015년 4월 20일 closed

1개의 답변

0 추천
아주 오래전에 저도 겪었던 이슈인데 기억이 가물가물하네여

onNewIntent를 오버라이드 하면 해당 이벤트를 받았던걸로 기억되는데

한번 시도해보셔용
Gradler (109,780 포인트) 님이 2015년 4월 20일 답변
답변 감사합니다. DummyActivity에 i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                    | Intent.FLAG_ACTIVITY_SINGLE_TOP); 를 해주니 정상적으로 되는 것 같네요. 테스트 해보고 있는데 잘 됩니다.
...