我有一个有多个活动的应用程序.在其中一个,我设置了一个警报.我按下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:taskAffinity
和
android:launchMode="singleTask"
.设置taskAffinity将导致该Activity在具有自己的堆栈的单独任务中启动. singleTask可能或可能不完全适合您的应用程序,但您可能需要它或singleInstance,具体取决于您的用例.您需要阅读文档以确定哪一个适合您.