Android 判斷SIM卡屬於哪個行動電信業者

來源:互聯網
上載者:User

標籤:

第一種方法:
擷取手機的IMSI碼,並判斷是中國移動\中國聯通\中國電信

TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);        /** 擷取SIM卡的IMSI碼         * SIM卡唯一標識:IMSI 國際移動使用者識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動使用者的標誌,         * 儲存在SIM卡中,可用於區別移動使用者的有效資訊。IMSI由MCC、MNC、MSIN組成,其中MCC為移動國家號碼,由3位元字組成,         * 唯一地識別移動客戶所屬的國家,我國為460;MNC為網路id,由2位元字組成,         * 用於識別移動客戶所歸屬的移動網路,中國移動為00,中國聯通為01,中國電信為03;MSIN為移動客戶識別碼,採用等長11位元字構成。         * 唯一地識別國內GSM移動通訊網中移動客戶。所以要區分是移動還是聯通,只需取得SIM卡中的MNC欄位即可         */        String imsi = telManager.getSubscriberId(); if(imsi!=null){        if(imsi.startsWith("46000") || imsi.startsWith("46002")){//因為移動網路編號46000下的IMSI已經用完,所以虛擬了一個46002編號,134/159號段使用了此編號         //中國移動        }else if(imsi.startsWith("46001")){         //中國聯通        }else if(imsi.startsWith("46003")){         //中國電信        }} 

第二種方法

TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);        String operator = telManager.getSimOperator(); if(operator!=null){        if(operator.equals("46000") || operator.equals("46002")){         //中國移動        }else if(operator.equals("46001")){         //中國聯通        }else if(operator.equals("46003")){         //中國電信        }} 

 

Android 判斷SIM卡屬於哪個行動電信業者

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.