編輯:關於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程序設計有所幫助。
我推薦的網站,都是我在學習Android 開發過程中發現的好網站,給初學者一些建議,少走一些彎路。Android Developers作為一個Android 開發者,官網
在android開發中,經常用到去解析xml文件,常見的解析xml的方式有一下三種:SAX、Pull、Dom解析方式。最近做了一個android版的CSDN閱讀器,用到了
一,工程圖。二,效果圖。三,代碼。RootViewController.h#import <UIKit/UIKit.h>@interface RootView
Android增量更新技術在很多公司都在使用,網上也有一些相關的文章,但大家可能未必完全理解實現的方式,本篇博客,我將一步步的帶大家實現增量更新。為什麼需要增量更新?當我