本文共 1019 字,大约阅读时间需要 3 分钟。
在国外,Omacp收到network Pin的时候,手机会显示输入Pin码,这不符合Omacp的测试规范。
这是因为,在国内,Omacp如果收到network pin,标准的sec值是“”,但是在国外,标准的sec值是0,所以如果针对国外项目,需要进行修改。如下:
请在OmacpReceiverService.java里面添加如下代码: 1.//new added begin if(sec!=null){ if (sec.equalsIgnoreCase("0")) { sec = ""; } }else return false;//这里return true或者false,也要看运营商的需求,有的运营商要求,sec=null的时候直接返回不处理,但是国内要求sec=null的时候,继续解析
//new added end // sec == "" indicates Network PIN, in this case, check SIM's IMSI, if // verify fails, then ignore this message if (sec != null && sec.equalsIgnoreCase("") && mac != null && !mac.equalsIgnoreCase("")) { 2.parseOmacpMessage方法 //new added begin if (sec.equalsIgnoreCase("0")) { sec = ""; } //new added end if (sec == null || mac == null || sec.equalsIgnoreCase("") || mac.equalsIgnoreCase("")) { value.put("pin_unlock", 1); 3.如果是单卡的话,并修改这里OmacpMessageSettingDetails.java: Public static String getSimImsi(int simId) { String imsi; TelephonyManagerEx mTelephonyManager = TelephonyManagerEx.getDefault(); Imsi = mTelephonyManager.getSubscriberId(sinId); }转载地址:http://cwedi.baihongyu.com/