IMEI号和MEID号_meiliqiang的博客-程序员宅基地_meid:99001935544142

技术标签: 网络  Phone  imei  

IMEI国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)是区别移动设备的标志,储存在移动设备中,可用于监控被窃或无效的移动设备。目前GSM和WCDMA手机终端需要使用IMEI号码     手机制造商在申请IMEI号码之前,必须先在IMEI网上进行注册,BABT审核通过后会发该制造商的厂家注册码,申请人凭借厂家注册码在IMEI网站上进行在线申请。

目前GSM和WCDMA手机终端需要使用IMEI号码,IMEI号码由GSMA组织进行管理,并授权英国BABT和美国的PTCRB两个认证机构进行发放。在北美地区进行销售的手机产品,需要向PTCRB机构申请IMEI号码。其他国家或地区进行销售的手机产品向BABT进行申请。

手机普通用户可以通过输入*#06#来查看手机的IMEI号码。
=============================================================

MEID 移动设备识别码(Mobile Equipment Identifier)是CDMA手机的身份识别码,也是每台手机有唯一的识别码。通过这个识别码,网络端可以对该手机进行跟踪和监管。用于CDMA制式的手机。MEID的数字范围是十六进制的,和IMEI的格式类似。 
  MEID号码是由Telecommunications Industry Association(TIA)进行分配管理的。申请MEID是需要付费的。目前的价格是每1M范围的MEID的费用是8000美元,每增加1M范围的MEID号码需要额外付费8000美元。

MEID号码的查看,目前没有一个通用的方法,由各手机制造商自己设置。可以通过查看手机说明书得到查看MEID号码的方法


 
  
IMEI号是GSM的概念,CDMA对应的是MEID号。
IMEI(International Mobile Equipment Identity)是国际移动设备身份码,
目前GSM/WCDMA/LTE手机终端需要使用IMEI号码。
在单卡工程中一个手机对应一个IMEI号;双卡工程中一张卡对应一个IMEI号,双卡共有两个IMEI号。
MEID (Mobile Equipment Identifier) 移动设备识别码,是CDMA手机的唯一身份识别码。
通过GSMPhone对象来调用getDeviceId()函数,获取到的就是IMEI号。
通过CDMAPhone对象来调用getDeviceId()函数,获取到的就是MEID号。
一、如何获取IMEI号
KK之前的版本:
下面是获得IMEI号的接口和demo code
API:
GSMPhone.JAVA     中getDeviceId()
GeminiPhone.java  中getDeviceId() 和 getDeviceIdGemini()
Demo code:
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.gemini.GeminiPhone;
import com.android.internal.telephony.PhoneFactory;  
Phone phone;
phone = PhoneFactory.getDefaultPhone();
String  imei=(GeminiPhone)phone.getDeviceId();
GeminiPhone mGeminiPhone;
String imei_sim1 = mGeminiPhone.getDeviceIdGemini(PhoneConstants.GEMINI_SIM_1);
String imei_sim2 = mGeminiPhone.getDeviceIdGemini(PhoneConstants.GEMINI_SIM_2);
KK版本上:
GSMPhone.java    中getDeviceId()
GeminiPhone.java 其中getDeviceIdGemini()已经没有了,而getDeviceId()获取的是default phone的IMEI;
所以直接使用GSMPhone.java中getDeviceId()方法;
Demo code:
GeminiPhone mGeminiPhone;
String imei_sim1=mGeminiPhone.getPhonebyId(PhoneConstants.GEMINI_SIM_1).getDeviceId();
String imei_sim2=mGeminiPhone.getPhonebyId(PhoneConstants.GEMINI_SIM_2).getDeviceId();
L版本非C2K项目上:
GSMPhone.java中的getDeviceId()
L上面已经没有GeminiPhone;
使用方法如下:
Phone mPhone1=PhoneFactory.getPhone(PhoneConstants.SIM_ID_1);
Phone mPhone2=PhoneFactory.getPhone(PhoneConstants.SIM_ID_2);
if(mPhone1!=null)
{
String imei_sim1= mPhone1.getDeviceId();
}
if(mPhone2!=null)
{
String imei_sim2= mPhone2.getDeviceId();
}
L版本C2K项目上:
L版本C2K项目上,一张卡同时对应一个CDMAPhone和一个GSMPhone,
要获取对应卡的IMEI号,需要先获取到对应的GSMPhone对象,具体可以通过下面的方法来获取:
    SIM1-> CDMAPhone = PhoneFactory.getPhone(0).getNLtePhone()
    SIM1-> GSMPhone = PhoneFactory.getPhone(0).getLtePhone()
    SIM2->  CDMAPhone = PhoneFactory.getPhone(1).getNLtePhone()
    SIM2->  GSMPhone = PhoneFactory.getPhone(1).getLtePhone()
获取到GSMPhone对象后,通过该对象来调用getDeviceId()函数。
二、如何获取MEID号
L版本C2K项目上:
参考上面的说明,要获取MEID号,需要先获取对应卡的CDMAPhone对象,具体可以通过下面的方法来获取:
    SIM1-> CDMAPhone = PhoneFactory.getPhone(0).getNLtePhone()
    SIM1-> GSMPhone = PhoneFactory.getPhone(0).getLtePhone()
    SIM2->  CDMAPhone = PhoneFactory.getPhone(1).getNLtePhone()
    SIM2->  GSMPhone = PhoneFactory.getPhone(1).getLtePhone()
获取到CDMAPhone对象后,通过该对象来调用getDeviceId()函数。
如果电信卡插在卡1上,则使用上面SIM1的方法来获取卡1的CDMAPhone对象。
如果电信卡插在卡2上,则使用上面 SIM2 的方式来获取卡2的CDMAPhone对象。
如果同时插入两张电信卡,由于同一时刻只支持一张电信卡,则只有主卡可以获取到MEID号,

