Голосовой поиск Google с использованием RecognizerIntent.ACTION_RECOGNIZE_SPEECH не выполняет действия
Я разрабатываю приложение, в котором пользователь может произнести команду, и она будет выполнена. Так же, как приложение "Голосовой поиск" от Google. Я хочу использовать набор команд связанных действий голосового поиска.
Мой код выглядит следующим образом:
@Override
public void startVoiceRecognitionActivity() {
// TODO Auto-generated method stub
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Command me");
startActivityForResult(intent, REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQUEST_CODE: {
ArrayList<String> matches = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
ApplicationDebug.printlog("got inside onactivityresult");
String spokenText = matches.get(0);
Toast.makeText(getApplicationContext(), spokenText,
Toast.LENGTH_LONG).show();
// super.onActivityResult(requestCode, resultCode, data);
break;
}
}
}
по какой-то кнопке я звоню startVoiceRecognitionActivity()
,
Он правильно определяет голос, но здесь не происходит никаких действий. Что я имею в виду, если я скажу "Открыть калькулятор", он показывает текст правильно, но не открывает приложение калькулятора.
1 ответ
Похоже, вы ищете это:
RecognizerIntent.ACTION_VOICE_SEARCH_HANDS_FREE