方式SingleTask 启动Intent设置 不能如愿打开需要的Activity

来源:互联网 发布:c语言fabs函数用法 编辑:程序博客网 时间:2024/05/01 23:00
问题解决记录:
环境: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的清单列表设置如图;
0 0
原创粉丝点击