Interrupción del botón de inicio en android
Estoy tratando de entender las formas de anular la funcionalidad del botón de inicio en Android. Estoy haciendo una aplicación LockScreen y el botón HOME está desbloqueando el dispositivo.
He estado investigando los últimos 3 días para una manera de hacerlo, y todas las soluciones que he encontrado no son 100% eficaces (principalmente debido a la naturaleza de HOME).
- ¿Cree la lockscreen personalizada para android 4.0 o arriba?
- Mostrar información personalizada en la pantalla de bloqueo en Android
- Personalización de la funcionalidad de la pantalla de bloqueo de Android?
- Creación de una aplicación de pantalla de bloqueo de Android.
- Creación de LockScreen personalizado en android
He implementado soluciones para todas las soluciones a continuación en estos tres días, pero Im todavía no satisfecho.
Problema:
Quiero ser capaz de anular la funcionalidad del botón HOME de la misma manera que la aplicación WidgetLocker en la AppStore. WidgetLocker no es un lanzador casero y todavía puede anular el HOME mejor que cualquier persona.
Enlace a la aplicación WidgetLocker
Renuncia
- En primer lugar, sé que se trata de una medida de seguridad en Android para que una aplicación no tome el control total del dispositivo y estoy de acuerdo con él.
- La forma oficial es implementar un lanzador de casa y es mi preferido de todos ellos, por desgracia mi jefe todavía no está 100% convencido en el camino que seleccioné, hasta agotar todas las demás posibilidades.
- Debe ser para la versión 4.0+ de android
Soluciones
- Implementar como iniciador de inicio, captura la intención de HOME y cuidar de pulsaciones de botón de inicio, esto tiene el problema de que el usuario debe seleccionar la aplicación como el inicio por defecto de inicio y no puede entender por qué (otro problema que sé, pero aún)
- Implementar un servicio con una vista SYSTEM_OVERLAY que se ejecuta cada vez que el dispositivo está bloqueado, siendo efectivamente en la parte superior de todo, por desgracia (o, por fortuna, la seguridad) las pulsaciones de botón de inicio siguen siendo enviados a la aplicación de abajo y el inicio por defecto lanzador sigue siendo llamado.
- Implementar una actividad paralela a la que implementa la pantalla de bloqueo, que contiene el INICIO de inicio que se activa / desactiva de forma programática en las opciones de mi aplicación, cambiando efectivamente la aplicación principal a un homelauncher a petición, cuando se llama a esta actividad se inicia la lockscreen actividad.
Hay alguna otra manera de hacer esto?
Gracias por adelantado.
- Widget de la pantalla de bloqueo de Android
- Android Galaxy S4 - Actividad visible en la pantalla de bloqueo
- OnReceive no se llama al eliminar Widgets en la pantalla de bloqueo - Nexus 7
- El desarrollo de una aplicación de pantalla de bloqueo de Android
- Desbloquear dispositivo, mostrar un texto y bloquearlo de nuevo.
- Establecer lockscreen a "None" por programa?
- Método getWindow () no puede utilizar
- Actividad de Android sobre la pantalla de bloqueo predeterminada
Busque en el siguiente tema una forma de anular el botón de inicio: Sobreescribir la funcionalidad del botón Inicio
Personalmente, aunque sugeriría ir a la opción donde implementar su propia pantalla de inicio. Utilizamos una instalación similair donde trabajo. La aplicación que queremos que la gente utilice se establece como la opción predeterminada cuando se presiona el botón de inicio. De esa manera podemos controlar donde la gente puede ir en gran medida. Estas opciones sólo se pueden restablecer restableciendo los valores predeterminados de aplicación de la aplicación. Esto hace que no sea permanente en caso de que se necesite una corrección al dispositivo.
Para la última implementación, solo instale con las siguientes líneas en su manifiesto
<category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.DEFAULT" />
Ahora, la próxima vez que pulse el botón de inicio, una ventana emergente le preguntará qué desea hacer.
- LayoutTransition – Expandir un contenedor no empuja otros contenedores
- AudioTrack flush () que provoca estática