我使用this guide将headache
功能添加到我的媒体播放器应用中。
到目前为止,该应用程序位于forebackground中,但是只要应用程序进入后台,它就会停止接收媒体按钮操作。
清单的一部分
MediaButtonReceiver
媒体播放器服务的一部分
<service
android:name=".playback.PlayerService"
android:exported="true">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService"/>
</intent-filter>
</service>
<receiver android:name="android.support.v4.media.session.MediaButtonReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON"/>
</intent-filter>
</receiver>
请问我做错了什么,如何在应用程序处于前台时进行服务接收按钮操作?
答案 0 :(得分:1)
您的服务应如下所示
<service android:name=".playback.PlayerService"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>
答案 1 :(得分:1)
我发现了这个问题。我犯了一个非常愚蠢的错误,就是在播放开始时没有调用MediaSessionCompat#setActive(true)。