慢吞云雾缓吐愁 发表于 2025-4-19 06:11:20

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


不插SIM卡,手机不能拨打紧急电话
Root Cause
手机没有写入合法的IMEI;大概当地的某个运营商不支持紧急电话,而手机正好选上了这个运营商;大概当地的某个运营商不支持无SIM卡的紧急电话,而手机正好选上了这个运营商

检查手机是否有写入合法的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();
        }
    } 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Android 不插SIM卡,手机不能拨打紧急电话;2g+gsm配置才支持112紧急拨号