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

PendingIntent사용할 때 같은 task가 아닌데도 액티비티가 겹치지가 않아요. (그림 있음)

0 추천

음 -_- 이클립스하다가 이번에 안드로이드 스튜디오 처음으로 만지고 있는데요..

이클립스랑 안스랑 같은 코드를 작성해도 결과가 다르게 나오기도 하나요?

 

액티비티가 세 개가 있습니다. 

1 - 앱 바탕 화면(아무것도 실행하지 않은 경우)

2 - 앱 메인 화면

3 - 팝업 화면 (푸시 받으면 팝업으로 띄워줄 거)

 

질문1질문2질문3 << 이렇게 세개가 있습니다.

 

지금 푸시받는 부분에 PendingIntent 띄우는 부분은 이렇게 되어있습니다.

Intent targetIntent = new Intent(ctx, PopupAct.class);
(putExtra 메소드들)

PendingIntent pIntent = PendingIntent.getActivity(ctx, CommonValues._REQCODE_PUSH_POPUP, targetIntent, PendingIntent.FLAG_ONE_SHOT);
pIntent.send();

 

메니페스트에서 PopupAct에 android:launchMode="singleInstance" 이렇게 했구요.

 

이대로 앱을 실행하고, 앱 메인을 연 상태에서 이 때 푸시를 받는다고 하면.. 제가 생각한 결과는

질문3

이 화면인데..

 

정작 나오는 건

질문4

이렇게 나오더라구요 ㅠㅠ.. 그리구 저 액티비티를 종료하면 앱 메인창이 나오구요.

 

ActivityManager를 사용해서 현재 실행중인 Task랑, 해당 Task의 최상단 액티비티를 가져오면

[0] > PopupAct (팝업창)

[1] > MainAct (앱 메인)

[2] > Launcher(홈 런처인 것 같습니다)

이렇게 세 개가 나오는데..

어째서 결과에는 앱 메인화면이 사라진 상태로 나오는 걸까요??

 

----------------아래는 제가 시도한 방법들인데요.. 전부 결과는 동일합니다.. -----------

targetIntent >> PendingIntent에 쓰는 intent

 

1. intent에 아무런 Flag 설정하지 않음 & 팝업액티비티 launchMode에 아무 값 설정하지 않음
2. intent에 FLAG_ACTIVITY_NEW_TASK 설정 & 팝업액티비티 launchMode에 아무 값 설정하지 않음
3. intent에 FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK 설정 & 팝업액티비티 launchMode에 아무 값 설정하지 않음
4. intent에 FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVIY_SINGLE_TOP | FLAG_ACTIVITY_CLEAR_TOP 설정 & 팝업액티비티 launchMode에 아무 값 설정하지 않음

5. 2~4까지 FLAG 그대로 하고 launchMode를 singleInstance로 해봄.
6. intent에 아무런 Flag 설정하지 않음 & launchMode를 singleInsance/singleTop/singleTask로 해봄
7. PendingIntent 말고 그냥 startActivity()로 해봄

 

아니 -_- 진짜 이거 왜이러는걸까요.. 

지금 다섯시간째 같은 거 반복하고 있으니까 미치겠네요, 이젠 뭐를 했는지 안했는지도 모르겠고..

이게 원래 이런건가요..?

익명사용자 님이 2016년 8월 2일 질문
제가 기존에는 gcm.jar 안에 있던 GCMBaseIntentService인가 그 클래스를 상속받았고, 이번에는 IntentService라는 클래스를 상속받아 사용하고 있는데요 -_-.. 두 클래스 간의 차이 때문에 이런 일이 일어나는 걸까요..? 하 ㅜㅜ

1개의 답변

0 추천
KEEP_SCREEN_ON 과 BLUR_BEHIND 플래그를 넣어보시죠
원펀치맨 (2,860 포인트) 님이 2016년 8월 3일 답변
답변 달아주셔서 감사합니다!
=-=;; 말씀하신대로 했는데 안됬는데..
어째 계속 하다 보니 갑자기 되네요..
근데 해당 플래그 빼도 되고..
제가 뭘 건드린 건 아닌데.. =0=
되긴됬지만 찜찜하네요 ㅠㅠㅋ


==================
아 ㅋㅋ 그리고 또 갑자기 안되요 ㅋㅋㅋ
왜 저장하고 실행 일일히 다 하는데도 적용이 안될까요 ㅠ
...