Pregunta

Necesito mi actividad de manejar botón HOME prensa con una receptor mediante programación, pero el evento no está disparando. Yo puedo, Sin embargo, regístrese con éxito y capturar este filtro si la intención declarar que en una sección actividad manifest.xml. Aquí está el código de el receptor que no funciona:

BroadcastReceiver br;

br = new BroadcastReceiver() {
       @Override
       public void onReceive(Context context, Intent intent) {
               return;  // I put a breakpoint here to see if this gets called
       }
};


IntentFilter intf = new IntentFilter();
intf.addAction(Intent.ACTION_MAIN);
intf.addCategory(Intent.CATEGORY_HOME);
intf.addCategory(Intent.CATEGORY_DEFAULT);

registerReceiver(br, intf);

¿Alguien sabe por qué esto no captura el botón de inicio, haga clic en?

Por cierto, he intentado trabajar en torno a este mediante la creación de otra actividad y especificando su filtro intención en el manifiesto. Me puse la actividad enabled = "false" en el manifiesto, pero no pude encontrar la manera de permitir que la actividad en tiempo de ejecución. En pocas palabras, sólo quiero registrar el filtro de intención botón de inicio para mi aplicación sólo cuando mi aplicación se está ejecutando, y no puedo encontrar la manera de hacer eso.

¿Fue útil?

Solución

Si usted está tratando de implementar una pantalla de inicio de sustitución, es necesario el filtro de Intent estar en el manifiesto - ver la aplicación de ejemplo en el SDK Inicio

.

Si usted está tratando de bloquear la tecla de inicio, por favor, no lo haga.

Otros consejos

Nunca debe haber un caso en el que deberías necesitar cambiar el botón de inicio, que está ahí para asegurarse de que el usuario siempre mantener el control sobre su teléfono. ¿Qué estás tratando de hacer exactamente? Si desea detectar cuando su actividad ya no son visibles, debe reemplazar onStop ().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top