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

时间:2011-01-07 17:15:39

标签: android android-activity notifications

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

1 个答案:

答案 0 :(得分:13)

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