Puede bloquear el botón Atrás sobrescribiendo dispatchKeyEvent()
en su clase Activity
y devolviendo verdadero si event.getKeyCode()
es igual a KeyEvent.KEYCODE_BACK
. Pero no puedes bloquear el botón de Inicio para que no vaya a la página de inicio.
He oído hablar de algunos trucos donde registra su aplicación como receptor del intento android.intent.category.HOME
. Esto haría que el sistema operativo Android cargue su actividad si el usuario presiona el botón de inicio. Si puede hacer que esto funcione, puede cargar la pantalla de inicio "real" si el usuario ingresó la contraseña correcta. Sin embargo, es probable que este enfoque se comporte de manera diferente en diferentes dispositivos y versiones de Android, y probablemente no haga nada para evitar que aparezca la lista de tareas Hold-Home.
La conclusión es que el sistema operativo Android ha sido diseñado para evitar solo lo que estás tratando de hacer: una aplicación no debería poder controlar el teléfono e impedir que se ejecuten otras aplicaciones (especialmente el teléfono).
La función integrada de bloqueo de la pantalla de bloqueo/patrón en bloques androide tanto para el hogar y la espalda. – Martin
Sí, pero como dijiste, eso está incorporado. Es parte del sistema operativo. Acceder a esa funcionalidad desde una aplicación que no es parte del sistema operativo sería un problema de seguridad, ya que permitiría a los desarrolladores cambiar la funcionalidad del sistema operativo. –