hellohyp 2017-10-14 08:12 采纳率: 0%
浏览 802

求助:Connection类里面的onCreateOutgoingConnection方法的重写问题

对于android的拨号流程,网上有很多帖子分析,基本上都会有如下的描述:
“如果是MO,会调用ConnectionService端的onCreateOutgoingConnection(),这个方法会被TelephonyConnectionService重写,最终在TelephonyConnection里面执行,TelephonyConnectionService是最终要实例化的类”
问题是,我真没有发现TelephonyConnection是在哪里被实例化的,没有实例化的话,为什么ConnectionService里面的onCreateOutgoingConnection会在TelephonyConnection里面执行

  • 写回答

1条回答 默认 最新

  • Tauren2614 2017-10-16 02:45
    关注

    TelephonyConnection具体实现分为GSM跟CDMA两个
    packages/services/Telephony/src/com/android/services/telephony/GsmConnection.java
    packages/services/Telephony/src/com/android/services/telephony/CdmaConnection.java

        private TelephonyConnection createConnectionFor(
                Phone phone,
                com.android.internal.telephony.Connection originalConnection,
                boolean isOutgoing) {
            TelephonyConnection returnConnection = null;
            int phoneType = phone.getPhoneType();
            if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
                returnConnection = new GsmConnection(originalConnection);
            } else if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
                boolean allowMute = allowMute(phone);
                returnConnection = new CdmaConnection(
                        originalConnection, mEmergencyTonePlayer, allowMute, isOutgoing);
            }
            if (returnConnection != null) {
                // Listen to Telephony specific callbacks from the connection
                returnConnection.addTelephonyConnectionListener(mTelephonyConnectionListener);
            }
            return returnConnection;
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题