首页 > 解决方案 > 下一个和上一个操作不适用于 MediaButtonReceiver

问题描述

我有一个使用该onStartCommand方法并执行handleIntent 的音乐流媒体服务。我想要实现的是,如果我将我的设备连接到像扬声器这样的蓝牙设备,我可以跳过扬声器中的歌曲,但它不起作用。起作用的是通过扬声器上的物理按钮暂停和恢复歌曲。

我的清单:

 <receiver android:name="androidx.media.session.MediaButtonReceiver">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
 </receiver>

服务:

 private var mediaSessionCompat: MediaSessionCompat ? = null

 override fun onStartCommand(intent: Intent ? , flags : Int, startId: Int): Int {
   if (mediaSessionCompat == null) {
     mediaSessionCompat = MediaSessionCompat(applicationContext, "MyMediaSessionCompat")
   }
   MediaButtonReceiver.handleIntent(mediaSessionCompat, intent)
   handleIntent(intent)
   return super.onStartCommand(intent, flags, startId)
 }

标签: androidandroid-mediasession

解决方案


推荐阅读