Android 不插SIM卡,手机不能拨打紧急电话;2g+gsm配置才支持112紧急拨号

DESCRIPTION

不插SIM卡,手机不能拨打紧急电话

Root Cause

手机没有写入合法的IMEI;或者当地的某个运营商不支持紧急电话,而手机正好选上了这个运营商;或者当地的某个运营商不支持无SIM卡的紧急电话,而手机正好选上了这个运营商

SOLUTION

检查手机是否有写入合法的IMEI

用对比机切换到同一制式(与测试机同为2G或者同为3G),同样不插卡看对比机是否能拨打,

Note:由于不插卡情况下手机会忽略运营商而只按照信号强度选择小区,不同的手机由于硬件差异可能选择上不同的小区,所以在拿做对比测试的时候,可以多换几个地点来测,在每个地点都重新开关机

再试。另外可以通过察看log中消息MSG_ ID_ MMI NW_ ATTACH_ IND来知道手机连接到的网络。

Example

深圳移动2G支持紧急电话,联通2G不支持拨打紧急电话,手机不插卡情况下在有些地区会选择上移动小区就能打紧急电话,在另-些地区会选择 上联通小区就不能打紧急电话。

紧急电话机制:

1.目前MTK设置必须在GSM网络。

2.根据实际测试只有移动2g网络支持112

modem频段不支持2g将无法拨打;

如果没有配置gsm,就不要在设置什么 gsm only + gsm preferr

vendor/mediatek/proprietary/packages/services/Telephony/

src/com/mediatek/services/telephony$ EmergencyNumberUtils.java

private static void parseEccListPreference() {

sGsmOnlyEccMap.clear();

sGsmPreferredEccMap.clear();

sCdmaPreferredEccMap.clear();

捕捉gsm only和prefer 的异常,需注释掉

} catch (FileNotFoundException e) {

log("Ecc List Preference file not found");

// sGsmOnlyEccMap.put("OM", "112,000,08,118");
//sGsmOnlyEccMap.put("OP01", "112");
//sGsmPreferredEccMap.put("OM", "911,999");
//sGsmPreferredEccMap.put("OP01", "000,08,118,911,999");
//sGsmPreferredEccMap.put("OP20", "999");

sCdmaPreferredEccMap.put("OM", "110,119,120,122");

sCdmaPreferredEccMap.put("OP20", "110,119,120,122,911");

} catch (XmlPullParserException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

}

相关推荐
-SOLO-2 小时前
备份apk 工具
android
私人珍藏库7 小时前
【Android】BotHub-多模型AI机器人聚合库-内置免费模型
android·人工智能·智能手机·app·工具·多功能
普马萨特8 小时前
Wi-Fi 扫描频率限制与 Android 演进全解析
android
张拭心8 小时前
Android 17 新特性:后台音频交互限制加强
android·前端
张拭心8 小时前
Android 17 新特性:ProfilingManager 新触发器
android·前端
张拭心8 小时前
Android 17 新特性:MessageQueue 无锁实现
android·前端
brycegao8 小时前
如何搭建标准化 Git 工具流,保障 Android 团队代码质量
android·ci/cd
AI科技星8 小时前
数术江湖·全卷合集 - 硬核江湖・数理史诗
android·人工智能·架构·概率论·学习方法
五月君_9 小时前
安卓也支持了!微信链接 Claude Code 保姆级教程
android·微信
柚鸥ASO优化9 小时前
一篇讲透安卓ASO!开发者千万别只盯着iOS了
android·ios·aso优化