Полностью отключить аппаратные и программные кнопки

Я хочу полностью отключить три экранные кнопки (Назад, Домой, Недавние) и любую другую аппаратную кнопку. Я знаю, что не могу сделать это из приложения, так как это было бы серьезным недостатком безопасности. Как бы я сделал это с устройством, если бы оно было у меня под рукой? Получите root-доступ, а потом как это будет происходить?

Ps: я пытаюсь запустить приложение на моем планшете в киоске, и я не хочу, чтобы пользователи нажимали какие-либо кнопки.

Ответы (2)

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

Кроме того, вы можете полностью скрыть их через ADB ( источник ) с помощью:

adb shell
su
pm disable com.android.systemui

Или (если вы пишете собственное приложение) вы можете использовать этот код ( источник ):

private void hideNavigationBar(){
        try {
            Process process = Runtime.getRuntime().exec("su");
            DataOutputStream os = new DataOutputStream(process.getOutputStream());
            os.writeBytes("pm disable com.android.systemui\n");
            os.flush();
            os.writeBytes("exit\n");
            os.flush();
            process.waitFor();
            //////////////////////////////////////
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Kiosk Browser Lockdown также имеет функцию, с помощью которой вы можете отключить все системные диалоги (громкость, длительное нажатие и т. д.).

Используя Xposed Framework и Xposed Additions, вы можете переназначить любую кнопку на любое действие, а в вашем случае — на «Нет действия».

Объедините это, чтобы отключить все ваши аппаратные кнопки с этим ответом , и вы добьетесь того, чего хотите.

Откройте приложение и выполните следующие действия:

  1. Нажмите на кнопки
  2. Нажмите Добавить новый ключ
  3. Нажмите клавишу, которую вы хотите отключить
  4. Нажмите ОК
  5. Нажмите клавишу в списке и для каждого условия назначьте действие Disabled.