Я хотел бы начать с упоминания того, что я пытаюсь добиться использования только на тех устройствах, которые распространяются нами, и мы полностью владеем этими устройствами и приложениями, которые работают на этих устройствах.
Мое требование - включить «Блокировать SIM-карту» в разделе «Настройки» -> «Безопасность» -> «Настройки блокировки SIM-карты» на телефонах Android и установить/изменить PIN-код блокировки/разблокировки SIM-карты. Все телефоны рутированы и находятся в удаленных местах. У меня нет физического доступа к этим устройствам, но у меня есть удаленный доступ к оболочке ADB.
Я наткнулся на USSD-код для сброса сим-пина. Например. **04*1234*2345*2345# можно использовать для изменения PIN-кода с 1234 на 2345. Однако, если «Блокировка SIM-карты» отключена в настройках блокировки SIM-карты, указанный выше USSD сообщает: «Не удалось изменить PIN-код, включите SIM/ Замок РУИМ».
Я отслеживал вывод logcat, пытаясь вручную установить флажок «Блокировать SIM-карту» для указателей, на которые вызывается служба, и выяснил, обрабатывается ли задача методом com.android.internal.telephony.IccCard.setIccLockEnabled, который не раскрывается через SDK.
Я застрял там. Есть ли способ (USSD/программно с использованием команды оболочки отражения/adb), с помощью которого я могу включить настройку «Блокировать SIM-карту» (автоматически принимая всплывающее окно, которое показывает/отключая всплывающее окно, если это возможно), а затем установить/сбросить пин-код.
Заранее спасибо.