Я интегрировал голосовой поиск из ОК 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);
}
Я опубликовал приложение в закрытой альфа-версии в игровом магазине. Все еще Activity не открывается из ok google. Я пробовал использовать голосовые команды, такие как «окей, Google, поиск салата в 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.
Отвечая на свой вопрос для использования в будущем. Я скопировал приведенный выше код и опубликовал свое приложение в альфа-версии. Как интегрировать Activity с возможностью поиска с голосовым поиском Ok Google?
Просто удалите фильтр намерений из манифеста, и он работает для меня.
<intent-filter>
<action android:name = "android.intent.action.SEARCH" />
</intent-filter>