活动从在活动堆栈顶部打开的通知开始

我有一个有多个活动的应用程序。 在其中一个,我设置了一个警报。 我按下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; 

您可能希望在清单文件中为对话活动设置android:taskAffinityandroid:launchMode="singleTask" 。 设置taskAffinity将导致该Activity在具有自己的堆栈的单独任务中启动。 singleTask可能或可能不完全适合您的应用程序,但您可能需要它或singleInstance具体取决于您的用例。 您需要阅读文档以确定哪一个适合您。