Android:如何从后台活动中弹出模态活动,该活动仍在后台



当收到通知时,主要活动在后台(不显示)

我希望它弹出一个模态/对话框活动,但主活动总是显示为模态的背景。。。

基本上我所做的就是使用

onReceiveNotificatioin(){
          Intent mIntent = new Intent(context, PopupActivity.class);
          mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
          mIntent.putExtra("msg", alert);
          startActivity(mIntent);
}

如何防止主要活动也显示出来?

您总是可以通过设置标志FLAG_ACTIVITY_CLEAR_TASKFLAG_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不起作用,主活动总是显示在后台中

最新更新