android4.0网络服务状态或者信号量强度上报过程(RIL Framework Java 部分)

本文详细介绍了Android 4.0中网络状态变化时,从Modem主动上报信息到最终通知应用程序的过程。涉及到的关键组件包括RILReceiver、GsmServiceStateTracker、GSMPhone、TelephonyRegistry等,详细阐述了网络状态变化的处理步骤,以及如何通过ServiceState更新信号强度,并最终反馈给用户界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  网络服务状态或者网络信号量是通过Modem 主动上报信息来实现的,相关类有ServiceState,GsmServiceStateTracker,GSMPhone,TelephonyRegistry等。
  1.比如现在所处的网络发生变化,RILReciver 收到上报信息,处理 RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED 信息。
   case RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED:
                if (RILJ_LOGD) unsljLog(response);

                mVoiceNetworkStateRegistrants
                    .notifyRegistrants(new AsyncResult(null, null, null));
            break;
  2.经分析 mVoiceNetworkStateRegistrants,是由 GsmServiceStateTracker 构造的。   
    public GsmServiceStateTracker(GSMPhone phone) {
        ...
        cm.registerForVoiceNetworkStateChanged(this, EVENT_NETWORK_STATE_CHANGED, null);
        ...
    }
  3.消息交给 EVENT_NETWORK_STATE_CHANGED 处理。GsmServiceStateTracker 处理 EVENT_NETWORK_STATE_CHANGED 消息
     case EVENT_NETWORK_STATE_CHANGED:
                pollState();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值