【发布时间】:2017-06-04 12:46:46
【问题描述】:
我正在尝试将 Android Auto 的 MediaBrowserService 添加到现有的媒体播放器应用中。该应用程序有一个管理MediaSession、Callbacks 和相关状态的活动。它已被设置为发出事件,后台 MediaBrowserService 使用这些事件并用于构建其内容树。
当流程像这样时,这一切都很好:
Start my app -> Start Android Auto -> Browse media
但是,当流动为:
Start Android Auto -> Browse media
...如在 Android Auto 启动之前应用未启动并在后台运行时。
问题似乎是,虽然我的MediaBrowserService 将由Android Auto 自动启动,但它不会创建我的应用程序Activity 的相应实例(这意味着没有事件通知MediaBrowserService ,因此在 Android Auto 中没有可用的内容)。
理想情况下,MediaBrowserService 似乎需要能够检查并查看应用程序的“主”Activity 是否正在运行,并在未运行时生成一个新实例。但不确定这是否可能,而且往往感觉这里采取的方法是错误的。
解决此问题的正确方法是什么?我不想在MediaBrowserService 实现中复制所有应用程序的MediaSession 处理和播放相关代码。这应该尽可能保持轻量级。有没有办法确保应用程序的Activity 在MediaBrowserService 处于活动状态时始终运行?
【问题讨论】:
标签: java android android-auto mediabrowserservice