android - now - ¿Cómo integrar la actividad de búsqueda con la búsqueda por voz Ok Google?
ok google no funciona (1)
Estoy tratando de implementar la integración de Ok Google Voice Search . Sin embargo, no puedo hacer un deeplink en mi aplicación cuando digo "Buscar Android en app_name". En cambio, simplemente busca el término en la web.
Esto es lo que hice:
Crea /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>
Crear una nueva actividad
public class ExposedSearchActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String search = getIntent().getStringExtra(SearchManager.QUERY); Log.wtf("", "q=" + search); } }
Adjuntar filtros de intención a la actividad de búsqueda
<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>
Mi dispositivo de prueba es un Nexus 5 ejecutando Lollipop LPX13D con Google Search 4.0.26.1499465.arm
¿Qué otros pasos podría haber olvidado? Gracias por adelantado.
Después de muchas búsquedas, encontré la respuesta en un comentario en Google+ del autor de la publicación del blog, Jarek Wilkiewicz .
Sí, la aplicación debe publicarse en Play Store para que la función funcione. Una forma de ayudar a depurar su extremo es activar la intención a través de adb, por ejemplo: adb shell am start -a com.google.android.gms.actions.SEARCH_ACTION -e query foo
Así que probé esta función en una aplicación que ya está en Play Store y funciona perfectamente.