微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Android 11中无法通过taskAffinity使用Corss应用程序活动

如何解决在Android 11中无法通过taskAffinity使用Corss应用程序活动

我有两个应用程序,即应用程序A和应用程序B,现在我想从应用程序A中启动应用程序B中的一个活动,该活动的启动模式为“单任务”。

订单: 活动X(App A)———>活动Y(App B)———>活动Z(应用B,launchMode =“ singleTask”)

作为认的AndroidManifest配置,任务管理器中将显示两个App,我希望用户只能在任务管理器中看到App A标签,因此当他们在任务之间切换时,不要单击AppB。Android11之前Android R),我使用下面的属性taskAffinity解决了这个问题。

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

android:taskAffinity="com.abc.xxx”

因此,这些活动都可以包含在一项活动任务中。 在Android 10中,它可以正常工作。

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

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

解决方法

不能。而且你不应该。它之前起作用的原因是<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote-bs3.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.min.css"> <div class="container"> <textarea name="summernote" id="summernote" cols="30" rows="10"> </textarea> </div> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>taskAffinity上胜过(覆盖)launchMode。显然,他们已经更改/修复了Android 11中的问题。

如果将Activity声明为singleTask,那么这将告诉Android Activity要成为其自身任务中的根Activity。启动此Activity时,应在一个新任务中启动它,而不是与Activity进行启动时处于同一任务中。

在早期版本的Android中,如果Activity与启动任务的根Activity具有相同的taskAffinity,则Activity将被启动到同一任务中。从来没有清楚地记录下来,因此也不清楚这是“ bug”还是“功能”。看来他们终于在Android 11中对此进行了更改/修复。

请参阅我对这些相关问题的回答:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。