国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中TelephonyManager類的方法實例分析

2020-04-11 11:25:05
字體:
來源:轉載
供稿:網友

本文實例講述了Android中TelephonyManager類的方法。分享給大家供大家參考。具體如下:

TelephonyManager類主要提供了一系列用于訪問與手機通訊相關的狀態和信息的get方法。其中包括手機SIM的狀態和信息、電信網絡的狀態及手機用戶的信息。在應用程序中可以使用這些get方法獲取相關數據。

TelephonyManager類的對象可以通過Context.getSystemService(Context.TELEPHONY_SERVICE)方法來獲得,需要注意的是有些通訊信息的獲取對應用程序的權限有一定的限制,在開發的時候需要為其添加相應的權限。

以下列出TelephonyManager類所有方法及說明:

package com.ljq.activity;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.telephony.CellLocation;import android.telephony.NeighboringCellInfo;import android.telephony.TelephonyManager;public class TelephonyManagerActivity extends Activity {  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);    /**     * 返回電話狀態     *      * CALL_STATE_IDLE 無任何狀態時      * CALL_STATE_OFFHOOK 接起電話時     * CALL_STATE_RINGING 電話進來時      */    tm.getCallState();    //返回當前移動終端的位置    CellLocation location=tm.getCellLocation();    //請求位置更新,如果更新將產生廣播,接收對象為注冊LISTEN_CELL_LOCATION的對象,需要的permission名稱為ACCESS_COARSE_LOCATION。    location.requestLocationUpdate();    /**     * 獲取數據活動狀態     *      * DATA_ACTIVITY_IN 數據連接狀態:活動,正在接受數據     * DATA_ACTIVITY_OUT 數據連接狀態:活動,正在發送數據     * DATA_ACTIVITY_INOUT 數據連接狀態:活動,正在接受和發送數據     * DATA_ACTIVITY_NONE 數據連接狀態:活動,但無數據發送和接受     */    tm.getDataActivity();    /**     * 獲取數據連接狀態     *      * DATA_CONNECTED 數據連接狀態:已連接     * DATA_CONNECTING 數據連接狀態:正在連接     * DATA_DISCONNECTED 數據連接狀態:斷開     * DATA_SUSPENDED 數據連接狀態:暫停     */    tm.getDataState();    /**     * 返回當前移動終端的唯一標識     *      * 如果是GSM網絡,返回IMEI;如果是CDMA網絡,返回MEID     */    tm.getDeviceId();    //返回移動終端的軟件版本,例如:GSM手機的IMEI/SV碼。    tm.getDeviceSoftwareVersion();    //返回手機號碼,對于GSM網絡來說即MSISDN    tm.getLine1Number();    //返回當前移動終端附近移動終端的信息    List<NeighboringCellInfo> infos=tm.getNeighboringCellInfo();    for(NeighboringCellInfo info:infos){      //獲取鄰居小區號      int cid=info.getCid();      //獲取鄰居小區LAC,LAC: 位置區域碼。為了確定移動臺的位置,每個GSM/PLMN的覆蓋區都被劃分成許多位置區,LAC則用于標識不同的位置區。      info.getLac();      info.getNetworkType();      info.getPsc();      //獲取鄰居小區信號強度       info.getRssi();    }    //返回ISO標準的國家碼,即國際長途區號    tm.getNetworkCountryIso();    //返回MCC+MNC代碼 (SIM卡運營商國家代碼和運營商網絡代碼)(IMSI)    tm.getNetworkOperator();    //返回移動網絡運營商的名字(SPN)    tm.getNetworkOperatorName();    /**     * 獲取網絡類型     *      * NETWORK_TYPE_CDMA 網絡類型為CDMA     * NETWORK_TYPE_EDGE 網絡類型為EDGE     * NETWORK_TYPE_EVDO_0 網絡類型為EVDO0     * NETWORK_TYPE_EVDO_A 網絡類型為EVDOA     * NETWORK_TYPE_GPRS 網絡類型為GPRS     * NETWORK_TYPE_HSDPA 網絡類型為HSDPA     * NETWORK_TYPE_HSPA 網絡類型為HSPA     * NETWORK_TYPE_HSUPA 網絡類型為HSUPA     * NETWORK_TYPE_UMTS 網絡類型為UMTS     *      * 在中國,聯通的3G為UMTS或HSDPA,移動和聯通的2G為GPRS或EGDE,電信的2G為CDMA,電信的3G為EVDO     */    tm.getNetworkType();    /**     * 返回移動終端的類型     *      * PHONE_TYPE_CDMA 手機制式為CDMA,電信     * PHONE_TYPE_GSM 手機制式為GSM,移動和聯通     * PHONE_TYPE_NONE 手機制式未知     */    tm.getPhoneType();    //返回SIM卡提供商的國家代碼    tm.getSimCountryIso();    //返回MCC+MNC代碼 (SIM卡運營商國家代碼和運營商網絡代碼)(IMSI)    tm.getSimOperator();    tm.getSimOperatorName();    //返回SIM卡的序列號(IMEI)    tm.getSimSerialNumber();    /**     * 返回移動終端     *      * SIM_STATE_ABSENT SIM卡未找到     * SIM_STATE_NETWORK_LOCKED SIM卡網絡被鎖定,需要Network PIN解鎖     * SIM_STATE_PIN_REQUIRED SIM卡PIN被鎖定,需要User PIN解鎖     * SIM_STATE_PUK_REQUIRED SIM卡PUK被鎖定,需要User PUK解鎖     * SIM_STATE_READY SIM卡可用     * SIM_STATE_UNKNOWN SIM卡未知     */    tm.getSimState();    //返回用戶唯一標識,比如GSM網絡的IMSI編號    tm.getSubscriberId();    //獲取語音信箱號碼關聯的字母標識。     tm.getVoiceMailAlphaTag();    //返回語音郵件號碼    tm.getVoiceMailNumber();    tm.hasIccCard();    //返回手機是否處于漫游狀態    tm.isNetworkRoaming();    // tm.listen(PhoneStateListener listener, int events) ;    //解釋:    //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″,為檢驗碼,目前暫備用  }}

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 小金县| 玉溪市| 辛集市| 大安市| 义马市| 抚州市| 光泽县| 炉霍县| 夏河县| 隆昌县| 兰溪市| 中方县| 嘉鱼县| 凯里市| 自治县| 蒲城县| 永定县| 惠水县| 富宁县| 顺义区| 武鸣县| 罗城| 封丘县| 牙克石市| 麻栗坡县| 台南市| 卢龙县| 铁力市| 灯塔市| 平阳县| 陈巴尔虎旗| 长寿区| 哈尔滨市| 武威市| 吉隆县| 丹阳市| 化州市| 成都市| 长武县| 通山县| 抚远县|