我正在尝试从TelephonyManager访问iccExchangeSimIO,如下所示:
TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
byte[] uiccFileReadResponse = mTelephonyManager.iccExchangeSimIO(0x6F07,B0,0x00,0x00,0x09,"3F007FF06F07");我可以在uiccFileReadResponse中获得成功的响应,但几秒钟后,系统广播ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW意图,设备进入紧急回呼模式。
退出此模式的唯一方法是重新启动电源。
我的设备已安装根目录,并且我确实拥有MODIFY_PHONE_STATE权限。
如果有人能在这个问题上指导我,那就太好了。
发布于 2016-07-19 21:34:52
好吧..。
您可以检查RIL日志(adb logcat -b radio)以检查电话进入仅紧急模式的原因。可能是CP端(通信处理器)出现了一些错误。
如果错误发生在RIL端,您可以调试...但是如果错误发生在CP端,没有CP日志就很难修复(如果可以从应用程序端修复)。没有CP日志,很难判断哪里出了问题,而且每个设备使用不同的芯片组(高通、Marvell、Infineon、Broadcomm (RIP)等)……
尝试在不同的设备上测试以检查结果...
我不确定这是否有可能..但你可以通过TelephonyManager..getSubscriberId()检索imsi
TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String mIMSI = mTelephonyManager.getSubscriberId();https://stackoverflow.com/questions/38446921
复制相似问题