*#06*中所显示IMEI和MEID号的客制化
来源:互联网 发布:大学生网络违法犯罪 编辑:程序博客网 时间:2024/05/30 22:49
最近接到了一个产线反馈的问题,经过复现发现现象如下:在拨号界面输入*#06#,插入移动联通卡或者出现imei号正确,插入电信卡时出现的meid号是错误的,显示的仍然是imei号,打印log后发现根本没有获取到meid号,但是手机是支持电信卡的,
上网搜索一圈后发现基本给出的结果相同,都是通过手机管理器类的getDeviceId()来获取的,官方文档也是这么解释,但是实际情况却是不行,以下是网上提供的方法,但是验证无效:
import android.telephony.TelephonyManager;
TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
/*
* 唯一的设备ID:
* GSM手机的 IMEI 和 CDMA手机的 MEID.
* Return null if device ID is not available.
*/
tm.getDeviceId();//String
以上方法实测结果是只能获取到imei号,meid号始终获取不到
若需要显示meid号可使用下面的方法来解决:
1.修改 : alps/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java的handlemessage()方法,在switch对应的case:EVENT_GET_DEVICE_IDENTITY_DONE处理过程中,将读到的mMeid保存在SystemProperties中,这样在开机初始化之后,MEID就都保存到了SystemProperties中,在phone进程以及第三方APK中都可以通过SystemProperties获取到它们。
SystemProperties.set("gsm.mtk.meid",mMeid);
2.修改:alps/packages/apps/Dialer/src/com/android/dialer/SpecialCharSequenceMgr.java
handleDeviceIdDisplay方法,直接通过SystemProperties可以获取到1个MEID
imei号可使用tm.getDeviceId();//获取
也可使用定制化的方法获取,方法如下(类似meid号获取):
在GSMPhone.java的handlemessage方法switch对应的case:EVENT_GET_IMEI_DONE处理过程中,将读到的mImei保存到SystemProperties中,可以根据slotId按如下例子的格式设键值(命名可跟公司名相关联)。这样在开机初始化之后,GSM Modem两个protocol对应的IMEI就都保存到了SystemProperties中,在phone进程以及第三方APK中都可以通过SystemProperties获取到它们。
例如:
if(mPhoneId == PhoneConstants.SIM_ID_1|| mPhoneId = 10) //SIM1
{
Log.d("abc","is SIM1,IMEI is:"+mImei);
SystemProperties.set("gsm.mtk.imei1",mImei);
}
else if(mPhoneId == PhoneConstants.SIM_ID_2 || mPhoneId =11) //SIM2
{
Log.d("abc","is SIM2,IMEI is:"+mImei);
SystemProperties.set("gsm.mtk.imei2",mImei);
}
这样就可以获取到1个MEID和2个IMEI号,然后再根据客制化需求,将其传到dialog中显示即可。
- *#06*中所显示IMEI和MEID号的客制化
- IMEI号和MEID号
- [FAQ15598][Common]C2K双卡项目通话界面输入“*#06#”显示MEID/IMEI的客制化
- 如何获取IMEI号和MEID号
- 3.2 MEID和IMEI
- IMSI、IMEI和MEID(ESN)
- IMSI、IMEI和MEID(ESN)
- IMSI、IMEI和MEID(ESN)
- 关于手机唯一识别码的研究meid和imei
- 关于手机唯一识别码的研究meid和imei
- 手机的IMEI、MEID、ICCID、UDID、IMSI
- IMEI, ESN, MEID
- IMSI、IMEI、ESN、MEID
- IMEI/ESN/MEID号码
- IMEI,MEID,IMSI
- IMEI/MEID校验位计算
- IMEI/MEID校验位计算
- MEID与IMEI
- 理解Android ImageView的scaleType属性
- IDEA单独设置JDK
- eclipse导入多项目的maven
- ios 沙盒目录
- AF的ssl双向验证
- *#06*中所显示IMEI和MEID号的客制化
- linux常用命令 (包括VIM的用法)
- android studio github 使用
- ActiiveMQ windows 10版本安装
- startActivityForResult的用法,及requestCode、resultCode建议使用情况
- 使用new来为动态分配结构数组并赋值
- js中的stringBuilder
- 会员用户工具
- 设计模式