美文网首页Android Telephony
android Telephony学习 --- 第二篇 Phon

android Telephony学习 --- 第二篇 Phon

作者: tingsky | 来源:发表于2018-09-28 14:13 被阅读0次

    先看下android7.0项目的phone关系图


    android7.0 phone关系图.png

    通过关系图可以看到Phone.java是核心:
    class Phone extends Handler implements PhoneInternalInterface
    GsmCdmaPhone, SipPhoneBase, ImsPhoneBase都继承Phone。

    这里着重看下GsmCdmaPhone的逻辑,其应该是GsmPhone和CdmaPhone的联合处理,比如:

        @Override
        protected Connection dialInternal(String dialString, UUSInfo uusInfo, int videoState,
                                          Bundle intentExtras)
                throws CallStateException {
            if (isPhoneTypeGsm()) {
                // Only look at the Network portion for mmi
                String networkPortion = PhoneNumberUtils.extractNetworkPortionAlt(newDialString);
                GsmMmiCode mmi =
                        GsmMmiCode.newFromDialString(networkPortion, this, mUiccApplication.get());
                if (mmi == null) {
                        ......
                        return mCT.dial(newDialString, uusInfo, intentExtras);
                } 
            } else {
                return mCT.dial(newDialString);
            }
        }
    

    可以在代码中看到很多关于isPhoneTypeGsm(),其是gsm和cdma不同功能的分别处理,可以注意下。

    相关文章

      网友评论

        本文标题:android Telephony学习 --- 第二篇 Phon

        本文链接:https://www.haomeiwen.com/subject/njcpoftx.html