Android開發之獲取SIM卡資訊和手機號碼
阿新 • • 發佈:2018-11-26
獲取SIM卡資訊和手機號碼的工具類,記錄一下方便以後使用
import android.content.Context; import android.telephony.TelephonyManager; /** * Created by WangJinyong on 2018/3/31. * 獲取SIM卡資訊和手機號碼 */ public class PhoneInfoUtils { private static String TAG = "PhoneInfoUtils"; private TelephonyManager telephonyManager; //移動運營商編號 private String NetworkOperator; private Context context; public PhoneInfoUtils(Context context) { this.context = context; telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); } //獲取sim卡iccid public String getIccid() { String iccid = "N/A"; iccid = telephonyManager.getSimSerialNumber(); return iccid; } //獲取電話號碼 public String getNativePhoneNumber() { String nativePhoneNumber = "N/A"; nativePhoneNumber = telephonyManager.getLine1Number(); return nativePhoneNumber; } //獲取手機服務商資訊 public String getProvidersName() { String providersName = "N/A"; NetworkOperator = telephonyManager.getNetworkOperator(); //IMSI號前面3位460是國家,緊接著後面2位00 02是中國移動,01是中國聯通,03是中國電信。 // Flog.d(TAG,"NetworkOperator=" + NetworkOperator); if (NetworkOperator.equals("46000") || NetworkOperator.equals("46002")) { providersName = "中國移動";//中國移動 } else if (NetworkOperator.equals("46001")) { providersName = "中國聯通";//中國聯通 } else if (NetworkOperator.equals("46003")) { providersName = "中國電信";//中國電信 } return providersName; } public String getPhoneInfo() { TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); StringBuffer sb = new StringBuffer(); sb.append("\nLine1Number = " + tm.getLine1Number()); sb.append("\nNetworkOperator = " + tm.getNetworkOperator());//移動運營商編號 sb.append("\nNetworkOperatorName = " + tm.getNetworkOperatorName());//移動運營商名稱 sb.append("\nSimCountryIso = " + tm.getSimCountryIso()); sb.append("\nSimOperator = " + tm.getSimOperator()); sb.append("\nSimOperatorName = " + tm.getSimOperatorName()); sb.append("\nSimSerialNumber = " + tm.getSimSerialNumber()); sb.append("\nSubscriberId(IMSI) = " + tm.getSubscriberId()); return sb.toString(); } }