android代码判断当前手机的手机号码是属于移动、联通、还是电信的

转自:http://blog.csdn.net/xiaoliluote/article/details/50236805

在经过几年的经验累积之后,我终于决定整理一下曾经遇到的各种问题,给各位走在Android开发路上的朋友一点帮助,更多相关问题,请访问我的博客:http://blog.csdn.NET/xiaoliluote 如果您对该问题有更多的解决方式,请留言,验证之后我会编辑博客


/** SIM卡是中国移动 */
public static boolean isChinaMobile(Context context) {
String imsi = getSimOperator(context);
if (imsi == null) return false;
return imsi.startsWith(“46000”) || imsi.startsWith(“46002”) || imsi.startsWith(“46007”);
}

/** SIM卡是中国联通 */
public static boolean isChinaUnicom(Context context) {
String imsi = getSimOperator(context);
if (imsi == null) return false;
return imsi.startsWith(“46001”);
}

/** SIM卡是中国电信 */
public static boolean isChinaTelecom(Context context) {
String imsi = getSimOperator(context);
if (imsi == null) return false;
return imsi.startsWith(“46003”);
}

private static String getSimOperator(Context context) {
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
return tm.getSubscriberId();
}

    原文作者:Dijkstra算法
    原文地址: https://blog.csdn.net/bsmmaoshenbo/article/details/53200807
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