当收到通知时,主要活动在后台(不显示)
我希望它弹出一个模态/对话框活动,但主活动总是显示为模态的背景。。。
基本上我所做的就是使用
onReceiveNotificatioin(){
Intent mIntent = new Intent(context, PopupActivity.class);
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mIntent.putExtra("msg", alert);
startActivity(mIntent);
}
如何防止主要活动也显示出来?
您总是可以通过设置标志FLAG_ACTIVITY_CLEAR_TASK
和FLAG_ACTIVITY_NEW_TASK
从堆栈中删除以前的活动。例如:
onReceiveNotificatioin(){
Intent mIntent = new Intent(context, PopupActivity.class);
mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
mIntent.putExtra("msg", alert);
startActivity(mIntent);
}
我最后使用了"singleInstance"启动模式,因为弹出窗口需要在自己的任务中,不会有其他活动叠加在上面,我认为这很好。
我不知道为什么"singlethaask"和Intent.FLAG_ACTIVITY_NEW_TASK不起作用,主活动总是显示在后台中