Starten Sie die Spracherkennung durch eine Stimme mit einem Satz wie "Ok Google"?

Ich erstelle eine App, die mithilfe von Sprachbefehlen bestimmte Funktionen ausführt. Ich habe ein paar Codes vonHie

private static final int SPEECH_REQUEST_CODE = 0;

// Create an intent that can start the Speech Recognizer activity
private void displaySpeechRecognizer() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
// Start the activity, the intent will be populated with the speech text
    startActivityForResult(intent, SPEECH_REQUEST_CODE);
}

// This callback is invoked when the Speech Recognizer returns.
// This is where you process the intent and extract the speech text from the intent.
@Override
protected void onActivityResult(int requestCode, int resultCode,
        Intent data) {
    if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) {
        List<String> results = data.getStringArrayListExtra(
                RecognizerIntent.EXTRA_RESULTS);
        String spokenText = results.get(0);
        // Do something with spokenText
    }
    super.onActivityResult(requestCode, resultCode, data);
}

Dieser Ansatz muss jedoch durch Klicken auf eine Schaltfläche aktiviert werden. Gibt es eine Möglichkeit, die Spracherkennung auch über einen Sprachbefehl zu starten? Wie bei Google Now, wo Sie einfach "Ok Google" sagen können, wird die Spracherkennungsaktivität geöffnet und auf Befehle gewarte

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage