С этим кодом:
private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}
По-разному (событие кнопки, жест, жизненный цикл) я могу вызвать этот метод, чтобы открыть приглашение речевого ввода так же, как я щелкнул значок микрофона в поле поиска Google. Хорошо, это хорошо.
Но теперь мне нужно вызвать этот метод с помощью командного голоса. Как и в Google сейчас, мы говорим «Окей, Google», и появляется приглашение голосового ввода. Я хочу сделать это внутри своего приложения. Например, я нахожусь в основном действии, и я говорю «послушайте меня», и вызывается метод promptSpeechInput.
Как я могу это сделать?
Спасибо за помощь.