我使用以下方法从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);
}
我已在Play商店以封闭的Alpha版本发布了该应用。尚无法从ok谷歌打开静态活动。 我已经尝试过语音命令,例如“确定谷歌在MyApp中搜索沙拉”或“在MyApp中搜索沙拉”。
尽管从adb可以通过如下命令打开它。
adb shell am start -a com.google.android.gms.actions.SEARCH_ACTION -e query "salad" com.abc.MyAppp
已经2天了,我发布了我的应用程序,但仍然来自Google助手或确定的Google语音搜索未打开MyApp。
答案 0 :(得分:1)
回答我自己的问题,以备将来参考。 我已从上述代码中复制了上述代码,并将我的应用发布为Alpha版。 How to integrate searchable Activity with Ok Google voice search?
只需从清单中删除以下intent过滤器,它对我有用。
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>