我有一个包含多项活动的应用程序。在其中一个,我设置了一个警报。我按下HOME按钮。触发警报时,会显示通知。点击通知时,我开始一个类似对话的活动(@android:style / Theme.Dialog)。虽然我在桌面屏幕上,Android会打开我的上一个活动,然后在此基础上显示我的对话式活动。我只想在用户所在的任何地方展示我的对话活动。
有没有人知道出了什么问题?
Intent notificationIntent = new Intent(this, NotificationActivity.class);
notificationIntent.putExtra(Constants.EXTRA_ALERT_MESSAGE, contentText);
PendingIntent contentIntent = PendingIntent.getActivity(this, Constants.PENDING_INTENT_REQ_DIALOG, notificationIntent, 0);
no.contentIntent = contentIntent;
答案 0 :(得分:13)
您可能希望在清单文件中为对话活动设置android:taskAffinity
和android:launchMode="singleTask"
。设置taskAffinity
将导致Activity
在具有自己的堆栈的单独任务中启动。 singleTask
可能或可能不完全适合您的应用,但根据您的使用情况,您可能需要它或singleInstance
。您需要阅读文档以确定哪一个适合您。