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 具体需要测试 忘记了