gpt4 book ai didi

android - 在 Android 11 中无法使用 taskAffinity 进行跨应用程序 Activity

转载 作者:行者123 更新时间:2023-12-05 03:47:43 27 4
gpt4 key购买 nike

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

顺序:Activity X (App A) ————> Activity Y (App B) ————> Activity Z (App B, launchMode=“singleTask”)

作为默认的AndroidManifest配置,任务管理器中会显示两个App,我希望用户在任务管理器中只能看到App A标签,这样当他们在任务之间切换时就不会点击App B。在Android 11之前( Android R),我使用如下属性 taskAffinity 来解决这个问题。

Activity X和Activity Z,都在AndroidManifet.xml中添加

android:taskAffinity="com.abc.xxx"

所以这些 Activity 都可以包含在一个 Activity 任务中。 在 Android 10 中,它可以正常工作。

然而,它在Android11中不再起作用。而且,我没有发现任何与此场景相关的新功能。

如何让 ApplicationA 的 Activity 任务容纳启动模式为 singleTask 的 ApplicationB 的 Activity?让用户在任务管理器中只看到一个任务(ApplicationA)。

最佳答案

你不能。你不应该。它之前工作的原因是 taskAffinity胜过(压倒)launchMode .显然他们已经在 Android 11 中更改/修复了这个问题。

如果 Activity声明为 singleTask然后这告诉 Android Activity想成为根Activity在自己的任务中。当你启动这个 Activity , 它应该在新任务中启动,而不是与 Activity 相同的任务进行发射。

在早期版本的 Android 中,Activity如果 Activity 将被启动到相同的任务中有相同的taskAffinity作为根Activity的启动任务。这从来没有被清楚地记录下来,因此不清楚这是一个“错误”还是一个“功能”。看起来他们终于在 Android 11 中更改/修复了这个问题。

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

关于android - 在 Android 11 中无法使用 taskAffinity 进行跨应用程序 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64769530/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com