Ich versuche, Medientaste Ereignisse von Headsets oder Auto Kontrollen (Wiedergabe/Pause/etc.)MediaButtonReceiver arbeitet nicht mit MediaBrowserServiceCompat
Dies ist in meinem App-Manifest zu erhalten.
<service android:name=".mediaPlayerService.MediaPlayerService"
android:exported="true">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService"/>
</intent-filter>
</service>
<!--
A receiver that will receive media buttons and send as
intents to your MediaBrowserServiceCompat implementation.
Required on pre-Lollipop. More information at
http://developer.android.com/reference/android/support/v4/media/session/MediaButtonReceiver.html
-->
<receiver android:name="android.support.v4.media.session.MediaButtonReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON"/>
</intent-filter>
</receiver>
Dies ist Teil meiner MediaPlayerService
public class MediaPlayerService extends MediaBrowserServiceCompat {
@Override
public void onCreate()
{
super.onCreate();
initMediaSessions();
}
private void initMediaSessions()
{
mSession = new MediaSessionCompat(getApplicationContext(), MediaPlayerService.class.getSimpleName());
setSessionToken(mSession.getSessionToken());
mSession.setCallback(new MediaSessionCompat.Callback()
{
//callback code is here.
}
);
}
@Override
public int onStartCommand(Intent startIntent, int flags, int startId)
{
if (startIntent != null)
{
// Try to handle the intent as a media button event wrapped by MediaButtonReceiver
MediaButtonReceiver.handleIntent(mSession, startIntent);
}
return START_STICKY;
}
Es scheint, wie ich etwas fehle. Wenn ich die Pause-Taste an meinen Headset-Steuerelementen drücke, wird der onStartCommand nie aufgerufen.
Eine Idee, warum dies nicht wie erwartet funktioniert?
Die Einstellung der Aktionen klingt nicht plausibel. Ich werde das überprüfen. – Hackmodford
Ich habe das Einstellen der Aktionen verpasst. Flags waren automatisch, weil ich MediaBrowserCompat benutze Vielen Dank! – Hackmodford
Ich bin mir nicht sicher, was Sie unter "Flaggen waren automatisch" verstehen. Wenn Sie 'setFlags()' nicht aufrufen, gibt es sicherlich Probleme (insbesondere beim Empfang von Medien-Buttons auf
ianhanniballake