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()가 호출되지도 않고요...
도와주십시오!