获取手机IMSI,区分移动联通 电信,4G问题

1.TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

imsi = mTm.getSubscriberId();//获取imsi

2.根据imsi 区分是移动 联通还是电信。

3.

if(imsi!=null){  

if(imsi.startsWith("46000") || imsi.startsWith("46002")){
//因为移动网络编号46000下的IMSI已经用完,所以虚拟了一个46002编号,134/159号段使用了此编号  
 //中国移动  
 }else if(imsi.startsWith("46001")){  
    //中国联通  
}else if(imsi.startsWith("46003")){  
      //中国电信  
   }  
4.在4G 开启的情况下  电信的imsi 是发生变化的,移动联通本人还没测试过,但是让电信坑了一把,本来做好的工程在4G下一直不能使用,反复测试最终是4G 电信imsi不是46003,好像是460012 具体需要测试 忘记了

你可能感兴趣的:(获取手机IMSI,区分移动联通 电信,4G问题)