Подтвердить что ты не робот

Как программно инициировать голосовой поиск Google Now?

Я хочу начать голосовой поиск Google Now, когда пользователь нажимает кнопку. Однако я не могу найти намерение начать поиск в документах.

Кто-нибудь знает, как начать работу для голосового поиска Google Now?

4b9b3361

Ответ 1

Используйте ACTION_RECOGNIZE_SPEECH:

private static final int RECOGNIZER_REQ_CODE = 1234;

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
startActivityForResult(intent, RECOGNIZER_REQ_CODE);

Обратите внимание, что вы должны использовать startActivityForResult(), поскольку startActivity() не поддерживается. Подробнее см. В связанных ссылках.

Ответ 2

Активность вызовов для голосового ввода:

/* 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();
}

Получить входные данные из строки:

(Я использовал для набора текста в режиме поиска и поиска этого значения)

/* 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;
    }
    }
}

Ответ 3

Вам нужно запустить Activity, только с действием, установленным на android.intent.action.VOICE_ASSIST, и появится распознаватель Google Now Speech. Попробуйте это с помощью инструментов разработчика:

adb shell am start -a android.intent.action.VOICE_ASSIST