读取SIM卡相关信息

关键代码:

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);

   String      imei = tm.getDeviceId();       //取出IMEI  

   String      tel = tm.getLine1Number();     //取出MSISDN,很可能为空  

   String      iccid =tm.getSimSerialNumber();  //取出ICCID  

    String     imsi =tm.getSubscriberId();     //取出IMSI 

 

要添加权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

 

ICCID:Integrate circuit card identity 集成电路卡识别码(固化在SIM卡中)

ICCID为IC卡的唯一识别号码,共有20位数字组成,

其编码格式为:XXXXXX 0MFSS YYGXX XXXXX。

分别介绍如下: 前六位运营商代码:中国移动的为:898600;898602 ,中国联通的为:898601,中国电信898603

判断代码:

 String short_str=iccid.substring(0, 6);

if(short_str.equals("898600")||short_str.equals("898602")){
String chanel="移动";
}else if(short_str.equals("898601")){
String  chanel="电信";
}else if(short_str.equals("898603")){
String  chanel="联通";
}

posted @ 2015-03-06 11:59  种花小哥  阅读(525)  评论(0编辑  收藏  举报