You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何AT指令在不同设备上结果不同?双卡设备来电SIM识别疑问

蓝牙HFP下双卡设备来电SIM识别的AT指令问题及解决方案

问题根源分析

  • HFP规范里,AT+CNUM的定义是返回设备存储的号码信息,并没有强制要求关联当前通话的SIM卡。不同厂商的实现逻辑差异才是结果不一致的核心原因,和Android版本、蓝牙版本没有直接必然联系:
    • 像Oppo F11 Pro这类设备,来电时会动态把AT+CNUM的返回值更新为当前通话对应的SIM号码;
    • 但Pixel 6a、OnePlus 10T、iPhone 12 Pro这些设备,只会返回预设的默认SIM信息,或者所有SIM的静态存储内容,不会随当前通话切换返回值。

可行替代方案

1. 解析AT+CLCC的扩展信息

不少Android设备的HFP实现会在AT+CLCC(当前通话列表)的返回结果里附加SIM卡标识,格式大概是这样:

+CLCC: 1,0,4,0,"1234567890",129,"SIM1"

其中最后一段的SIM1或SIM2就是当前通话使用的SIM卡标识。需要注意不同厂商的扩展格式可能有差异,得针对性测试解析。

2. 监听来电时的AT+CLIP指令

有来电触发时,蓝牙设备会收到+CLIP(来电显示)指令,部分Android设备会在该指令的扩展字段里携带SIM信息,例如:

+CLIP: "1234567890",129,"","",0,"SIM2"

这个属于厂商自定义实现,需要先确认目标设备是否支持。

3. iOS设备的特殊处理

iOS对HFP的AT指令限制很严格,AT+CNUM仅返回默认SIM的信息,且几乎没有自定义扩展字段。目前没法通过AT指令直接识别来电对应的SIM卡,只能考虑通过来电语音提示、系统通知这类间接方式判断。

最后提个醒:

  • AT+CNUM的行为差异全看厂商怎么实现,和Android/蓝牙版本无直接关联;
  • 优先尝试解析AT+CLCC或AT+CLIP的扩展字段,这是获取当前通话SIM信息最可行的路子;
  • iOS设备别死磕AT指令了,得换其他思路。

内容的提问来源于stack exchange,提问作者Aryaveer Chaudhary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:03:32