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号

M0.mp7/M0.mp9版本(包含C2K和非C2K项目)、

M0.mp1版本非C2K项目、

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();}

M0.mp1版本C2K项目、

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()函数。

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();

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);

二、如何获取MEID号

M0.mp7/M0.mp9版本C2K项目:

通过CDMAPhone.java的getDeviceId()函数来获取。

请在插入电信卡的情况下调用,避免插入非电信卡没有创建CDMAPhone对象,会获取不到。

M0.mp1版本C2K项目、

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对象。

如何获取IMEI号和MEID号相关推荐

  1. IMEI号和MEID号

    IMEI国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)是区别移动设备的标志,储存在移动设备中,可用于监控被窃或 ...

  2. QA:MEID号申请、什么是MEID号、怎么申请MEID号、MEID号获取

    本文671个字,正常大约需要阅读两分钟,完整阅读更精彩,欢迎点赞.转发或留言! Q:什么是MEID号? A: MEID 移动设备识别码(Mobile Equipment Identifier)是CDM ...

  3. Android中如何获取IMEI号码

    首先刚看见这个需求,觉得有病吧.没办法也得解决.以下方法亲测有效,希望能帮助到大家. 首先我们应该注意的是需要一个权限,要不怎么都不会成功的 <uses-permission android:n ...

  4. Android系统信息获取 之十一:获取IMEI,IMSI号

    对于移动信息的获取本不想再写,只是在开发的过程中还是有同事来讨论,因此就单独再把几个重要的信息获取点给列出来,供查询使用. IMEI号,IMSI号的知识点可参考:IMSI号和IMEI解释 Androi ...

  5. 设置-关于手机里显示IMEI号和MEID。

    原本只有两个imei号,需要再加个显示meid的 override/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/andr ...

  6. 一般写入的两个IMEI号和一个MEID号,输入*#06#*后显示遗漏一个IMEI号。

    在override/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/dialpadview/Speci ...

  7. 安卓获取imei权限闪退_Android10 下获取序列号和IMEI号的权限

    介绍 Android10 因为提高了其安全性能,因此获取序列号和IMEI号的权限与以前的版本有了变化这里就举例Zebra 移动设备Android 10 系统下的如何获取相应权限.运行Android 1 ...

  8. Android之获取手机IMEI号和IMSI号

    首先我们看一下IMEI号和IMSI号是什么: (1)IMEI(International Mobile Equipment Identity,国际移动身份识别码):是由15位数字组成的"电子 ...

  9. Android获取手机IMEI号和IMSI号

    下面是主要内容: IMEI 和 IMSI 是什么 如何获取 IMEI 和 IMSI 代码示例 1. 先看下 IMEI 和 IMSI 是什么 IMEI(International Mobile Equi ...

最新文章

  1. core identity mysql_Asp.Net Core Identity 4 改成 MySql/MariaDB
  2. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
  3. opengl编程指南第8版源码编译详细说明
  4. python resample函数_python时序分析之重采集(resample)
  5. c++stl和std_std :: replace()函数以及C ++ STL中的示例
  6. React开发(206):react代码分割之context的api
  7. 造车之心不死?苹果已与至少四家公司进行谈判
  8. CDH-hive内进行删除操作
  9. linux下编程epoll实现将GPS定位信息上报到服务器
  10. Ubuntu14.04安装tomcat-9.0.1的教程
  11. 使用NUnit在.Net编程中进行单元测试(转载)
  12. 反射异常 java.lang.InstantiationException处理
  13. 如何向枚举中添加新值
  14. 将钉钉应用内浮窗_手机钉钉怎么设置悬浮窗 几步轻松开启
  15. HTTP状态码及对应原因
  16. 教师计算机excel培训教案,信息技术教案:Excel中的函数
  17. python操作 docx
  18. 摩托罗拉的新一代智能家庭和婴儿监护亮相香港电子产品展
  19. sqlserver如何快速生成不重复的随机数据
  20. 机器学习(2)——周志华

热门文章

  1. nc网页版java插件下载_spring-nc
  2. 英语口语266之每日十句口语
  3. 【猿来小课】解析Linux学习问题汇总
  4. js中不会影响原数组的方法
  5. 【小工具】 - 解决postgres数据库remaining connection slots are reserved for non-replication superuser connectio
  6. ACCP6.0 教程课件,可用
  7. the selection cannot be run on any server解决方法
  8. gm修改爆率需要重启服务器吗,传奇GM教程 传奇私服如何调整爆率
  9. easyconnect mac版下载地址
  10. stm32 死区 刹车 pwm