获取手机运营商

本文介绍了一种通过读取手机SIM卡的IMSI码来识别手机运营商的方法。IMSI码由MCC、MNC及MSIN三部分组成,通过解析MNC字段可以判断出手机号码归属的运营商。文中提供了具体的代码实现,展示了如何使用TelephonyManager获取IMSI码并判断运营商。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值