应用程序处于后台时,MediaButtonReceiver无法正常工作

时间:2018-01-17 13:31:58

标签: android android-mediaplayer mediabrowserservicecompat media-buttons

我使用this guideheadache功能添加到我的媒体播放器应用中。

到目前为止,该应用程序位于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>

请问我做错了什么,如何在应用程序处于前台时进行服务接收按钮操作?

2 个答案:

答案 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)