实现 Android Auto 语音命令支持

Kim*_*Kim 15 android android-auto google-assistant-sdk

我正在使用媒体播放器回调方法为 Android Auto 实现语音命令。我无法让 Auto 识别出我要求在我的应用程序上播放标题:“Play [x] on MyApp”。我知道这个命令发布后需要几天时间才能工作,但我仍然可以说“Play [x]”媒体会话已经在运行,它应该使用onPrepareFromSearchonPlayFromSearch方法来搜索和播放内容。

当我说“Play [x] on MyApp”我得到回应时“I looked for [x] on MyApp on Google Play Music but it either isn’t available or it can’t be played right now”。当我说“Play [x]”我的媒体服务正在运行时,它通常会将我重定向到 Google Play 音乐。

我可以使用语音命令暂停、恢复、向前跳和向后跳,我看到那些被记录但当我尝试执行语音搜索时既不调用onPrepareFromSearch也不onPlayFromSearch调用。

我尝试过的事情:

  • <intent-filter>MEDIA_PLAY_FROM_SEARCH我的应用程序中的活动添加了一个for以标记我的应用程序可用于搜索媒体
  • 实施onPrepareFromSearchonPlayFromSearch在我的MediaSessionCompat.Callback
  • 添加ACTION_PLAY_FROM_SEARCHACTION_PREPARE_FROM_SEARCH作为支持的操作。
  • 设置媒体会话标志FLAG_HANDLES_MEDIA_BUTTONSFLAG_HANDLES_TRANSPORT_CONTROLS
  • 根据此处的文档添加了对 Android Auto 的支持:https : //developer.android.com/training/cars/media/auto

为了让它起作用,我是否缺少一个步骤?