android - 在 Android 自动队列中选择媒体项目没有任何作用

标签 android android-auto

我正在向我的应用添加对 Android Auto 上播放的支持。我已经成功创建了扩展 MediaBrowserServiceCompat 的服务,并且一切正常。在 Android Auto 中,我可以单击要播放的 MediaItem,然后开始播放。在“正在播放”屏幕上,如果我点击播放列表/队列按钮,我会看到以下日志:

D/GH.UnCfbMediaActivity: openQueue
D/GH.MediaModel: unsubscribe mediaId=QUEUE_ROOT
D/GH.UnCfbMediaActivity: subscribeCFAdapterToQueue
D/GH.MediaModel: subscribe mediaId=QUEUE_ROOT
unsubscribe mediaId=QUEUE_ROOT
D/GH.VnActivity: disableInteraction
D/GH.MediaModel: Loaded 10 children for QUEUE_ROOT.

显示当前队列(包含我希望看到的 10 个 MediaItem),并且我点击队列中的 MediaItem,Android Auto 返回“正在播放”屏幕,但不播放我在队列中选择的 MediaItem 。我预计会在我的服务中看到对 onPlayFromMediaId() 方法的另一次调用,但没有任何回调。这意味着我无法通过选择队列中的项目来更改正在播放的歌曲。

我显然错过了一些东西,但我无法弄清楚。感谢所有帮助。

谢谢!

最佳答案

找到答案了! MediaSessionCompat.Callback 有一个方法onSkipToQueueItem(long id),一旦选择了当前队列中的MediaItem,就会调用该方法。覆盖此方法,当选择队列项目时您将收到通知。

关于android - 在 Android 自动队列中选择媒体项目没有任何作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53837783/

相关文章:

Android Studio 没有正确安装

android - 如何在android中添加动画到popBackStack?

java - 谷歌地图 v2 出错

android - Android Automotive 与 Google 内置的区别

Android:布局不显示为选项卡内容

android - 如何更新 Android Auto 媒体浏览器中的默认错误文本?

android-auto - Android Automotive 支持 Android Auto 和 CarPlay

Android auto - 如果从应用程序播放,将向汽车扬声器播放声音

android - 我正在开发 Android Auto Media App,但无法理解 MediaBrowserService 的生命周期

java - 如何在标准 Java 中实现 Android 消息处理程序模式?