【发布时间】:2014-03-26 12:40:10
【问题描述】:
我正在创建一个接收通知的应用程序。
在打开该通知时,我正在启动活动(使用标志 FLAG_ACTIVITY_NEW_TASK 创建)
按返回键时,我正在启动主应用程序活动(带有标志FLAG_ACTIVITY_CLEAR_TOP)。
现在再次按下返回键(用于关闭应用程序)。
问题是:当我去最近的任务并打开该应用程序时,通知活动启动,而应用程序的主要活动应该启动。
谁能给我任何建议?
当我在我的 BroadcastReceiver 扩展类中收到通知时添加到 sn-p 下方 -
Intent new_intent = new Intent(context, NotificationActivity.class);
new_intent.putExtra(NotificationActivity.EXTRA_NOTIFICATION_ID, id);
new_intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(new_intent);
在 NotificationActivity 的返回键上,我正在启动主要活动 -
Intent new_intent = new Intent(context, MainActivity.class);
new_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(new_intent);
现在,当我按返回键从应用程序返回并再次从最近的任务启动应用程序时,它会显示 NotificationActivity。虽然它应该显示应用程序的 MainActivity。有什么我想念的吗?
【问题讨论】:
-
请给我们更多信息,特别是发布一些相关的代码。
-
请在您的问题中添加更多代码并对其进行编辑,不要将其发布在 cmets 中。
-
我几乎可以理解你的问题,除了最后一句:“现在,当我通过返回键返回应用程序并再次从最近的任务启动应用程序时,它会显示 NotificationActivity。虽然它应该显示 MainActivity应用程序有什么我遗漏的吗?”你能澄清一下你的意思吗?
-
当我从那个 FCM 接收服务方法中触发 PendingIntent 时,同样的事情发生在我身上。如果我从后台服务中触发相同的操作,则后台堆栈不会损坏,即在最近的任务选项卡中,呈现的最后一个活动实际上是我用来关闭应用程序的最后一个活动。从 FCM 触发的任何结果?
标签: android