2014年4月3日

【Android】取得手機IMEI碼與通訊服務內容TelephonyManager IMEI

各位Android安卓開發者您們好 ^^

小黑人今天要與大家分享的主題是"手機IMEI唯一碼""手機通訊資訊",簡單來說就是讀取手機的硬體編號資訊通訊服務資訊,像手機的IMEI碼就是手機這個裝置的唯一碼,也就是一個很好辨別使用者身分的ID,像註冊資訊時要避免重複註冊時IMEI碼就是很方便的辨別資訊,當然其他的通訊資訊像手機漫遊狀態電信傳輸類型都是可以取得判斷的,那要怎麼查看這些資訊呢,就讓我們繼續看下去吧!

1. 首先要取得手機硬體資訊與通訊資訊必須在AndroidManifest.xml加入權限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

2.
接下來在*.java檔進行資料讀取就可以囉 :
//
取得手機資訊服務

TelephonyManager mTelManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
 
//
取得手機號碼,因保護使用者隱私資訊,現今Android版本已防止取出手機號碼,所以會為null
String mNumber = mTelManager.getLine1Number();

//
取得手機IMEI

String IMEI = mTelManager.getDeviceId();

//
取得手機IMSI
String IMSI = mTelManager.getSubscriberId();

//
取得手機漫遊狀態
String mRoaming = mTelManager.isNetworkRoaming() ? "
漫遊中" : "非漫遊";

//
取得電信網路國別

String mCountry = mTelManager.getNetworkCountryIso();

//
取得電信公司編號
String mOperator = mTelManager.getNetworkOperator();

//
取得電信公司名稱
String mOperatorName = mTelManager.getNetworkOperatorName();

//
取得通訊傳輸類型
String[] mPhoneType = {"NONE", "GSM", "CDMA"};
String mTelPhoneType = mPhoneType[mTelManager.getPhoneType()];

以上就是取得手機的資訊,包含硬體編碼與通訊資訊,大家可以試試看喔!
謝謝大家如有任何問題都可以和小黑人一起交流討論

☆小黑人☆


2 則留言:

  1. 在模擬器上執行時,程式會當機

    回覆刪除
  2. 可以詢問一下?我在android6.0的手機上不能正常執行,使否需要加入api>23開啟權限要求??

    回覆刪除

謝謝大家支持,有任何問題都可以和小黑人一起討論!