Android获取本机号码及运营商
生活随笔
收集整理的這篇文章主要介紹了
Android获取本机号码及运营商
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import android.content.Context;
import android.telephony.TelephonyManager;
import android.util.Log;public class SIMCardInfo {/*** TelephonyManager提供設備上獲取通訊服務信息的入口。 應用程序可以使用這個類方法確定的電信服務商和國家 以及某些類型的用戶訪問信息。* 應用程序也可以注冊一個監聽器到電話收狀態的變化。不需要直接實例化這個類* 使用Context.getSystemService(Context.TELEPHONY_SERVICE)來獲取這個類的實例。*/private TelephonyManager telephonyManager;/*** 國際移動用戶識別碼*/private String IMSI;public SIMCardInfo(Context context) {telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);}/*** Role:獲取當前設置的電話號碼 <BR>*/public String getNativePhoneNumber() {String NativePhoneNumber = null;NativePhoneNumber = telephonyManager.getLine1Number(); return telephonyManager.getLine1Number();}/*** Role:Telecom service providers獲取手機服務商信息 <BR>* 需要加入權限<uses-permission* android:name="android.permission.READ_PHONE_STATE"/> <BR>* */public String getProvidersName() {String ProvidersName = null;// 返回唯一的用戶ID;就是這張卡的編號神馬的IMSI = telephonyManager.getSubscriberId();// IMSI號前面3位460是國家,緊接著后面2位00 02是中國移動,01是中國聯通,03是中國電信。
// Log.i("tag",IMSI);if(IMSI == null || "".equals(IMSI)){ProvidersName = "獲取手機號碼失敗";}elseif (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {ProvidersName = "中國移動";} else if (IMSI.startsWith("46001")) {ProvidersName = "中國聯通";} else if (IMSI.startsWith("46003")) {ProvidersName = "中國電信";}return ProvidersName;}}
?
總結
以上是生活随笔為你收集整理的Android获取本机号码及运营商的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己又要结婚了是什么预兆
- 下一篇: 梦到好多人打架是怎么回事