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

我有一个有多个活动的应用程序.在其中一个,我设置了一个警报.我按下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,具体取决于您的用例.您需要阅读文档以确定哪一个适合您.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...