Как интегрировать активность поиска с помощью голосового поиска Google?

Я пытаюсь реализовать интеграцию с Google Voice Search . Тем не менее, я не могу подключиться к своему приложению, когда говорю «Поиск Android на имя приложения». Вместо этого он просто ищет термин в Интернете.

Вот что я сделал:

  1. Создать /res/xml/searchable.xml

    <?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/app_name" android:hint="@string/search_hint"> </searchable> 
  2. Создать новую активность

     public class ExposedSearchActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String search = getIntent().getStringExtra(SearchManager.QUERY); Log.wtf("", "q=" + search); } } 
  3. Присоединить фильтры намерений к поисковой деятельности

     <activity android:name=".search.ExposedSearchActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:screenOrientation="fullSensor"> <!--Deeplink from google now--> <intent-filter> <action android:name="com.google.android.gms.actions.SEARCH_ACTION"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <!--Making it searchable--> <intent-filter> <action android:name="android.intent.action.SEARCH"/> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/> </activity> Размер <activity android:name=".search.ExposedSearchActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:screenOrientation="fullSensor"> <!--Deeplink from google now--> <intent-filter> <action android:name="com.google.android.gms.actions.SEARCH_ACTION"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <!--Making it searchable--> <intent-filter> <action android:name="android.intent.action.SEARCH"/> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/> </activity> 
  4. Мое тестовое устройство – Nexus 5 работает Lollipop LPX13D с Google Search 4.0.26.1499465.arm

Какие еще шаги я мог бы забыть? Заранее спасибо.

Solutions Collecting From Web of "Как интегрировать активность поиска с помощью голосового поиска Google?"

После многих поисков я нашел ответ в комментарии в Google+ автором сообщения в блоге Джареком Вилкевичем .

Да, приложение должно быть опубликовано в Play Маркете, чтобы эта функция работала. Один из способов помочь отлаживать ваш конец – это инициировать намерение через adb, например: adb shell am start -a com.google.android.gms.actions.SEARCH_ACTION -e запрос foo

Поэтому я тестировал эту функцию в приложении, которое уже находится в Play Маркете, и работает безупречно.