我记得在csdn上看过一个博主写了一篇相关的文章,思路差不多。
他的方法是写了一个apk来修改imei号,本人就偷懒了,直接在平台上修改。
拨号界面发送指令
*#123456789012345#6666# 修改卡1 imei为123456789012345
*#123456789012345#7777# 修改卡2 imei为123456789012345
。。。。。。
以上没什么好说的,在Contact相关文件里面修改即可
接收端修改的问题,找一个有系统签名权限的apk插入代码接收指令,经过测试非系统签名的是无法修改imei的,市面上apk后来无法修改mtk imei貌似就是这个原因。
我选了Setting这个api来接收修改imei号
卡1 at命令"AT+EGMR=1,7,\"" + imei+ "\"";
卡2 at命令"AT+EGMR=1,10,\""+ imei + "\"";
调用invokeOemRilRequestStrings就OK
--------------------------
每次手动输入imei号后都需要关机再开机才能看到修改结果。
另外恢复出场设置会把imei号变为系统默认的,这个就需要在恢复出厂设置对imei号进行备份和恢复了,可以参考我的那一篇备份恢复文章。
ps:
MTK imei号存储位置 "/data/nvram/md/NVRAM/NVD_IMEI/MP0B_001"