【发布时间】:2016-06-15 20:44:24
【问题描述】:
首先我想提一下,我要实现的目标是仅在我们分发的那些设备上使用,并且我们对这些设备以及在这些设备上运行的应用程序拥有完全的所有权。
我的要求是在 Android 手机的设置 -> 安全 -> SIM 卡锁定设置下启用“锁定 SIM 卡”并设置/更改 SIM 锁定/解锁密码。所有电话都已植根并且位于远程位置。我没有对这些设备的物理访问权限,但我可以远程访问 ADB shell。
我遇到了一个重置 sim pin 的 USSD 代码。例如。 **04*1234*2345*2345# 可用于将密码从1234更改为2345。但是如果在sim lock设置中禁用了“Lock SIM card”,上面的USSD会显示“PIN change Unsuccessful, enable SIM/ UIM 锁”。
我在尝试手动启用“锁定 SIM 卡”复选框以查看正在调用哪个服务的指针时监视了 logcat 输出,并发现该任务是由 com.android.internal.telephony.IccCard.setIccLockEnabled 方法处理的未通过 SDK 公开。
我被困在那里。有什么方法(USSD/以编程方式使用反射/adb shell 命令)我可以启用“锁定 SIM 卡”设置(自动接受它显示的弹出窗口/如果可能的话禁用弹出窗口)然后设置/重置引脚。
提前致谢。
【问题讨论】: