android - 下一个和上一个操作不适用于 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)
}
解决方案
推荐阅读
- ios - 尝试更改根视图控制器时,App Delegate 崩溃并出现 NSException
- unit-testing - 编写 Substrate 运行时测试时的快进时间
- c# - 如何将 QnA Maker 服务添加到具有 LUIS 的聊天机器人
- gpo - 无法在自定义 2012 gpo 基线中添加 windows 2016 gpo 设置
- java - 使用 AOP 初始化对象
- html - HTML 热键输入控件
- javascript - 为什么只执行这些功能之一
- python - 我需要帮助理解 Python 中的“列表”关键字问题
- sql-server - 获取不带列名插入的存储过程列表
- vue.js - 单击滚动机制向下滚动时,目的地下拉列表会自动关闭