为了账号安全,请及时绑定邮箱和手机立即绑定

从通知中恢复应用程序和堆栈

从通知中恢复应用程序和堆栈

catspeake 2019-08-03 15:03:56
从通知中恢复应用程序和堆栈我想恢复我的应用程序从状态栏通知完全相同的方式,当用户点击它的图标在启动器。也就是说:我希望堆栈处于与用户离开之前相同的状态。在通知中设置挂起的意图时,问题在于它总是针对特定的活动。我不想要这个。我需要恢复应用程序,就像启动程序一样。因此,如果用户在活动A中,我希望恢复活动A。如果他已经从活动A中启动了活动B,那么我希望在用户点击通知时显示B,然后恢复堆栈,以便当用户在B中单击后退按钮时恢复A。还有几个类似题目的问题,但没有一个能解决我的问题。
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

在Android启动应用程序时,只需使用与Android相同的意图过滤器:

final Intent notificationIntent = new Intent(context, YourActivity.class);notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

就像Intent你创建是为了打开你的Activity在通知栏中,与用于启动应用程序的android相同,之前打开的Activity将显示,而不是创建一个新的。




查看完整回答
反对 回复 2019-08-05
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

创建一个活动,然后设置类别和相应的标志.这就是我的工作方式,我不得不这样做,因为我这样做是为了支持API LVL 8

intent.addCategory(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setClass(this, YourActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT|
                Intent.FLAG_ACTIVITY_SINGLE_TOP);PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 
                   PendingIntent.FLAG_UPDATE_CURRENT);

在“仙女宣言”中

android:launchMode="singleTask"

所以最关键的是Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT以及在舱单上设置的线。

希望它能对其他人有所帮助。




查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 419 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信