在backPressed上通知启动的SingleInstance活动来自应用程序

时间:2015-10-26 12:09:02

标签: android android-activity notifications activity-lifecycle launchmode

我的应用中有3个活动:A,B,C。 A发射B,B发射C. C的启动模式是SingleInstance(在清单中声明)。

步骤: 1.当我在C上时,我会在通知栏中显示通知,点击其中启动相同的屏幕。 我按回家把我的应用程序放在后台。 3.当我点击通知时,C就会启动。

问题:当我按回C时,我退出了我的应用程序。相反,我应该回到我的应用程序的早期屏幕,即B

注意:我已将C声明为singleInstance,因为我不希望在通知时启动多个C实例。我已经处理了相同的实例,其中 OnNewIntent( ),通过刷新UI和相应的数据。

提前致谢!

1 个答案:

答案 0 :(得分:1)

对活动C使用standard的默认启动模式。

在用于为您的通知构建PendingIntent的意图中,添加标记FLAG_ACTIVITY_SINGLE_TOP

Intent intent = new Intent(this, ActivityC.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

将恢复活动C的现有实例,并调用onNewIntent()方法。