Die Google-Music-App (auf OnePlus One, Cyanogen OS-Version 12.1) den nächsten Song spielt, wenn die Volume-Up Hardware-Key lang gedrückt und spielt die vorheriger Song auf einer Leiser-Taste lange drücken. Ist es möglich, diese Aktionen in einem BroadcastReceiver zu empfangen? Oder behandelt das Betriebssystem diese langen Klicks nur als MEDIA_BUTTON-Aktion? (Falls keine meiner beiden Annahmen richtig ist, wie funktioniert Google Play tun?)lange Volumen-Taste drücken
Edit 1:
Scheint, wie es eine MEDIA_BUTTON Aktion ist mit "MEDIA_NEXT". Aber warum empfängt mein Empfänger die Aktion nicht?
String action = intent.getAction();
if(action.equalsIgnoreCase(Intent.ACTION_MEDIA_BUTTON)) {
KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (KeyEvent.KEYCODE_MEDIA_PLAY == event.getKeyCode()) {
//my play code
}else if (KeyEvent.KEYCODE_MEDIA_NEXT == event.getKeyCode()) {
//my play next code
}else if (KeyEvent.KEYCODE_MEDIA_PREVIOUS == event.getKeyCode()) {
//my play prev code
}else if (KeyEvent.KEYCODE_MEDIA_PAUSE == event.getKeyCode()) {
//my pause code
}
}
es im Manifest mit registriert ist:
<receiver android:name=".receiver.AudioPlayerBroadcastReceiver">
<intent-filter>
//other actions (they all work fine)
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
Danke, aktualisiert nur meine Frage darauf! Kannst du mein Problem erkennen? –