本文主要是介绍方式SingleTask 启动Intent设置 不能如愿打开需要的Activity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题解决记录:环境:APP主界面的启动方式SingleTask.
当主界面在前台的时候,全局Application接收到广播,打开SingleTask本APP 语音通话界面,一切操作正常.
问题出现:
当App主界面在后台的时候,全局Application接收到广播,打开了SingleTask的 语音通话界面,执行了onCreate(),然后就执行onDestory(),最终显示 主界面(MainActivity).语音通话呼叫功能被中断.
修复过程:
在广播设置打开语音通话界面的Intent,
在原来加的 intent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);基础上添加了 intent.setFlag(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);就使得即使主界面MainActivity在后台,也可以正常的弹出通话界面,等待接听.
原因猜测:
不添加 Intent.FLAG_ACTIVITY_MULTIPLE_TASK时,由于MainActivity 的弹出,所以把栈顶的Activity都结束掉了,包括语音通话Activity
两个Activity的清单列表设置如图;
这篇关于方式SingleTask 启动Intent设置 不能如愿打开需要的Activity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!