Как отключить слот SIM-карты 1 в Android API 27 уровня

#android #telephonymanager #android-8.1-oreo #dual-sim #multisim

Вопрос:

Я пытаюсь отключить слот SIM-карты 1 в приложении, встроенном в Kotlin. Это приложение предназначено для уровня API 27(Android 8.1, будет частью встроенного приложения в ПЗУ), и вы можете предположить, что я могу получить любые разрешения от системы, поскольку мы имеем дело со встроенным приложением ПЗУ.

В исходном коде Android «android/telephony/TelephonyManager.java» Я вижу эту функцию.

 setSimPowerStateForSlot(getSlotIndex(), powerUp)
 

Но, похоже, я не могу получить доступ к этому методу, вызвав

 telephonyManager = this.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
telephonyManager!!.setSimPowerStateForSlot(0, powerDown)
 

Я видел в другом посте, что кто-то сделал это успешно, но может ли кто-нибудь подсказать мне, как это сделать?

Опять же, моя цель состоит в том, чтобы:

  1. Некоторые процедуры здесь, чтобы проверить, находится ли телефон в режиме DSDS, и есть ли SIM-карта, вставленная в слот SIM-карты 2. (Проделал здесь работу)
  2. Полностью отключите SIM-карту 1, чтобы в системе была только одна SIM-карта, которая является SIM-картой 2 (без дополнительных DSD, и разрешите только SIM-карту 2 быть активной. SIM 1 не должен пытаться сканировать сеть и вообще пытаться зарегистрироваться)