web-dev-qa-db-ja.com

プログラムでGoogleNowの音声検索を開始するにはどうすればよいですか。

ユーザーがボタンを押したときにGoogle Now音声検索を開始したい。ただし、ドキュメントで検索を開始する意図が見つかりません。

Google Now音声検索のアクティビティを開始する方法を知っている人はいますか?

19
patil215

使用 _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()を使用する必要があることに注意してください。詳細については、上記のリンクされたドキュメントを参照してください。

9
ozbek

音声入力の通話アクティビティ:

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

アクションのみをAndroid.intent.action.VOICE_ASSISTに設定してアクティビティを開始する必要があり、GoogleNow音声認識機能がポップアップします。開発ツールを使用してこれを試してください。

adb Shell am start -a Android.intent.action.VOICE_ASSIST
8
user3805309