当我收到通知时,我的应用程序和活动都在我的最近应用程序列表中。当我点击通知时,我希望通知的意图得到遵守。在我的例子中,我想重新启动活动(蛮力)并传递新的意图:所以,完成然后重新创建。我正在读关于FLAG_ACTIVITY_NEW_TASK
和FLAG_ACTIVITY_SINGLE_TOP
这样的标签,但是我不太了解它们,不知道如何强迫我的活动“完成然后重新创建”,而且,哦,问题中的活动是MainActivity。
GcmListenerService内部的代码片段使用
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
用于发送通知意图
交替
如果我使用onNewIntent
,事情会变得很复杂,因为可能会显示DialogFragments,等等,而且我必须清除所有的东西。这就是为什么在我看来,完成然后重新创作似乎是最简单的解决方案。
发布于 2015-11-14 22:38:46
意图标志FLAG_ACTIVITY_CLEAR_TOP应该产生所需的行为。任务和后台堆栈的文档在“使用意图标志”一节中这样说:
如果指定活动的启动模式是“标准”,它也将从堆栈中移除,并在其位置启动一个新实例以处理传入的意图。这是因为当启动模式是“标准”时,总是为新的意图创建一个新实例。
顶部更详细地描述了相同的行为。
https://stackoverflow.com/questions/33713430
复制相似问题