Android中與電話功能相關的類是 TelephonyManager ,此類中定義了很多常量,以下分類說明
擷取以下資訊需要在AndroidManifest.xml中指定許可權
一、 資料連線狀態
擷取資料連線狀態:int getDataState()
擷取資料活動狀態:int getDataActivity()
常用的有這幾個:
int DATA_ACTIVITY_IN 資料連線狀態:活動,正在接受資料
int DATA_ACTIVITY_OUT 資料連線狀態:活動,正在發送資料
int DATA_ACTIVITY_INOUT 資料連線狀態:活動,正在接受和發送資料
int DATA_ACTIVITY_NONE 資料連線狀態:活動,但無資料發送和接受
int DATA_CONNECTED 資料連線狀態:已串連
int DATA_CONNECTING 資料連線狀態:正在串連
int DATA_DISCONNECTED 資料連線狀態:斷開
int DATA_SUSPENDED 資料連線狀態:暫停
二、 移動網路類型
擷取網路類型:int getNetworkType()
常用的有這幾個:
int NETWORK_TYPE_CDMA 網路類型為CDMA
int NETWORK_TYPE_EDGE 網路類型為EDGE
int NETWORK_TYPE_EVDO_0 網路類型為EVDO0
int NETWORK_TYPE_EVDO_A 網路類型為EVDOA
int NETWORK_TYPE_GPRS 網路類型為GPRS
int NETWORK_TYPE_HSDPA 網路類型為HSDPA
int NETWORK_TYPE_HSPA 網路類型為HSPA
int NETWORK_TYPE_HSUPA 網路類型為HSUPA
int NETWORK_TYPE_UMTS 網路類型為UMTS
在中國,聯通的3G為UMTS或HSDPA,移動和聯通的2G為GPRS或EGDE,電信的2G為CDMA,電信的3G為EVDO
三、 手機制式類型
擷取手機制式:int getPhoneType()
int PHONE_TYPE_CDMA 手機制式為CDMA,電信
int PHONE_TYPE_GSM 手機制式為GSM,移動和聯通
int PHONE_TYPE_NONE 手機制式未知
四、 SIM卡狀態
擷取SIM卡狀態:int getSimState()
int SIM_STATE_ABSENT SIM卡未找到
int SIM_STATE_NETWORK_LOCKED SIM卡網路被鎖定,需要Network PIN解鎖
int SIM_STATE_PIN_REQUIRED SIM卡PIN被鎖定,需要User PIN解鎖
int SIM_STATE_PUK_REQUIRED SIM卡PUK被鎖定,需要User PUK解鎖
int SIM_STATE_READY SIM卡可用
int SIM_STATE_UNKNOWN SIM卡未知
五、其它資訊
String getSimCountryIso()
返回SIM卡供應商的國家代碼
String getNetworkCountryIso()
返回ISO標準的國家碼,即國際長途區號
String getSimOperator()
String getNetworkOperator()
返回MCC+MNC代碼 (SIM卡電訊廠商國家代碼和電訊廠商網路代碼)(IMSI)
String getSimOperatorName()
String getNetworkOperatorName()
返回移動網路電訊廠商的名字(SPN)
String getSubscriberId()
返回IMSI,即國際移動使用者識別碼
String getDeviceId()
如果是GSM網路,返回IMEI;如果是CDMA網路,返回MEID
String getSimSerialNumber()
返回SIM卡的序號(IMEI)
String getLine1Number()
返回手機號碼,對於GSM網路來說即MSISDN
boolean isNetworkRoaming()
返回手機是否處於漫遊狀態
解釋:
IMSI是國際移動使用者識別碼的簡稱(International Mobile Subscriber Identity)
IMSI共有15位,其結構如下:
MCC+MNC+MIN
MCC:Mobile Country Code,移動國家碼,共3位,中國為460;
MNC:Mobile NetworkCode,移動網路碼,共2位
在中國,移動的代碼為電00和02,聯通的代碼為01,電信的代碼為03
合起來就是(也是Android手機中APN設定檔中的代碼):
中國移動:46000 46002
中國聯通:46001
中國電信:46003
舉例,一個典型的IMSI號碼為460030912121001
IMEI是International Mobile Equipment Identity (國際行動裝置標識)的簡稱
IMEI由15位元字組成的”電子串號”,它與每台手機一一對應,而且該碼是全世界唯一的
其組成為:
1. 前6位元(TAC)是”型號核准號碼”,一般代表機型
2. 接著的2位元(FAC)是”最後裝配號”,一般代表產地
3. 之後的6位元(SNR)是”串號”,一般代表生產順序號
4. 最後1位元(SP)通常是”0″,為檢驗碼,目前暫備用