Partenza registerMediaButtonEventReceiver(ComponentName broadcastReceiver);
Definire un BroadcastReceiver
che gestisce ACTION_MEDIA_BUTTON
. Il destinatario intent
include un singolo campo aggiuntivo, EXTRA_KEY_EVENT
, contenente l'evento chiave che ha causato la trasmissione. È possibile utilizzare questo evento chiave per ottenere quale tasto è stato premuto.
EDIT:
Questo è solo un esempio di codice. errori di sintassi potrebbero essere lì.
// 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 .......
}
}
Annullare la registrazione del ricevitore onPause()
o onStop()
Può fare un esempio di quello per soddisfare? – kevdliu
Ho aggiunto il codice di esempio. Ma ci sono errori di sintassi in esso. Inoltre, è necessario controllare il tasto di azione in basso o la chiave. Per iniziare è buono, aggiungilo più tardi. – Ronnie
Inoltre, non dimenticare di annullare la registrazione del ricevitore, altrimenti le altre applicazioni che utilizzano l'evento del pulsante multimediale potrebbero essere interessate. – Ronnie