首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用corss-在Android 11中使用taskAffinity的应用程序活动

不使用corss-在Android 11中使用taskAffinity的应用程序活动
EN

Stack Overflow用户
提问于 2020-11-10 13:08:04
回答 1查看 650关注 0票数 3

我有两个应用程序,应用程序A和应用程序B,现在我想从应用程序A开始一个应用程序B中的活动,这个活动的启动模式是“singleTask”。

顺序:活动X(应用程序A) ->活动Y(应用程序B) -->活动Z(应用程序B,launchMode=“singleTask”)

作为默认的AndroidManifest配置,任务管理器中将显示两个应用程序,我希望用户只能在任务管理器中看到App标签,所以当他们在任务之间切换时,不会单击App。在Android11( Android )之前,我使用下面的属性taskAffinity来解决这个问题。

将活动X和活动Z都添加到AndroidManifet.xml中

android:taskAffinity="com.abc.xxx”

因此,这些活动可以同时容纳一个活动任务。在Android 10中,它可以工作.

然而,不再适用于Android11了。和,我没有发现任何与这个场景相关的新特性。

如何使应用程序A的活动任务包含以ApplicationB为启动模式的singleTask的活动?让用户只看到任务管理器中的一个任务(ApplicationA)。

EN

回答 1

Stack Overflow用户

发布于 2020-11-10 13:52:58

你不能。而且你不应该。它以前起作用的原因是taskAffinity压倒了launchMode。很明显,他们在Android 11中改变了/修正了这一点。

如果一个Activity被声明为singleTask,那么这就告诉Android,Activity希望在它自己的任务中成为根Activity。当您启动这个Activity时,应该在一个新任务中启动它,而不是进入与执行启动的Activity相同的任务。

在早期版本的Android中,如果Activity具有与启动任务的根Activity相同的taskAffinity,则Activity将被启动到相同的任务中。这一点从未被清楚地记录下来,因此不清楚这是"bug“还是”特性“。看起来他们终于在Android 11中改变了/修复了这一点。

见我对这些相关问题的回答:

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

https://stackoverflow.com/questions/64769530

复制
相关文章

相似问题

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