我正在尝试调试为什么使用 Android 模拟器在通过 Google Assistant 运行时无法通过搜索意图启动我的应用程序。
我已将 MEDIA_PLAY_FROM_SEARCH 实现为
intent-filter
并将其连接到 Activity。我向该活动添加了一个断点以查看它是如何调用的。
如果我通过 Android 搜索栏进行搜索...
我得到的只是网络结果:
如何通过模拟器进行搜索来调用我的应用程序?
我还可以使用 adb 获取调用我的应用程序的意图:
am start -a "android.media.action.MEDIA_PLAY_FROM_SEARCH" -e query "yellow\ submarine"
这会按预期调用我的应用程序。
我认为原因是我的查询不正确。我应该输入:
扮演里克·阿斯特利
不是:
播放一首里克·阿斯特利的歌曲
命令列表位于:https://support.google.com/googlenest/answer/7030379?hl=en
但是,出于开发目的,我发现它更容易使用
adb
:
adb [-s emulator-device-id] shell am start -a android.media.action.MEDIA_PLAY_FROM_SEARCH -e query "rick\ astley"