Android中TelephonyManager用法實例
本文實例講述了Android中TelephonyManager用法。分享給大家供大家參考,具體如下:
一、概述:
TelephonyManager類主要提供了一系列用于訪問與手機通訊相關的狀態(tài)和信息的get方法。其中包括手機SIM的狀態(tài)和信息、電信網(wǎng)絡的狀態(tài)及手機用戶的信息。在應用程序中可以使用這些get方法獲取相關數(shù)據(jù)。
TelephonyManager類的對象可以通過Context.getSystemService(Context.TELEPHONY_SERVICE)方法來獲得,需要注意的是有些通訊信息的獲取對應用程序的權(quán)限有一定的限制,在開發(fā)的時候需要為其添加相應的權(quán)限。
二、示例:
@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("電信網(wǎng)路國別:" + tm.getNetworkCountryIso()); // 電信網(wǎng)路國別
System.out.println("電信公司代號:" + tm.getNetworkOperator());
System.out.println("電信公司名稱:" + tm.getNetworkOperatorName());
// System.out.println(tm.getNetworkType());
// 行動網(wǎng)路類型
String[] networkTypeArray = { "UNKNOWN", "GPRS", "EDGE", "UMTS",
"CDMA", "EVDO 0", "EVDO A", "1xRTT", "HSDPA", "HSUPA", "HSPA" };
String networkType = networkTypeArray[tm.getNetworkType()];
System.out.println("行動網(wǎng)路類型:"+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("得到位置信息,主要是當前注冊小區(qū)的位置碼:"+tm.getCellLocation());
// System.out.println(tm.getNeighboringCellInfo());
// 手機漫游狀態(tài)
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相關內(nèi)容感興趣的讀者可查看本站專題:《Android調(diào)試技巧與常見問題解決方法匯總》、《Android開發(fā)入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android復選框CheckBox與開關按鈕Switch及單選按鈕RadioButton使用示例詳解
這篇文章主要介紹了Android復選框CheckBox與開關按鈕Switch及單選按鈕RadioButton使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-09-09
androidx下的fragment的lazy懶加載問題詳解
這篇文章主要介紹了androidx下的fragment的lazy懶加載問題詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
Android Bitmap的加載優(yōu)化與Cache相關介紹
這篇文章主要介紹了Android中性能優(yōu)化之Bitmap的加載優(yōu)化與Cache相關內(nèi)容介紹,文中介紹的很詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02

