Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中TelephonyManager用法實例

Android中TelephonyManager用法實例

編輯:關於Android編程

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

一、概述:

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

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

二、示例:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 讀取sim卡
    TelephonyManager tm = (TelephonyManager) this
        .getSystemService(Context.TELEPHONY_SERVICE);
    //
    // String tel = tm.getLine1Number(); // 取出MSISDN,很可能為空
    // String iccid = tm.getSimSerialNumber(); // 取出ICCID
    // String imsi = tm.getSubscriberId(); // 取出IMSI
    System.out.println(tm.getCallState());
    System.out.println(tm.getDataActivity());
    System.out.println(tm.getDataState());
    System.out.println("得到設備的ID,IMEI或者MEID:" + tm.getDeviceId());
    System.out.println("軟件版本:"+tm.getDeviceSoftwareVersion());
    if (tm.getLine1Number()!=null) {
      System.out.println("電話號碼:"+tm.getLine1Number());
    } else {
      System.out.println("電話號碼為空");
    }
    System.out.println("電信網路國別:" + tm.getNetworkCountryIso()); // 電信網路國別
    System.out.println("電信公司代號:" + tm.getNetworkOperator());
    System.out.println("電信公司名稱:" + tm.getNetworkOperatorName());
    // System.out.println(tm.getNetworkType());
    // 行動網路類型
    String[] networkTypeArray = { "UNKNOWN", "GPRS", "EDGE", "UMTS",
        "CDMA", "EVDO 0", "EVDO A", "1xRTT", "HSDPA", "HSUPA", "HSPA" };
    String networkType = networkTypeArray[tm.getNetworkType()];
    System.out.println("行動網路類型:"+networkType);
//   System.out.println(tm.getPhoneType());
    // 行動通訊類型
    String[] phoneTypeArray = {"NONE", "GSM", "CDMA"};
    String phoneType = phoneTypeArray[tm.getPhoneType()];
    System.out.println("行動通訊類型:"+phoneType);
    System.out.println("sim國家代碼:"+tm.getSimCountryIso());
    System.out.println(tm.getSimOperator());
    System.out.println(tm.getSimOperatorName());
    // System.out.println(tm.getSimSerialNumber());
    System.out.println(tm.getSimState());
    // System.out.println(tm.getSubscriberId()); // 手機 IMSI
    System.out.println(tm.getVoiceMailAlphaTag());
//    System.out.println("得到位置信息,主要是當前注冊小區的位置碼:"+tm.getCellLocation());
    // System.out.println(tm.getNeighboringCellInfo());
    // 手機漫游狀態
    String roamingStatus = tm.isNetworkRoaming() ? "漫游中" : "非漫游";
    System.out.println(roamingStatus);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

更多關於Android相關內容感興趣的讀者可查看本站專題:《Android調試技巧與常見問題解決方法匯總》、《Android開發入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》

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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved