android - 在 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()
在我的服务中看到对该方法的另一个调用,但没有任何回调。这意味着我无法通过选择队列中的项目来更改正在播放的歌曲。
我显然错过了一些东西,但我无法弄清楚。所有帮助表示赞赏。
谢谢!
解决方案
找到答案了!MediaSessionCompat.Callback
有一个方法onSkipToQueueItem(long id)
,一旦MediaItem
选择了当前队列中的 a ,就会调用该方法。覆盖此方法,您将在选择队列项目时收到通知。
推荐阅读
- c++ - 与静态 libstd 链接时的唯一全局符号
- python - 为什么我们在 Numpy 中得到双布尔索引这样的结果?
- php - 将 .png 图像作为 BLOB 插入时 MySQL 报告语法错误
- python - Collatz猜想中的计数步骤
- python - 如何从python中的多个tsv列生成一个tsv文件
- ruby-on-rails - 未检测到 html 中的 Heroku 更改
- python - Python:在字典中创建字典以转换为 JSON
- php - Laravel 获取关系
- c# - 仅包含某些索引的 Cosmos Db 集合
- r - DiagrammeR - 找不到函数“grViz”