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;
}
}