Android可以透過TelephonyManager來取得電信資訊
1.首先需要先在AndroidManifest.xml中開放權限
1 | < uses-permission android:name = "android.permission.READ_PHONE_STATE" /> |
2.利用TelephonyManager取得資訊
2 | text = (TextView) findViewById( R.id.test ); |
5 | TelephonyManager telManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); |
7 | String lineNumber = telManager.getLine1Number(); |
9 | String imei = telManager.getDeviceId(); |
11 | String imsi = telManager.getSubscriberId(); |
13 | String roamingStatus = telManager.isNetworkRoaming() ? "漫遊中" : "非漫遊" ; |
15 | String country = telManager.getNetworkCountryIso(); |
17 | String operator = telManager.getNetworkOperator(); |
19 | String operatorName = telManager.getNetworkOperatorName(); |
21 | String[] networkTypeArray = { "UNKNOWN" , "GPRS" , "EDGE" , "UMTS" , "CDMA" , "EVDO 0" , "EVDO A" , "1xRTT" , "HSDPA" , "HSUPA" , "HSPA" }; |
22 | String networkType = networkTypeArray[telManager.getNetworkType()]; |
24 | String[] phoneTypeArray = { "NONE" , "GSM" , "CDMA" }; |
25 | String phoneType = phoneTypeArray[telManager.getPhoneType()]; |
27 | text.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" |