Modem 向系统上报的无线指示共分为 7 个大类,总计约 70+ 种具体指示,分布如下:
1️⃣ 语音指示(Voice Indications)- 13 种
来自 IRadioVoiceIndication 接口:
1. callRing - 来电铃声(来电响铃指示)
2. callStateChanged - 通话状态变化
3. cdmaCallWaiting - CDMA 呼叫等待
4. cdmaInfoRec - CDMA 信息记录
5. cdmaOtaProvisionStatus - CDMA OTA 配置状态
6. currentEmergencyNumberList - 紧急号码列表
7. enterEmergencyCallbackMode - 进入紧急回调模式
8. exitEmergencyCallbackMode - 退出紧急回调模式
9. indicateRingbackTone - 指示回铃音
10. onSupplementaryServiceIndication - 补充服务指示
11. onUssd - USSD 消息
12. resendIncallMute - 重新发送通话中静音
13. srvccStateNotify - SRVCC 状态变化
14. stkCallControlAlphaNotify - STK 呼叫控制字母通知
15. stkCallSetup - STK 设置呼叫
2️⃣ 数据指示(Data Indications)- 5 种
来自 IRadioDataIndication 接口:
1. dataCallListChanged - 数据连接列表变化
2. keepaliveStatus - 保活会话状态
3. pcoData - PCO 数据(运营商配置数据)
4. unthrottleApn - 解除 APN 限流
5. slicingConfigChanged - 网络切片配置变化
3️⃣ 网络指示(Network Indications)- 14 种
来自 IRadioNetworkIndication 接口:
1. barringInfoChanged - 禁用信息变化
2. cdmaPrlChanged - CDMA PRL 版本变化
3. cellInfoList - 小区信息列表
4. currentLinkCapacityEstimate - 链路容量估计
5. currentPhysicalChannelConfigs - 物理信道配置
6. currentSignalStrength - 信号强度
7. imsNetworkStateChanged - IMS 网络状态变化
8. networkScanResult - 网络扫描结果
9. networkStateChanged - 网络状态变化
10. nitzTimeReceived - NITZ 时间接收
11. registrationFailed - 注册失败
12. restrictedStateChanged - 受限状态变化
13. suppSvcNotify - 补充服务通知
14. voiceRadioTechChanged - 语音无线技术变化
15. emergencyNetworkScanResult - 紧急网络扫描结果
4️⃣ SIM/卡指示(SIM Indications)- 10 种
来自 IRadioSimIndication 接口:
1. carrierInfoForImsiEncryption - 运营商 IMSI 加密信息
2. cdmaSubscriptionSourceChanged - CDMA 订阅源变化
3. simPhonebookChanged - SIM 电话簿变化
4. simPhonebookRecordsReceived - SIM 电话簿记录接收
5. simRefresh - SIM 刷新
6. simStatusChanged - SIM 状态变化
7. stkEventNotify - STK 事件通知
8. stkProactiveCommand - STK 主动命令
9. stkSessionEnd - STK 会话结束
10. subscriptionStatusChanged - 订阅状态变化
11. uiccApplicationsEnablementChanged - UICC 应用启用/禁用变化
5️⃣ 消息指示(Messaging Indications)- 6 种
来自 IRadioMessagingIndication 接口:
1. cdmaNewSms - 新 CDMA 短信
2. cdmaRuimSmsStorageFull - CDMA RUIM 短信存储满
3. newBroadcastSms - 新广播短信
4. newSms - 新 GSM 短信
5. newSmsOnSim - SIM 卡上新短信
6. newSmsStatusReport - 短信状态报告
7. simSmsStorageFull - SIM 短信存储满
6️⃣ Modem/调制解调器指示(Modem Indications)- 6 种
来自 IRadioModemIndication 接口:
1. hardwareConfigChanged - 硬件配置变化
2. modemReset - Modem 重启
3. radioCapabilityIndication - Radio 能力指示
4. radioStateChanged - Radio 状态变化
5. rilConnected - RIL 连接
6. onImeiMappingChanged - IMEI 映射变化
7️⃣ IMS 指示(IMS Indications)- 3 种
来自 IRadioImsIndication 接口:
1. onConnectionSetupFailure - IMS 连接设置失败
2. notifyAnbr - 接收网络速率建议 (ANBR)
3. triggerImsDeregistration - 触发 IMS 去注册
额外信息:Config 指示(Config Indications)
除了上述主要指示,还有 Config 相关指示:
来自 IRadioConfigIndication 接口:
1. simSlotsStatusChanged - SIM 槽状态变化
2. enabledLogicalSlots - 启用的逻辑槽变化
📊 总体分类
| 类别 | 指示数 | 主要功能 |
|---|---|---|
| Voice | 13 | 通话、CDMA、紧急呼叫、STK |
| Data | 5 | 数据连接、PCO、APN 限流 |
| Network | 15 | 网络注册、信号、小区信息 |
| SIM | 11 | SIM 卡、STK、订阅 |
| Messaging | 7 | SMS、广播短信 |
| Modem | 6 | Radio 状态、硬件配置、RIL |
| IMS | 3 | IMS 连接、速率建议 |
| 总计 | ~60+ | — |
🔑 关键点
-
HIDL vs AIDL:
- HIDL 1.0-1.6:所有指示通过单一
IRadioIndication接口 - AIDL:指示分为 7 个专项接口,实现了模块化设计
- HIDL 1.0-1.6:所有指示通过单一
-
指示触发时机:
- 某些指示需要确认(如 SMS)
- 某些指示只在状态变化时触发(如 networkStateChanged)
- 某些指示可能定期触发(如 signalStrength)
-
Wake Lock 策略:在 HIDL 中,每个指示都关联一个 wake lock 策略(
WAKE_PARTIAL、DONT_WAKE等)