Android可以透過TelephonyManager來取得電信資訊

1.首先需要先在AndroidManifest.xml中開放權限

1<uses-permission android:name="android.permission.READ_PHONE_STATE" />

2.利用TelephonyManager取得資訊

1//以下為片段程式碼
2text = (TextView) findViewById( R.id.test );
3         
4//取得Context.TELEPHONY_SERVICE
5TelephonyManager telManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
6//手機號碼
7String lineNumber = telManager.getLine1Number();
8//手機 IMEI
9String imei = telManager.getDeviceId();
10//手機 IMSI
11String imsi = telManager.getSubscriberId();
12//手機漫遊狀態
13String roamingStatus = telManager.isNetworkRoaming() ? "漫遊中" : "非漫遊";
14//電信網路國別
15String country = telManager.getNetworkCountryIso();
16//電信公司代號
17String operator = telManager.getNetworkOperator();
18//電信公司名稱
19String operatorName = telManager.getNetworkOperatorName();
20//行動網路類型
21String[] networkTypeArray = {"UNKNOWN", "GPRS", "EDGE", "UMTS", "CDMA", "EVDO 0", "EVDO A", "1xRTT", "HSDPA", "HSUPA", "HSPA"};
22String networkType = networkTypeArray[telManager.getNetworkType()];
23//行動通訊類型
24String[] phoneTypeArray = {"NONE", "GSM", "CDMA"};
25String phoneType = phoneTypeArray[telManager.getPhoneType()];
26 
27text.setText("手機號碼:" + lineNumber + "\n" +
28        "手機 IMEI:" + imei + "\n" +
29        "手機 IMSI:" + imsi + "\n" +
30        "手機漫遊狀態:" + roamingStatus + "\n" +
31        "電信網路國別:" + country + "\n" +
32        "電信公司代號:" + operator + "\n" +
33        "電信公司名稱:" + operatorName + "\n" +
34        "行動網路類型:" + networkType + "\n" +
35        "行動通訊類型:" + phoneType + "\n"
36        );
Categories: Android