android 卡片 弹窗,SIM卡询问框是如何弹出的?(android 5.0)

本篇解决两个问题

* SIM卡询问框是如何弹出的?

* 通话中再添加通话为何不会再次弹出SIM卡询问框

PS:只考虑SIM卡账户的情况,不考虑有其他账户(sip等)的情况。

PPS:此现象仅针对QCOM某分支代码,AOSP是否如此未验证。

SIM卡询问框是如何弹出的?

SIM卡询问框弹出的条件

我们知道SIM卡是在SelecPhoneAccountDialogFragment.java中new出来并显示的,那么是如何走到这一步的呢?

跟踪拨打电话的流程我们知道在InCallActivity.java中的internalResolveIntent()方法中有一行

Call pendingAccountSelectionCall = CallList.getInstance().getWaitingForAccountCall();

这个pendingAccountSelectionCall 做什么的呢?

如果不为空的话,也即有一个PRI_DIAL_WAIT状态的call的话,就会调用SelectPhoneAccountDialogFragment.showAccountDialog()去显示一个选择框。

这里我们有一个疑问,我们还么有拨打出电话的时候为什么CallList里面就有Call了呢?

设置call的状态

如果你熟悉MO流程的话,那么你应该知道一个完整的MO流程是从dialer开始经telecom然后才到incallui的,而InCallActivity正是在InCallUI中的。因此我们推断,这个PRI_DIAL_WAIT的状态是在Telecomm中设置进去的。

经过跟踪流程发现,在CallsManager.j


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部