import android.content.Context; import android.telephony.TelephonyManager; /** * sim卡信息工具类,主要用来获取sim卡对应的imsi,以及判断移动客户所属网络运营商 */ public class IMSIUtil { private static final String TAG = IMSIUtil.class.getSimpleName(); /* * 标识移动客户所属移动网络 * */ public static final int NETWORK_UNKNOW = -1; //未知运营商 public static final int NETWORK_CHINA_MOBILE = 0; //中国移动 public static final int NETWORK_CHINA_UNICOM = 1; //中国联通 public static final int NETWORK_CHINA_TELECOM = 2; //中国电信 /** * 获取手机卡对应的imsi * @param context * @return */ public static String getIMSI(Context context) { TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); return manager.getSubscriberId(); } /** * 获取移动客户所属移动网络 * @param context * @return */ public static int getNetwork(Context context) { TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); String imsi = manager.getSubscriberId(); if(imsi !=null) { if(imsi.startsWith("46000") || imsi.startsWith("46002")) { //中国移动 return NETWORK_CHINA_MOBILE; } else if(imsi.startsWith("46001")) { //中国联通 return NETWORK_CHINA_UNICOM; } else if(imsi.startsWith("46003")) { //中国电信 return NETWORK_CHINA_TELECOM; } else { //未知运营商 return NETWORK_UNKNOW; } } return NETWORK_UNKNOW; } }