1. 程式人生 > >android--獲取手機的IMSI碼,並判斷是中國移動\中國聯通\中國電信

android--獲取手機的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")){
        //中國電信
        }
}

IMSI:國際移動使用者識別碼(唯一標識),IMSI = MCC + MNC + MSIN,其中MCC是指移動臺國家程式碼(3 位,中國460),MNC是指移動網程式碼(2 位中國00),MSIN是指移動使用者識別號碼(10 位 )

IMSI共有15位,其結構如下:

  MCC+MNC+MSIN ,(MNC+MSIN=NMSI)

  MCC:Mobile Country Code,移動國家碼,MCC的資源由國際電聯(ITU)統一分配和管理,唯一識別移動使用者所屬的國家,共3位,中國為460;

  MNC:Mobile Network Code,行動網路碼,共2位,中國移動TD系統使用00,中國聯通GSM系統使用01,中國移動GSM系統使用02,中國電信CDMA系統使用03,一個典型的IMSI號碼為460030912121001;

  MSIN:Mobile Subscriber Identification Number共有10位,其結構如下:

  09+M0M1M2M3+ABCD

  其中的M0M1M2M3和MDN號碼中的H0H1H2H3可存在對應關係,ABCD四位為自由分配。

  可以看出IMSI在MSIN號碼前加了MCC即NMSI,可以區別出每個使用者的來自的國家,因此可以實現國際漫遊。在同一個國家內,如果有多個行動網路運營商,可以通過MNC來進行區別.


相關推薦

android--獲取手機IMSI,判斷中國移動\中聯通\中電信

TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** 獲取SIM卡的IMSI碼 * SIM卡唯一標識

Android獲取手機基站資訊進行基站定位(基站定位原理)

http://blog.csdn.net/mad1989/article/details/9970431 一,首先普及一下手機基站資訊中相關的專業詞彙:  通過TelephonyManager 獲取lac:mcc:mnc:cell-id(基站資訊)的解釋: MCC,M

中國移動聯通電信、第三方平臺IDC市場機房佈局之爭

近年來,隨著我國大資料、雲端計算等業務的發展和應用領域的拓展,各企業對資料的重視程度不斷提升,在

android獲取imsi判斷運營商資訊(移動聯通電信

專案中要用到這個知識點,於是有整理這個知識點,並寫成博文,以作備忘。 一.imsi碼概念的理解 1.概念 IMSI:國際移動使用者識別碼(唯一標識),IMSI = MCC + MNC + MSIN,其中MCC是指移動臺國家程式碼(3 位,中國460),MNC是指移動網程式碼

android-手機登入介面嘗試獲取手機號碼,可選擇雙卡雙待subscriptionId

LogonActivity.java public class LogonActivity extends Activity { private EditText nickET; private EditText passwordET; private E

mono for android 獲取手機照片或拍照裁剪儲存

using System; using Android.App; using Android.Content; using Android.Widget; using Android.OS; using Android.Graphics; using System.IO; names

Android獲取手機聯絡人匹配使用者表按字母A-Z排序展示

1、前言 最近在做公司專案的時候遇到一個新增手機聯絡人的需求,主要有以下幾個功能點: 讀取聯絡人:讀取使用者手機上的通訊錄裡的聯絡人列表 好友排序:按照拼音順序對好友進行排序,相容英文數字符號等 字母索引:右側字母導航條,既可拖動也可點選,聯動ListVi

android獲取手機的國家

values/attr.xml <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 國家碼 --> <string-array name="Countr

Android獲取手機裝置識別(IMEI)和手機號碼

最近看了下獲取手機裝置ID和手機資訊以及SIM的資訊例子,主要還是借鑑別人的,現在自己寫一下,算是鞏固加深了,也希望能給大家一個參考 必要的條件還是一部真機,SIM卡或者UIM卡。 首先,在AndroidMainfest.xml裡獲取許可權 <uses-permiss

android 獲取手機唯一識別

//如果獲取不到imsi號,就拼接其它資訊獲取唯一碼: 結論是,依然有部分手機獲取不到。 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context

Android從本地選擇檔案判斷檔案型別獲取選到檔案大小的方法

最近有一個android選擇本地檔案的並判斷檔案型別的需求 首先要選擇檔案通過點選事件進入到檔案列表 這裡是瀏覽所有的檔案。用到的是startActivityForResult Intent intent = new Intent(Intent.ACTION_GET_CO

android平臺獲取手機IMSI,IMEI ,序列號,和 手機號的方法

/** * 獲取android當前可用記憶體大小 */ private String getAvailMemory() {// 獲取android當前可用記憶體大小 ActivityManager am = (ActivityMa

android 獲取手機上面的IMSI序列號,IMEI,MAC地址,IP地址,當前時間,當前經緯度,獲取網路型別

// 獲取IMSI public void getIMSI(Context context) { TelephonyManager telManager = (TelephonyManager) context

android獲取螢幕尺寸、密度(判斷手機螢幕型別)

1. 概念介紹 解析度:橫縱2個方向的畫素點的數量,常見取值 480X800 ,320X480 螢幕大小: 例如我的是4.0 英寸, 就是指 從螢幕的左上角 到 螢幕的右下角 連線長度為4.0英寸(可以換成釐米) density : 直接翻譯的話貌似叫 密度

Android studio 獲取手機簡訊內容輸出顯示

初學Android studio 需要做一個功能,獲取簡訊內容輸出到顯示屏上。 使用Android studio版本:3.2  JDK版本: jdk1.8.0_151   首先在清單檔案新增許可權,獲取簡訊讀寫許可權 <uses-permission an

Android獲取手機IMEI,IMSI, MAC標識和唯一標識的生成

急的直接看這個: android 獲取裝置IMEI與序列號: ​ //IMEI(imei) TelephonyManager tm = (TelephonyManager) ChinaApplication.getAppContext().getSystemService

android 獲取手機信息工具類

telephony == 系統 設備 android pack devices 信息 context package com.yqy.yqy_listviewheadview; import android.content.Context; import androi

Android 獲取手機SIM卡運營商

uil track service del 手機 star tor eas on() 直接上代碼: /** * 獲取SIM卡運營商 * * @param context * @return */ public static String ge

android 獲取手機設備品牌

pos 品牌 style article rand 什麽 適配 span 簡單 在有些數據要獲取手機設備是什麽品牌,特別做一些適配的時候,好了就講下怎樣或者手機是什麽品牌: String brand =android.os.Build.BRAND; 就這麽簡

根據提示輸入一個驗證 判斷正誤

cnblogs 掃描 正則表達 rom tro 強制轉換 mat 空字符串 強制 源代碼: import javax.swing.JOptionPane;import java.util.Scanner;import javax.swing.JOptionPane;