Salida registerMediaButtonEventReceiver(ComponentName broadcastReceiver);
definir un BroadcastReceiver
que maneja ACTION_MEDIA_BUTTON
. El intent
recibido incluye un único campo adicional, EXTRA_KEY_EVENT
, que contiene el evento clave que provocó la transmisión. Puede usar este evento clave para obtener la tecla presionada.
EDIT:
Esto es sólo un ejemplo de código. los errores de sintaxis pueden estar ahí.
// in onCreate of activity
registerMediaButtonEventReceiver(mediaReceiver);
// later somewhere in activity.
MediaButton_Receiver mediaReceiver = new MediaButton_Receiver();
class MediaButton_Receiver implements BroadcastReceiver {
void onReceive(Intent intent) {
KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
}
// Similarly other key codes .......
}
}
Eliminar el registro en el receptor o onPause()
onStop()
¿Puede dar un ejemplo de eso por favor? – kevdliu
He agregado el código de muestra. Pero hay errores de sintaxis en él. También debe marcar la tecla de acción hacia abajo o hacia arriba. Para empezar, esto es bueno, agrégalo más tarde. – Ronnie
Además, no se olvide de anular el registro del receptor, de lo contrario, otras aplicaciones que utilicen el botón del botón multimedia pueden verse afectadas. – Ronnie