Отключить кнопку питания ... или ... Возобновить полный экран в приложении Android малыша

Я создаю Android-приложение для малышей. Поэтому мне нужно заблокировать как можно больше кнопок, чтобы предотвратить доступ малыша к другим функциям устройства Android. По сути, я хочу воспроизвести механизм блокировки в популярных приложениях для малышей, таких как «Блокировка малышей». У меня есть логика, которая требует, чтобы пользователь коснулся четырех углов экрана по часовой стрелке, чтобы выйти из приложения.

Чтобы показать приложение в полноэкранном режиме, у меня есть следующее в моем манифесте

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

Чтобы приложение отображалось только в ландшафтном режиме, в событии onCreate моей деятельности есть следующее

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

Чтобы предотвратить использование любой из кнопок, я переопределяю событие onKeyDown следующим кодом

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    return true;
}

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

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

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

Ответы на вопрос(2)

Ваш ответ на вопрос