2010-10-17 20 views
5

Duplicar posible:
Lock the android device programaticallyCómo bloquear botones/teléfono Android desde el código (bloqueo de pantalla)?

he hecho una sencilla aplicación para Android con un bloqueo de código PIN/pantalla. El usuario debe escribir una contraseña para bloquear el teléfono y luego repetirlo para desbloquear el teléfono. El problema es que el usuario todavía puede presionar hacia atrás, inicio (etc.) para salir de la aplicación sin escribir el código. ¿Cómo puedo prevenir esto?

Respuesta

4

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).

0

Tengo entendido que no puede bloquear la tecla de inicio, ya que es una característica de seguridad que permite al usuario salir siempre de una aplicación. Sin embargo, presionar inicio no cerrará la actividad.

+0

La función integrada de bloqueo de la pantalla de bloqueo/patrón en bloques androide tanto para el hogar y la espalda. – Martin

+0

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. –

0

los chicos que crearon "Bloqueo para niños pequeños" libre apk de alguna manera lograron lo hizo - descargar y ver por sí mismo :)

cuando se ejecuta, se le pide permiso para ejecutarse como aplicación a casa y es necesario comprobar la casilla "usar como predeterminado". Para salir de la aplicación, debe presionar las 4 esquinas de la pantalla. Todos los botones pero el poder uno están bloqueados. ¡Así que hay una manera segura de hacer eso!

le explica a los usuarios cómo funciona aquí: http://www.toddlerlock.com/3.html

Cuestiones relacionadas