La captura de INICIO intención mediante programación
-
19-09-2019 - |
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.
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 ().