首页 > 解决方案 > 在 Android Auto Queue 中选择媒体项不执行任何操作

问题描述

我正在向我的应用程序添加对 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()在我的服务中看到对该方法的另一个调用,但没有任何回调。这意味着我无法通过选择队列中的项目来更改正在播放的歌曲。

我显然错过了一些东西,但我无法弄清楚。所有帮助表示赞赏。

谢谢!

标签: androidandroid-auto

解决方案


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


推荐阅读