【Android】如何獲取本機號碼、IMSI、EMSI


獲取本機號碼:

獲取本機號碼,需要在配置文件中加入權限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

本文中所講的需求簡單,明了,我說的簡單指的是只有一個需求,不復要,不復合,就是一個,取得本機號碼,請你看下面這代碼

    TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);  
    // 獲取手機號碼  
      
    String phoneId = tm.getLine1Number();  
    Log.i(phoneId,phoneId);  

你猜會怎么樣,取不到!奇怪吧,神奇吧~~~怎么的的,你就是沒有辦法取得本機號碼,這是為什么呢,有何良策,我心里在想啊,腫么辦!

我靜心一想解決問題得找到問題所在,不然無從下手...經我google/baidu,找到了基本的原因和曲線救國之解決方法,現邏列如后:
第一點:造成原因
能否取得手機號碼依賴於運營商是如何制作SIM卡的,所以有的可以取出,有的則不行。看吧,這不全是你的錯,哈哈~~~
第二點:解決方案
給10086發個短信就行了,然后獲取發件箱中的發件人號碼...反正給10086發短信或者打電話是免費的 ,但是你得注意了
1、獲取發件箱中的發件人號碼后你得把發件箱中記錄刪除;
2、就是你還要攔截10086給你回復的短信,不然會有個notification顯示在屏幕上方,提示10086發來個短信,讓你查看;
這些都是為了取得本機號碼的任務下,但同時又提高了用戶的體驗度...明白嗎?

 

 

獲取IMSI和IMEI需要在配置文件中加入權限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

獲取IMEI號碼:

(1)IMEI(International Mobile Equipment Identity,國際移動身份識別碼):是由15位數字組成的”電子串號”,其組成結構為TAC(6位數字)+FAC(兩位數字)+SNR(6位數字)+SP (1位數字)。它與每台手機一一對應,而且該碼是全世界唯一的。每一只手機在組裝完成后都將被賦予一個全球唯一的一組號碼,這個號碼從生產到交付使用都將被制造生產的廠商所記錄。 IMEI碼貼在手機背面的標志上,並且讀寫於手機內存中。它也是該手機在廠家的”檔案”和”身份證號”。

   /**
     * 獲取手機IMEI號
     */
    public static String getIMEI(Context context) {
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
        String imei = telephonyManager.getDeviceId();

        return imei;
    }

獲取IMSI號碼:

(2)IMSI(International Mobile Subscriber Identification Number,國際移動用戶識別碼):是區別移動用戶的標志,儲存在SIM卡中,可用於區別移動用戶的有效信息。其總長度不超過15位,同樣使用0~9的數字。其中MCC是移動用戶所屬國家代號,占3位數字,中國的MCC規定為460;MNC是移動網號碼,最多由兩位數字組成,用於識別移動用戶所歸屬的移動通信網;MSIN是移動用戶識別碼,用以識別某一移動通信網中的移動用戶。

    /**
       * 獲取手機IMSI號
       */
     public static String getIMSI(Context context){
        TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        String imsi = mTelephonyMgr.getSubscriberId();

        return imsi ;
    }

 

原文鏈接:android如何獲取本機號碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM