Android中的Telephony學習筆記(2)

來源:互聯網
上載者:User

標籤:android   framework層   telephony   

上一篇文章中學習了android.provider中Telephony類。這一篇文章學習android.telephony包中的類,這些類是android提供給上層調用的API。


為監測基本電話資訊提供的一系列的API。例如網路類型,串連狀態,操作電話號碼的工具類。



一共25個類。下面逐一介紹:


TelephonyManager


處理裝置上的電話語音資訊,應用可以使用這些方法檢測電話的狀態,處理使用者的資訊類型。也可以註冊一個監聽器接受電話狀態改變的通知。該類不能直接執行個體化,可以通過

Context.getSystemService(Context.TELEPHONY_SERVICE)
來獲得該執行個體。如果想訪問受保護的資訊,需要在設定檔裡配置相應的許可權才能訪問。


Constants
  • ACTION_PHONE_STATE_CHANGE:當call狀態改變時發送一個廣播意圖。
  • ACTION_RESPOND_VIA_MESSAGE:當使用者使用簡訊拒接時,發送一個意圖電泳sms app去傳送簡訊
  • CALL_STATE_IDLE:裝置狀態:no activity
  • CALL_STATE_OFFHOOK:裝置狀態:掛斷
  • CALL_STATE_RINGING:裝置狀態:有撥打電話
  • DATA_ACTIVITY_DORMANT:資料連線處於活動狀態,但是物理串連時關閉的
  • DATA_ACTIVITY_IN:資料連線處於活動狀態,當前接受IP PPP流量
  • DATA_ACTIVITY_INOUT:接受和發送IP PPP流量
  • DATA_ACTIVITY_NONE:資料連線處於活動狀態,但是無流量
  • DATE_ACTIVITY_OUT:資料連線屬於串連狀態,發送IP PPP流量
  • DATA_CONNECTED:資料連線狀態:已串連
  • DATA_CONNECTING:正在建立資料連線
  • DATA_DISCONNECTED:資料連線斷開
  • DATA_SUSPENDED:資料連線中斷
  • EXTRA_INCOMING_NUMBER:當call狀態改變時發送意圖裡麵包含的來電電話號碼
  • EXTRA_STATE:來電狀態
  • NETWORK_TYPE_1xRTT:2G網路
  • NETWORK_TYPE_CDMA:碼分多址協議
  • NETWORK_TYPE_EDGE:即增強型資料速率GSM演化技術,GSM過渡到3G的協議
  • NETWORK_TYPE_EHRPD:CDMA過渡到LTE的協議
  • NETWORK_TYPE_EVDO_0:EVDO_0網路類型
  • NETWORK_TYPE_EVDO_A:EVDO_A網路類型
  • NETWORK_TYPE_EVDO_B:EVDO_B網路類型
  • NETWORK_TYPE_GPRS:GRPS(通用分組無線服務技術)網路類型
  • NETWORK_TYPE_HSDPA:HSDPA網路類型
  • NETWORK_TYPE_HSPAP:HSPAP(高速下行分組接入,3.5G)網路類型
  • NETWORK_TYPE_HSUPA:HSUPA(高速上行鏈路分組接入)網路類型
  • NETWORK_TYPE_IDEN:IDEN(叢集通訊系統)網路類型
  • NETWORK_TYPE_LTE:LTE(長期演化技術,UMTS的進步版)網路類型
  • NETWORK_TYPE_UMTS:UMTS(通用移動通訊系統)網路類型
  • NETWORK_TYPE_UNKNOWN:未知網路類型
  • PHONE_TYPE_CDMA:CDMA格式的手機
  • PHONE_TYPE_GSM:GSM格式的手機
  • PHONE_TYPE_NONE:沒有手機射頻
  • PHONE_TYPE_SIP:基於SIP協議的手機
  • SIM_STATE_ABSENT:SIM卡狀態:尋找不到
  • SIM_STATE_NETWORK_LOCKED:SIM狀態:鎖定,需要網路數字 PIN 碼解鎖
  • SIM_STATE_PIN_REQUIRED:SIM狀態:鎖定,需要使用者數字 PIN 碼解鎖
  • SIM_STATE_PUK_REQUIRED:SIM卡狀態:鎖定,需要解鎖卡解鎖
  • SIM_STATE_READY:SIM卡狀態:準備(Ready)
  • SIM_STATE_UNKNOWN:SIM卡狀態:未知(Unknown)


Methods


List<CellInfo>   getAllCellInfo()


得到所有電元資訊


int getCallState()


當前通話狀態


CellLocation getCellLocation()


擷取當前裝置的位置


int getDataActivity()


資料連線中的activity的類型


int getDataState()


資料連線的狀態


String getDeviceId()


裝置的ID號


String getDeviceSoftwareVersion()


裝置的軟體版本


String getGroupIdLevel1()


GSM手機的groupId level1


String getLine1Number()


擷取1號線的電話號碼,例如GSM手機的MSISDN。需要許可權:READ_PHONE_STATE.


String getMmsUAProfUrl()


簡訊代理商的URL


String getMmsUserAgent()


簡訊代理商


List<NeighboringCellInfo> getNeighboringCellInfo()


擷取所有鄰電元資訊


String getNetworkCountryIso()


網路電訊廠商的國家碼MCC


String getNetworkOperator()


網路註冊電訊廠商的MCC+MNC碼


String getNetworkOperatorName()


網路電訊廠商的名稱


String getNetworkType()


網路類型


String getPhoneType()


手機類型


String getSimCountryIso()


ISO提供的國家代碼


String getSimOperator()


擷取SIM卡5位或6位移動國家碼MCC+移動網路碼MNC


String getSimOperatorName()


得到服務提供者的名稱


String getSimSerialNumber()


得到sim串口號


String getSimState()


得到sim卡的狀態


String getSubscriberId()


唯一使用者標識ID。代表使用者的身份,例如GSM手機的IMSI號


String getVoiceMailAlphaTag()


得到與語音信箱號碼有關的字母標識符,需要許可權READ_PHONE_STATE;


String getVoiceMailNumber()


得到語音信箱的號碼


boolean hasIccCard()


是否含有ICC卡


boolean isNetworkRoaming()


是否漫遊


void listen(PhoneStateListenter,int)


註冊一個監聽器,當指定的手機狀態改變時,接收該手機發出的通知









相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.