根据Android 汽车应用质量指南 MA-1:
该指南建议阅读实现播放命令,它指的是设置初始 PlaybackState 的指令。这指出:
当 Android Automotive OS 或 Android Auto 连接到您的媒体浏览器服务时,您的应用不应自动开始播放音乐。
这似乎很清楚 - 启动 Android Auto 时,音乐不应自动播放。
但是,我看不到一种明显的方法可以检测Android Auto何时启动并连接到应用程序。
我的媒体应用程序具有当您在手机上使用它时自动播放的功能,并且它最后处于“播放”状态。所以我需要在 Android Auto 连接时禁用此功能。
当 Android Auto 连接时,MediaSessionCompat.Callback:onPlay
将被调用。onPlay
但是,如果用户单击“播放”图标,则会进行相同的回调。显然,如果用户单击“播放”图标,则应该播放音乐。
那么我如何知道用户是否手动按下了播放,或者 Android Auto 是否已连接到应用程序?
你可以在
MediaBrowserCompat.ConnectionCallback()
. 您很可能已经为 Android Auto 实施设置了媒体浏览器服务。它有一个onConnected()
专门用于此目的的方法,只要您的应用程序启动该连接,您就可以使用它来处理任何逻辑