AndroidはIMSI情報を取得する(モバイル、ユニコム、テレコム携帯電話カードと判断する)
4760 ワード
まず、携帯電話のIMSI号の上位3位460が国で、次いで2位002が中国移動、01が中国聯通、03が中国電信であることを知る必要があります.最初のステップは、まず携帯電話のIMSI番号を取得することです.コードは次の通りです.
または、
1 /**
2 * IMSI
3 * @param context
4 * @return
5 */
6 public static String getPhoneIMSI(Context context) {
7 TelephonyManager mTelephonyMgr = (TelephonyManager) context
8 .getSystemService(Context.TELEPHONY_SERVICE);
9 Log.v("LJC", "get getSubscriberId " + mTelephonyMgr.getSubscriberId());
10 return mTelephonyMgr.getSubscriberId();
11 }
または、
1 /**
2 *
3 *
4 * @return true false
5 */
6 public boolean checkSIMCarl(Context context) {
7 boolean value = false;
8 String IMSI = getPhoneIMSI(context);
9 if (IMSI != null) {
10 if (IMSI.startsWith("46003"))
11 value = true;
12 }
13 return value;
14 // IMSI 3 460 , 2 00 02 ,01 ,03 。
15 // if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
16 // ProvidersName = " ";
17 // } else if (IMSI.startsWith("46001")) {
18 // ProvidersName =" ";
19 // } else if (IMSI.startsWith("46003")) {
20 // ProvidersName = " ";
21 }