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