我的要求几乎与这个极好的问题相同:
但是,我使用的是FLAG_ACTIVITY_NEW_TASK,因为我的每个主要活动都需要作为一个新任务运行。在我的测试中,在本例中没有调用onNewIntent (即使活动已经在运行)。,那么如何将数据传递给它呢?
我可以调用onNewIntent,方法是将launchMode设置为singleTask,然后运行这个bug:Android: bug in launchMode="singleTask"? -> activity stack not preserved
我想要做到:
我有一个带有按钮的任务,"Go to Event",单击它需要打开/启动Calendar任务并突出显示一个特定的事件(但是如果在上面显示了另一个活动,Calendar将忽略该请求)。
发布于 2015-06-23 16:14:27
感谢@qbix的评论,我找到了这个答案:
添加Intent.FLAG_ACTIVITY_SINGLE_TOP --当与FLAG_ACTIVITY_NEW_TASK结合时,它似乎是无效的,但它是有效的。它实现了我上面列出的所有行为,并且只有在活动位于堆栈顶部时才触发onNewIntent,所以我甚至不必担心检测和忽略它。
这里有更多的细节,尽管这个问答与PendingIntent和通知有关:
https://stackoverflow.com/questions/30990903
复制相似问题