我在下面使用 ok google 集成了语音搜索。 AndroidManifest 条目:
<activity
android:name=".ExposedSearchActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="com.google.android.gms.actions.SEARCH_ACTION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
在 ExposedSearchActivity - onCreate() 中
if (intent != null && intent.hasExtra(SearchManager.QUERY)) {
String search = intent.getStringExtra(SearchManager.QUERY);
Log.wtf("", "q=" + search);
}
我已经在 Playstore 上以封闭的 alpha 版本发布了该应用程序。仍然没有从 ok google 打开 Activity。 我尝试过语音命令,例如“ok google 在 MyApp 中搜索沙拉”或“在 MyApp 中搜索沙拉”。
尽管从 adb 中它是通过如下命令打开的。
adb shell am start -a com.google.android.gms.actions.SEARCH_ACTION -e query "salad" com.abc.MyAppp
我发布我的应用程序已经 2 天了,但仍然来自谷歌助手或者谷歌语音搜索没有打开我的应用程序。
最佳答案
回答我自己的问题以供将来引用。 我已经复制了上面的代码并在 alpha 版本中发布了我的应用程序。 How to integrate searchable Activity with Ok Google voice search?
只需从 list 中删除下面的 Intent 过滤器,它对我有用。
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
关于android - 语音搜索无法在 ok google 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52776410/