Android中判断用户运营商是移动联通还是电信

 时间:2026-02-16 11:21:59

1、首先我们需要知道手机IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。那么第一步就是先获取手机IMSI号码:代码如下

2、TelephonyManager telMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

String imei = telMgr.getDeviceId();

3、然后整个代码连起来就是这样的:

4、/**

 * 返回用户手机运营商名称  * @param telephonyManager  * @return

*/

 public String getProvidersName(TelephonyManager telephonyManager) {

String ProvidersName = null;

telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

String IMSI; // 返回唯一的用户ID;就是这张卡的编号神马的

IMSI = telephonyManager.getSubscriberId();

if (IMSI == null)

return "unkwon";

// IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。其中

if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {

    ProvidersName = "中国移动";

         } else if (IMSI.startsWith("46001")) {

     ProvidersName ="中国联通";

        } else if (IMSI.startsWith("46003")) {

    ProvidersName = "中国电信";

}try {    

 ProvidersName = URLEncoder.encode("" + ProvidersName, "UTF-8");

} catch (UnsupportedEncodingException e) {

    // TODO Auto-generated catch block     e.printStackTrace();

}     return ProvidersName;

}

  • 大众桑塔纳脚垫选择规则及保注意事项
  • 王者荣耀90帧修改机型
  • 光纤收发常见故障及检测方法有哪些?
  • 欧美女星拼诱惑 18条惊艳透视裙
  • 怎么做美味的牛肉派
  • 热门搜索
    王者荣耀实名认证怎么修改 海米怎么吃 画画用英语怎么说 怎么去除体内湿气 pornhub怎么看 怎么看银行卡余额 道奇酷威怎么样 怎么算排卵期 fork怎么读 芪怎么读