android - oye - ¿Cómo iniciar programáticamente una búsqueda por voz de Google Now?
ok google no funciona (3)
Quiero iniciar una búsqueda de voz de Google Now cuando el usuario presiona un botón. Sin embargo, no puedo encontrar la Intención de iniciar la búsqueda en los documentos.
¿Alguien sabe cómo iniciar la actividad para la búsqueda por voz de Google Now ?
Actividad de llamada para entrada de voz:
/* Call Activity for Voice Input */
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
try {
startActivityForResult(intent, 1);
} catch (ActivityNotFoundException a) {
Toast.makeText(context, "Oops! Your device doesn''t support Speech to Text",Toast.LENGTH_SHORT).show();
}
Obtener entrada de como String:
(He utilizado para establecer texto en la vista de búsqueda y buscar ese valor)
/* When Mic activity close */
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1: {
if (resultCode == Activity.RESULT_OK && null != data) {
String yourResult = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).get(0);
}
break;
}
}
}
Debe iniciar una actividad con solo la acción establecida en android.intent.action.VOICE_ASSIST
y aparece el reconocedor de voz de Google Now. Intenta esto usando las herramientas de desarrollo:
adb shell am start -a android.intent.action.VOICE_ASSIST
Utilice ACTION_RECOGNIZE_SPEECH
:
private static final int RECOGNIZER_REQ_CODE = 1234;
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
startActivityForResult(intent, RECOGNIZER_REQ_CODE);
Tenga en cuenta que tiene que usar startActivityForResult()
ya que startActivity()
no es compatible. Ver los documentos vinculados anteriores para más detalles.