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

FLAG_ACTIVITY_NEW_TASK 로 생성한 Activity의 task에 다음 Activity를 쌓는 문제

0 추천

intentShowMsg = new Intent(getApplicationContext(), ShowMsgActivity.class);
                if (ShowMsgActivity.isShowMsgRun) {
                    intentShowMsg.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//켜졌을때 호출되는 부분입니다. 이 플래그로는 위로 쌓이지가 않습니다. 이 부분을 어떻게 손봐야 될거 같은데..
                } else {
                    intentShowMsg.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); //꺼졌을때 호출되는 부분입니다. 첫번째 New_Task로는 잘 생성됩니다.
                }
                intentShowMsg.putExtra("item_name", item_name);
                intentShowMsg.putExtra("msg_timeid", msg_timeid);
                intentShowMsg.putExtra("msg_text", msg_text);

                PendingIntent pie = PendingIntent.getActivity(getApplicationContext(), 0, intentShowMsg, PendingIntent.FLAG_ONE_SHOT);
                try {
                    pie.send();
                } catch (PendingIntent.CanceledException e) {
                    e.printStackTrace();
                }

 

아래는 해당 액티비티의 Manifest입니다.

       <activity
            android:name=".ShowMsgActivity"
            android:allowTaskReparenting="true"
            android:taskAffinity="kr.co.xxx.yyyapp.showMsg"
            android:theme="@android:style/Theme.Holo.Light.Dialog"/>

 

푸시알람을 받으면 다이얼로그 모양의 액티비티가 해당 어플이 onStop()이거나 onDestroy()(안 켜졌을때)시

나타나도록 하는데, 첫 번째 다이얼로그는 잘 나타납니다. 그런데 메세지가 한번 더 날라가서 두번째 창을 띄워야 될 때

해당 테스크에 스택으로 쌓이지도, 갱신이 되지도 않고, 그냥 첫번째 떴던 모양이 다시 나타날 뿐입니다. onNewIntent()가 호출되지도 않고요...

도와주십시오!

밀면 (630 포인트) 님이 2017년 9월 30일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...