可以通过PhoneFactory.getDefaultPhone().getNLtePhone() 来获取主卡的CDMAPhone对象。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/meiliqiang/article/details/78738234

智能推荐

搜索可用性分析之一 怎么做好search?_timezz的博客-程序员宅基地

http://blog.csdn.net/timezz首先说站内search,如何知道一个网站是需要search功能的?很简单,东西够多就需要。search对于一个网站的作用是非常非常非常大的,带来的好处无数。Better Search三部曲:1,买一个搜索软件,千万不要犹豫,资金允许的话,一定要买,除非你的网站实在很简单。用户分2类,一种更喜欢搜索,一种更喜欢点链接来找他要的东西。更多的

[linux]用wpa_supplicant连接WIFI_engineer520的博客-程序员宅基地

连接WIFI创建配置文件# wpa_passphrase SSID passphrase > /etc/wpa_supplicant/wpa.conf如果隐藏了WIFI的SSID,则配置文件wpa.conf中需要有scan_ssid=1,如下所示network={ ssid="SSID" psk=4326154235432 scan_ssid=1}...

第10周项目2-用二叉树求解代数表达式_wangxiaojie6688的博客-程序员宅基地_计算代数表达式 (2.2) (10分)

问题及代码:/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:bigice.cbp作 者:王效杰完成日期:2016年11月2日版 本 号:v1.0问题描述:用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算 的+、-、*、

从spring boot 到 spring cloud- 2018/7/17 (1)_神奇at的博客-程序员宅基地_spring cloud搭建2018

 学习spring cloud之前首先学习搭建spring boot框架 并且整合ssm框架,搭建一个demo使用eclipse 建立spring boot工程选择web 以及mybatiis/mysql工程结构如图所示建立models-》student.javapackage com.example.demo.models;public class Stude...

Hibernate框架详解(五)面向对象查询语言和锁_官小飞的博客-程序员宅基地_hibernate面向对象写法

Hibernate做了数据库中表和我们实体类的映射,使我们不必再编写sql语言了。但是有时候查询的特殊性,还是需要我们手动来写查询语句呢,Hibernate框架为了解决这个问题给我们提供了HQL(Hibernate  Query  Language)面向对象的查询语言,和QBC(Query by Criteria)完全面向对象的查询,这里简单总结一下如何是面向对象来编写ql语句呢。

华为手机广告“来自iPhone客户端”_西雅图IT圈的博客-程序员宅基地

西雅图IT圈:seattleit【今日作者】PowerBall选号机身体和灵魂总有一个要走在买PowerBall的路上女神Gal Gadot近日担任华为在美国的品牌大使,...

随便推点

Dockerfile介绍 和 docker build常用命令介绍_小虚竹的博客-程序员宅基地_dockerfile build

1、什么是 dockerfile2、docker镜像制作的工作逻辑3、Dockerfile的基本结构4、Dockerfile格式 案例:5、Build镜像

GSEA-基因集富集分析_weixin_30512785的博客-程序员宅基地

1.为什么写?网上教程一抓一大把,有的能重复,有的不能重复不了,很多原因。别人能做的不代表你能复制,实践出真知。不做搬运工,只写有用的,防止以后忘记。每个人理解不同,记录下来,供自己今后参考,顺便分享他人。2.GSEA基本概念Gene Set Enrichment Analysis思路:使用预定义的基因集(通常来自功能注释或先前实验的结果),将基因按照在两类...

Java管道流_YANGQINZ的博客-程序员宅基地_管道流

1、管道流是用来在多个线程之间进行信息传递的Java流,被号称是难使用的流,被使用的频率比较低。它提供了多线程间信息传输的一种有效手段2、管道流包括四个类 PipedOutputStream/PipedWriter 和 PipedInputStream/PipedReader3、其中 PipedOutputStream/PipedWriter 是写入者/生产者/发送者;PipedInputSt...

西山居决赛_zucc_dianbei的博客-程序员宅基地

很刺激的比赛,虽然表现很捉鸡,但还是很开心。TC/CF规则,3小时,其中0.5小时是hack环节分数分布:1000-1000-1500-2000-200001:看了一下发现是道sb的拓扑排序(事实上不是),轻松过掉pretest02:分析错了最坏情况,以为暴力能过,然后就暴力了。。03:一开始就觉得是染色分成二分图然后最小割,但是不知道哪根筋搭错了又觉得不太对。。然后想了很久其

大数据 标准库 应用库_如何为您的应用选择合适的数据库_cxu0262的博客-程序员宅基地

大数据 标准库 应用库 选择“正确的”数据库通常对于应用程序的成功至关重要。 与考虑供应商的建议或因为已经碰巧已经拥有数据库而使用数据库相比,考虑数据存储的基本目的和需求很有用。 在选择数据库时,这些是最重要的问题: 您希望在应用程序成熟时存储多少数据? 您希望在高峰负载下同时处理多少个用户? 您的应用程序需要什么可用性,可伸缩性,延迟,吞吐量和数据一致性? 您的数据库架构...

创建Hull Shader_会头痛的可达鸭的博客-程序员宅基地_hull shader

一、前言 Hull Shader是舞台工作三个阶段的第一个阶段,可以实现tessellation, Hull Shader transforms将一组输入控制点 转化为 输出控制点,输入、输出点的数量根据转换内容和数量而变化二、设计Hull shader三、通过ID3D11Device::CreateHullShader创建hull-shader对象 HRESULT CreateHullShader( ...

推荐文章

热门文章

相关标签