如何解决launchMode“ singleInstance”在android 9上表现奇怪
我有两个活动 CallActivity 和 MainActivity 。 CallActivity 的launchMode
设置为singleInstance
,并且 MainActivity 没有设置任何launchMode
。通过通话活动,我将结合使用Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_TASK_ON_HOME
来启动MainActivity。
预期的行为是:
在 MainActivity 中,我要在新任务中启动 CallActivity ,并在按回时,我想返回到 MainActivity 的现有实例。 >而无需停止 CallActivity 。每当通话运行时,用户都单击按钮,将现有的CallActivity任务置于前台,并且由于 MainActivity 处于其自己的任务中,因此应在回按下事件时返回主页。
我的手机上观察到的行为是:
让 CallActivity 称为 C ,将 MainActivity 称为 M ,任务状态如下>
- 打开应用程序[M]
- 启动C,[M,C]
- 从C,[M,C,M]上按回
根据Android documentation,singleInstance
应该在新任务中启动活动,并且它应该是该任务中存在的唯一活动。但是由于某种原因,我无法在手机上正确获得此行为。它可以按预期在其他设备上运行。
我的手机当前正在android 9版本上运行。我在运行Nougat,Oreo,Q(10)的手机上尝试了apk,并且运行良好。
是与Android有关的bug,还是需要结合使用Intent标志来达到结果?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。