Я пытаюсь реализовать интеграцию Ok Google Voice Search. Тем не менее, я не могу подключиться к своему приложению, когда говорю "Поиск Android на имя приложения". Вместо этого он просто ищет термин в Интернете.
Вот что я сделал:
-
Создать/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>
-
Создайте новую активность
public class ExposedSearchActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String search = getIntent().getStringExtra(SearchManager.QUERY); Log.wtf("", "q=" + search); } }
-
Прикрепите фильтры намерений к активности, доступной для поиска.
<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>
-
Мое тестовое устройство - это Nexus 5, работающий с Lollipop LPX13D с Google Search 4.0.26.1499465.arm
Какие еще шаги я мог бы забыть? Спасибо заранее.