1. 程式人生 > >android上獲取imsi碼,判斷運營商資訊(移動,聯通,電信)

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

專案中要用到這個知識點,於是有整理這個知識點,並寫成博文,以作備忘。

一.imsi碼概念的理解

1.概念

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

2.結構

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來進行區別。


二.關鍵程式碼:

TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
       
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")){
        //中國電信
        }
}

相關推薦

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

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

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

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

給大家分享一個在Android獲取驗證的倒數計時器已經封裝好了直接引用就行。

獲取簡訊驗證碼後,倒數一分鐘,重新獲取 package com.example.tsx.mytest; import android.annotation.SuppressLint; import android.app.Activity; import andro

如何根據SIM卡背面的10位序列號判斷運營國家地區

ICCID(SIM卡號碼)的定義應該是:    1-6位:國際移動運營商識別碼(IMSI):898600(中國移動),898601(中國聯通)    在此之後的7-20位,移動和聯通的定義是不同的!   中國移動:   第7、8位對應著網路號第3、4位   第9、10位各省編號:01北京、02天津、03河北、

iOS獲取運營資訊(IMSI)

關於獲取運營商資訊,需通過CoreTelephony.framework,記得在工程新增。我們用到的是CTTelephonyNetworkInfo和CTCarrier這兩個類,這些在iOS 4.0之後就有了。 名詞解釋 IMSI:Internationa

Android Studio獲取安全和SHA1值

專案介面右側點選“Gradle”-> signingReport,然後點選重新整理按鈕,出現應用程式名稱 找到並點選Tasks->android->signingReport 在資訊

練習:編寫循環讓用戶輸入內容判斷輸入的內容以alex開頭的則將該字符串加上_SB結尾

sed with 輸入 close lose highlight lex 字符串 用戶輸入 編寫循環,讓用戶輸入內容,判斷輸入的內容以alex開頭的,則將該字符串加上_SB結尾 while True: user = input(‘請輸入:‘)

Android Studio 2.3.3 添加ksoap2的引用拒絕網上其他的忽悠也適用於添加其他Jar的引用

ima mage androi img 適用於 網上 .com 2.3 ksoap2 Android Studio 2.3.3 添加ksoap2的引用(拒絕網上其他的忽悠),也適用於添加其他Jar的引用

最全的根據號碼判斷運營的工具類

最全的根據傳入號碼判斷該號碼屬於哪個運營商的工具類 public class OperatorUtils { private static String CMCC = "移動"; private static String UNICOM = "聯通"; private

Android 動態獲取儲存、位置、電話的許可權附程式碼

       今天客戶提出上傳資訊時需攜帶經緯度,且需要兩種獲取位置的方式;故經思考使用了GPS和網路獲取位置,但在經過實地測試的時候才發現沒寫獲取許可權。       便在登入介面加上獲取許可權程式碼,此次獲取的是儲存、位置

控制檯輸入一個整數取該整數的各位數判斷其是否能被該整數整除能則返回true不能則返回false

這是出自美國中學的一道程式設計題,個人覺得對我這種初學者而言挺有意思的,就做了一下,這道題目的難點在於找出所輸入整數的各位數 package 練習題; import java.util.Scanner;

php 判斷訪問的是否為移動移動端、pc端是否為微信瀏覽器端?

函式,設定為公共函式即可! /** * //判斷是否手機裝置 * @return boolean */ function is_mobile_request() { $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER

移動為例運營的大資料能力

備註:此部落格轉載自科技雜談,原地址請點選此處 【摘要】本文以中國行動通訊集團浙江有限公司為例,從平臺、資料和技術3方面闡述了運營商的大資料能力。| 科 | 技 | 雜 | 談 |中國通

詳解高速神器python腳步打包android apk超級快!!打包系列教程之六

打包系列教程目錄: 今天終於要來給大家介紹python多渠道打包啦,我也是很激動,當初雖然有gradle這樣方便的打包方式,但是一旦渠道數量多了起來,gradle打包的時間也會成為一個瓶頸,之前打20個渠道左右,用gradle打包的話大概要花上20多分鐘,

華為釋出ATAE叢集解決方案運營實現網路系統集中管理

“華為,不僅僅是世界500強”——這個口號不知道是啥時候開始喊起的,就在美國以安全為由狙擊華為中興時,今天在C114上看到這篇文章,轉載過來分享給大家,原文如下: 全球領先的資訊與通訊解決方案供應商華為,近日釋出ATAE叢集解決方案。該方案是基於ATAE (Advanced Telecommunic

Android獲取手機中已安裝apk檔案資訊(PackageInfo、ResolveInfo)(應用圖片、應用名、包名等)

眾所周知,通過PackageManager可以獲取手機端已安裝的apk檔案的資訊,具體程式碼如下 PackageManager packageManager = this.getPackageManager();  List<PackageInfo> pac

面對電信運營HTTP劫持如何是好投訴太折騰不如路由器直接遮蔽廣告源

最近發現不管電腦還是手機訪問 www。jd。com 或一號店蘇寧國美之類購物網站都會被劫持到 p.yiqifa.com/xxx網址,然後返回帶推廣引數的京東等電商網址,如上圖,各位搞網站的朋友一眼就能看出來,這個是HTTP劫持京東,302重定向到 yiqifa,然後y

編寫演算法對輸入的一個整數判斷它能否被3,5,7整除並輸出一下資訊之一:

能同時被3,5,7整除; 能被其中兩個數(要指出哪兩個數)整除; 能被其中一個數(要指出哪一個數)整除; 不能被3,5,7任一個整除。 #include <iostream> usi

二叉樹先、中、後、層次遍歷判斷同構和是否為完全二叉樹

二叉樹基本操作 二叉樹的結構定義 二叉樹的建立(遞迴) 訪問節點 先序遍歷 中序遍歷 後序遍歷 層次遍歷 判斷是否同構 判斷一顆二叉樹是否為完全二叉樹 二叉樹的結構定義

建立有向圖的鄰接表深度優先遍歷和廣度優先遍歷的遞迴與非遞迴演算法判斷是否是有向無環圖並輸出一種拓撲序列

/*(1)輸入一組頂點,建立有向圖的鄰接表,進行DFS(深度優先遍歷)和BFS(廣度優先遍歷)。 寫出深度優先遍歷的遞迴和非遞迴演算法。 (2)根據建立的有向圖,判斷該圖是否是有向無環圖,若是,則輸出其一種拓撲有序序列。*/ #include<stdio.h>