0

ユーザーがコマンドを話すことができ、実行されるアプリを開発しています。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()

音声は正しく検出されていますが、ここではアクションが発生していません。正確には、「電卓を開く」と言うと、テキストは正しく表示されますが、電卓アプリは開きません。

4

1 に答える 1

0

あなたがこれを探しているように聞こえます:

RecognizerIntent.ACTION_VOICE_SEARCH_HANDS_FREE

于 2015-02-04T15:40:56.033 に答える