Desativar botão liga / desliga… ou… Retomar a tela cheia no aplicativo para bebês Android

Estou criando um aplicativo Android para crianças. Portanto, preciso bloquear o maior número possível de botões para impedir que a criança acesse outros recursos do dispositivo Android. Basicamente, pretendo reproduzir o mecanismo de bloqueio em aplicativos populares para bebês, como o "Bloqueio de bebês". Eu tenho uma lógica que exige que o usuário toque nos quatro cantos da tela em um movimento no sentido horário para sair do aplicativ

Para mostrar o aplicativo em tela cheia, tenho o seguinte no meu manifesto

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

Para mostrar o aplicativo apenas no modo paisagem, tenho o seguinte no evento onCreate da minha atividade

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

Para impedir a utilização de qualquer botão, substituo o evento onKeyDown pelo código a seguir

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

Tudo funciona muito bem. Por enquanto, tudo bem. Parece que há apenas um botão que não consigo desativar ... o botão liga / desliga. Estou operando sob a suposição de que não há como desativar o botão liga / desliga. Por favor, deixe-me saber se estou errado. Então, eu preciso descobrir como lidar com isso. Obviamente, se o botão liga / desliga estiver pressionado e o dispositivo for desligado, não há nada que eu possa fazer sobre isso. No entanto, se o botão liga / desliga for pressionado para desligar a tela e depois pressionado novamente para ligá-la novamente, eu gostaria de lidar com isso adequadamente.

O que está acontecendo é que o aplicativo continua em execução, mas não está mais em tela cheia. A barra de notificação é exibida. Dessa forma, posso puxá-lo para baixo e acessar outras áreas do Android.

Por que acordar a tela no dispositivo Android faz com que a barra de notificação apareça em um aplicativo de tela cheia configurado conforme descrito acima ... e como evito isso?

questionAnswers(4)

yourAnswerToTheQuestion