首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FLAG_ACTIVITY_NEW_TASK和taskAffinity将数据发送到活动中

使用FLAG_ACTIVITY_NEW_TASK和taskAffinity将数据发送到活动中
EN

Stack Overflow用户
提问于 2015-06-22 22:29:15
回答 1查看 607关注 0票数 1

我的要求几乎与这个极好的问题相同:

FRONT

但是,我使用的是FLAG_ACTIVITY_NEW_TASK,因为我的每个主要活动都需要作为一个新任务运行。在我的测试中,在本例中没有调用onNewIntent (即使活动已经在运行)。,那么如何将数据传递给它呢?

我可以调用onNewIntent,方法是将launchMode设置为singleTask,然后运行这个bug:Android: bug in launchMode="singleTask"? -> activity stack not preserved

我想要做到:

  1. 如果不存在实例,则创建一个新实例作为新任务,并传递数据。(这个部分已经起作用了,我可以在onCreate中获取数据)
  2. 如果实例已经存在,则将任务(整个任务,而不仅仅是根/一个活动)放在最前面,并且:
  3. 如果任务当前显示了一个子活动,则不执行任何操作。
  4. 如果任务没有显示子活动(仅显示根/主活动),则处理传递的数据并更新UI

我有一个带有按钮的任务,"Go to Event",单击它需要打开/启动Calendar任务并突出显示一个特定的事件(但是如果在上面显示了另一个活动,Calendar将忽略该请求)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-23 16:14:27

感谢@qbix的评论,我找到了这个答案:

添加Intent.FLAG_ACTIVITY_SINGLE_TOP --当与FLAG_ACTIVITY_NEW_TASK结合时,它似乎是无效的,但它是有效的。它实现了我上面列出的所有行为,并且只有在活动位于堆栈顶部时才触发onNewIntent,所以我甚至不必担心检测和忽略它。

这里有更多的细节,尽管这个问答与PendingIntent和通知有关:

Intent from notification does not have extras

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30990903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档