使用 USSD 代码启用 SIM/RUIM 锁定 - Android / Airtel India

Posted

技术标签:

【中文标题】使用 USSD 代码启用 SIM/RUIM 锁定 - Android / Airtel India【英文标题】:Enabling SIM/RUIM lock using USSD code - Android / Airtel India 【发布时间】: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 卡”设置(自动接受它显示的弹出窗口/如果可能的话禁用弹出窗口)然后设置/重置引脚。

提前致谢。

【问题讨论】:

【参考方案1】:

看到已经3个月没有答案,我可以提出一个建议。启用和管理 PIN 是 SIM 卡的一项功能。您可以编写应用程序代码将“RAW”数据直接发送到 SIM 卡。该数据将采用 ISO-7816-4 文档中定义的 APDU 形式。查看 VERIFY、CHANGE REF DATA、ENABLE/DISABLE VERIFY 命令。或者参考 GSM11.11 VERIFY/CHANGE/ENABLE/DISABLE CHV 命令。

【讨论】:

以上是关于使用 USSD 代码启用 SIM/RUIM 锁定 - Android / Airtel India的主要内容,如果未能解决你的问题,请参考以下文章

Android - 在三星设备上使用 USSD API 运行 USSD *#0011#

Sdk 版本 23 中的 Ussd 异常

如何读取/拦截 Android 手机上的 USSD 消息

在 Xamarin 跨平台应用程序中进行 USSD 调用

无法在 SQL Server Express 版本中启用内存中的锁定页面

Android USSD 哪个 sim 卡收到 ussd 消息或哪个 sim 插槽收到 ussd 消息(双卡手机)