获取手机运营商

1获取手机运营商现在主流的方法就读取手机的sim卡的IMSI码。它是sim卡的唯一标识,IMSI估计移动用户识别码,是区别。(International Mobile Subscriber Identification Number),它储存在SIM卡中,SIMI卡由MCC、MNC、MSIN组成,其中MCC为移到国家号码,由三位数字组成,用于标识移动客户所属的国家,我国为460、MNC为我网络ID,由2位数字组成,用于标识客户所归属的移动网络,中国移到为00,中国联通为01,中国电信为03。NSIN为客户识别码,采用等长11位数字组成,唯一标识国内GSM移动通信网络中的用户,所有要区分是联通还是移动,只需要取得SIM卡中的MNC字段即可。移到的00字段占用完了,因此借用了02字段因此这2个都是移动用户。

下面就给出我获取的代码:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TelephonyManager telmanager= (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        String st=telmanager.getSubscriberId();
        if(st!=null)
        {
        	if(st.startsWith("46000")||st.startsWith("46002"))//移到的46000字段占用完了,因此借用了460002字段因此这2个都是移动用户。
        		System.out.println("中国移到");
        	else if(st.startsWith("46001"))
        		System.out.println("中国联通");
        	else if(st.startsWith("46003"))
        		System.out.println("中国电信");
        	
        }
    }

}

  

原文地址:https://www.cnblogs.com/bokeofzp/p/4760918.html