问题解决记录:
环境: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的清单列表设置如图;