Bloquear el botón de inicio en helado de sándwich y jelly bean

Estoy desarrollando la pantalla de bloqueo donde quiero desactivar el botón Inicio en el sándwich de helado y en Jelly Bean, puedo bloquearlo utilizando los siguientes métodos en android 2.2, 2.3

@Override public void onAttachedToWindow() { // TODO Auto-generate method stub this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); } 

También lo intenté

  getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 

Aquí también no estoy recibiendo información de eventos a través de método onPause o onKeyDown

Pero estos métodos done't trabajo para mí en ICS, Jelly bean si hay algún método que puede reemplazarlo y luego hágamelo saber

Puesto ICS, es decir, Android 4 +, la sustitución de la HomeButton se ha eliminado por razones de seguridad, para permitir que el usuario salir en caso de que la aplicación resulta ser un malware.

Además, no es una buena práctica no permitir que el usuario navegue lejos de la aplicación. Pero, puesto que está realizando una aplicación de bloqueo de pantalla, lo que puede hacer es declarar la actividad como un Lanzador , de modo que cuando el HomeButton se presiona simplemente reiniciará su aplicación y permanecerá allí mismo (los usuarios no notan nada, sino un ligero parpadeo En la pantalla).

EDIT # 1: Aquí hay otra solución , más adecuada a sus necesidades.

EDIT # 2: Sólo se encontró con esto. No lo he probado. Pero parece un poco prometedor. No estoy seguro de si funcionaría, pero podría intentarlo.

Hay pocas cosas que puedes probar:

  • Puede establecer su nivel superior de actividad e iniciarlo con una bandera clara a superior cuando se onPause() al método onPause() , esto bloqueará el botón de inicio y abrirá otras actividades.

  • Escucha la emisión BOOT_COMPLETED para iniciar tu actividad: esto te protegerá de los usuarios que sacarán la batería del dispositivo para reiniciarla.

  • Agregue Alarmmanager que pondrá a prueba cada segundo si su aplicación está viva y si no lo es, a continuación, inícielo. Esto le protegerá de los usuarios que algunos han logrado cerrar su aplicación (puede ser con herramientas externas).

Haz esto y nadie podrá salir de tu aplicación.

Creo que es imposible detectar y / o interceptar el botón HOME desde una aplicación de Android. Esto está integrado en el sistema para evitar que las aplicaciones malintencionadas no puedan salir.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.