Как отключить функцию экстренного вызова тройным нажатием кнопки питания?

Я использую OnePlus 6 (Magisk; бессистемный Xposed, стандартное ПЗУ на Android 8.1.0). Одна из особенностей, которая меня постоянно раздражает, — это случайный набор номера службы экстренной помощи. По умолчанию система отслеживает тройное нажатие кнопки питания и автоматически набирает номер службы экстренной помощи (112). Я читал здесь на XDA, что это особенность, характерная для Индии и индийских SIM-карт, и я также купил ее в Индии и использую индийскую SIM-карту. Другие региональные пользователи, согласно некоторым веткам субреддита OnePlus и форумов OnePlus, не имеют этой проблемы и могут настроить ярлык из приложения «Камера» или в приложении «Настройки», а я не могу.

Я нашел это видео на YouTube. но рекомендуемое решение не работает, потому что в приложении Emergency Info в моей системе нет активности, использованной в видео. В этом приложении есть только эти два действия, которые приводят только к редактированию конкретных данных пользователя Emergency:

  .view.ViewInfoActivity.edit.EditInfoActivity  

Как мне изменить это поведение? Я хочу предотвратить набор номера службы экстренной помощи при тройном нажатии кнопки питания и, если возможно, настройку этого двойного нажатия кнопки питания для запуска камеры. Кроме того, если возможно, предоставьте решение без полномочий root.


Теперь в Android Pie в OnePlus 6 вы можете получить доступ к активности, показанной в видео, через Настройки → Безопасность и блокировка. экран → Emergency Rescue.

( Изображение взято с форумов OnePlus)


Я использовал и обнаружил, что служба GestureLauncherService (под -служба SystemService) активно ищет тройное нажатие кнопки питания и предпринимает соответствующие действия. Хотя я не смог найти такую ​​вспомогательную службу с помощью команд GUI (Запуск служб), dumpsys и cmd , я заметил эту строку в выводе logcat:

  [11-15 21: 21: 27.368 1292: 1825 I/ActivityManager] START u0 {act = android.intent.action.CALL_PRIVILEGED dat = tel: xxx flg = 0x10000000  cmp = com.android.server.telecom/.PrivilegedCallActivity} из uid 1000, pid 1292  

Я перепроверил его с помощью adb shell dumpsys activity недавних и обнаружил, что PrivilegedCallActivity — это действие, которое появляется при наборе номера.

Итак, хотя я не могу предотвратить службу жестов, я могу предотвратить успешный набор номера. Я немедленно отключил компонент PrivilegedCallActivity пакета com.android.server.telecom (приложение Call Management) с помощью adb (для требуется root ) следующим образом:

  adb shell su -c 'pm disable com.android.server.telecom/.PrivilegedCallActivity'  

Можно также использовать приложение, чтобы отключить это действие. Отныне это тройное нажатие кнопки питания не будет звонить.

Примечание : отключение этого действия не предотвращает экстренные вызовы (как на указанные пользователем контакты для экстренной помощи, так и на номера экстренных служб для конкретной страны) из экстренного дозвона на экране блокировки потому что для этого используется другой вид деятельности. Просто система больше не может набирать номер службы экстренной помощи без явного согласия пользователя на номеронабирателе.


Для тех, кому неудобно отключать компонент критически важного системного приложения, как рекомендовано здесь, они могут использовать решение, которое безопасно и уже проверено другими.

На XDA kashayapha1994 обнаружил этот хакерский прием:

  в настройках оболочки adb установлено глобальное значение Emergency_affordance_needed 0  

Это позволяет автоматически настраивать ярлык быстрого захвата в стандартном приложении «Камера» и в приложении «Настройки». Это также предотвращает набор номера службы экстренной помощи, поскольку система всегда запускает приложение «Камера» при двойном нажатии кнопки, когда активирован ярлык.

Однако хак не выдерживает перезагрузки, поэтому anirudhnyg на XDA придумал модуль Magisk (для требуется рутированное устройство ) для автоматического применения вышеупомянутого взломать и др. . Загрузите его по вышеупомянутой ссылке, установите и перезагрузитесь. Вот и все.

Вы также можете применить этот взлом при загрузке, используя любое приложение, которое может запускать команду/скрипт при загрузке, например Tasker, MacroDroid, Xposed Edge. Обратите внимание, что для всех таких приложений потребуется root-доступ или они будут установлены как владелец устройства, например SecureTask ( не требует root ).


Для устройств Asus Zenfone max pro m2Android 9 ниже работает

  pm disable com.  android.server.telecom/.EmergencyCallActivity  

, как показано ниже, не работает

  в настройках оболочки adb выставить глобальные Emergency_affordance_needed 0  

0

Оцените статью
motary.ru
Добавить комментарий