Cómo monitorear las pulsaciones de teclas en los servicios de Android
Primero, personalice un BroadcastReceiver:
[java] ver copia simple
clase HomeKeyEventBroadCastReceiver extends BroadcastReceiver {
static final String SYSTEM_REASON = "motivo";
static final String SYSTEM_HOME_KEY = "homekey";
static final String SYSTEM_RECENT_APPS = "recentapps" //tecla de inicio larga
p>@Override
public void onReceive(Contexto de contexto, intención de intención) {
String action = intent.getAction();
if ( action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
String motivo = intent.getStringExtra(SYSTEM_REASON);
if (motivo ! = null) {
if (reason.equals(SYSTEM_HOME_KEY)){
// Punto de procesamiento de la clave de inicio
} else if (reason.equals(SYSTEM_RECENT_APPS)) {
// Punto de procesamiento de clave de inicio largo
} else if (reason.equals(SYSTEM_RECENT_APPS)) {
// Punto de procesamiento de clave de inicio largo
} p>
}
}
}
}
}
En segundo lugar, genera y registra p>
[java] Ver copia plana
receiver = new HomeKeyEventBroadCastReceiver();
registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)); p> ¡De esta manera podemos manejar la tecla INICIO en la aplicación!