Android:点击通知时始终启动热门活动

Dmi*_*ank 0 notifications android android-activity

编辑:请注意:我完全重新解释了我的问题.

我的应用程序有两个Activites:一个.Activity AMAIN.因此,应用程序启动,屏幕上出现A. 用户按下按钮,屏幕上出现新的Activity B.

所以,现在有在我的"回栈" 2个活动:一个.

现在我按"Home"键,然后点击我的应用程序在启动器上的图标:Activity B出现在屏幕上(而不是A),只要它是我的任务中的顶级活动.

现在问:我怎样才能Intent同样打开目前最重要Activity的任务?

我需要它用于Notification:当用户点击我的时Notification,Activity此任务的顶部应出现在屏幕上,而不是指定的任务.

我尝试了许多Intent标志,比如SINGLE_TOP和其他标志,但我仍然无法得到我需要的东西.

有谁知道解决方案?

Dmi*_*ank 9

好吧,几天后花了几个小时,我找到了解决方案:

Intent notificationIntent = new Intent(this, MainActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
Run Code Online (Sandbox Code Playgroud)

这就是启动器启动应用程序的方式,它也适用于通知Intent.