两种修改方法

(1)找modem管理员在modem中修改插卡情况下的紧急号码

注:在modem模块给出说明

(2)在代码中屏蔽掉插卡情况下的代码,使插卡不插卡都走同一个流程比如v856 movistar的修改方法

在frameworks/base/telephony/java/android/telephony/目录下的PhoneNumberUtils.java文件isEmergencyNumber方法

public static boolean isEmergencyNumber(String number){        StringplusNumber = null;        StringnumberPlus = null;        // If thenumber passed in is null, just return false:        if(number == null) return false;        // Stripthe separators from the number before comparing it        // to the list.        number =extractNetworkPortionAlt(number);        //retrieve the list of emergency numbers        // checkread-write ecclist property first        Stringnumbers = SystemProperties.get("ril.ecclist");if(!TextUtils.isEmpty(numbers)) {            //searches through the comma-separated list for a match,            //return true if one is found.            for(String emergencyNum : numbers.split(",")) {               plusNumber = "+" + emergencyNum;                numberPlus= emergencyNum + "+";               if (emergencyNum.equals(number)                    || plusNumber.equals(number)                    || (number.startsWith(numberPlus) &&!number.contains("*") && !number.contains("#"))) {                    return true;                }            }        }        // thenread-only ecclist property since old RIL only uses this        numbers =SystemProperties.get("ro.ril.ecclist");         if(!TextUtils.isEmpty(numbers)) {            //searches through the comma-separated list for a match,            //return true if one is found.            for(String emergencyNum : numbers.split(",")) {               plusNumber = "+" + emergencyNum;               numberPlus = emergencyNum + "+";                if (emergencyNum.equals(number)                    || plusNumber.equals(number)                    || (number.startsWith(numberPlus) &&!number.contains("*") && !number.contains("#"))) {                   return true;                }            }            // nomatches found against the list!           //注释掉return语句使得不卡插卡和插卡情况下都走同一流程           //return false;        }        //noecclist system property, so use our own list.        /*Modified by ALPS00005641 add 000,08,110,118,119,999 */        final inteccNo = 9;//zengtao 20111009 start add 133 122 105 以下流程就是不插卡情况下的紧急号码的判断流程        String[]emergencyNumList = {"112", "911","000","08", "110", "999", "118","119", "133"};if(!(TelephonyManager.getDefault().getSimState() == TelephonyManager.SIM_STATE_ABSENT)){//判断是否有插入SIM卡           emergencyNumList[0]= "112";           emergencyNumList[1]= "911";           emergencyNumList[2]= "133";           emergencyNumList[3]= "133";           emergencyNumList[4]= "133";           emergencyNumList[5]= "133";           emergencyNumList[6]= "133";           emergencyNumList[7]= "133";           emergencyNumList[8]= "133";}//end        for (inti = 0; i < eccNo; i++) {           plusNumber = "+" + emergencyNumList[i];           numberPlus = emergencyNumList[i] + "+";            if(emergencyNumList[i].equals(number)               || plusNumber.equals(number)               || (number.startsWith(numberPlus) &&!number.contains("*") && !number.contains("#"))) {               return true;            }        }        returnfalse;}


更多相关文章

  1. Android中屏蔽 电源键长按、Home键、Home长按
  2. Android高频面试专题 - 基础篇(一)Activity
  3. 常用控件的使用方法(参考书籍'第一行代码')
  4. Android动态化方案
  5. android 访问webservice问题
  6. android通过Location API显示地址信息的实现方法
  7. Android中在一个应用中去启动另外一个应用
  8. Android(安卓)Wifi方法大全
  9. Android-webview和js脚本语言交互的时候怎么获取js方法的返回值

随机推荐

  1. ReactNative踩坑大全
  2. cocos2dx编译HelloWorld
  3. Android(安卓)Studio 工程报错问题积累总
  4. Android(安卓)指定销毁一个Activity
  5. Android(安卓)oom pthread_create (1040K
  6. Android(安卓)P 横屏 部分应用宽度未占满
  7. android --相机使用详解概述
  8. 2011年沈大海讲师Android的新浪微博客户
  9. Android:使用JDBC链接MySQL数据库
  10. Android(安卓)中Activity,Window和View之