Я хочу полностью отключить три экранные кнопки (Назад, Домой, Недавние) и любую другую аппаратную кнопку. Я знаю, что не могу сделать это из приложения, так как это было бы серьезным недостатком безопасности. Как бы я сделал это с устройством, если бы оно было у меня под рукой? Получите root-доступ, а потом как это будет происходить?
Ps: я пытаюсь запустить приложение на моем планшете в киоске, и я не хочу, чтобы пользователи нажимали какие-либо кнопки.
Полноэкранный режим имеет (платную) функцию, с помощью которой вы можете автоматически скрывать системные панели в определенных приложениях и отображать их в других приложениях, но есть и бесплатная версия без автоматизации.
Кроме того, вы можете полностью скрыть их через 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, вы можете переназначить любую кнопку на любое действие, а в вашем случае — на «Нет действия».
Объедините это, чтобы отключить все ваши аппаратные кнопки с этим ответом , и вы добьетесь того, чего хотите.
Откройте приложение и выполните следующие действия: