Android API21: VoiceInteractionService onReady () wird nicht aufgerufen

8

Ich habe ein Problem mit dem neuen Android API21, insbesondere dem VoiceInteractorService.

Ich möchte die neue Hotword-Erkennung in API21 verwenden. Wenn ich eine Taste drücke, sollte eine Hotword-Erkennung für das Wort "google" beginnen.

Wenn ich eine Aktivität (MainActivity) habe und die createAlwaysOnHotwordDetector-Methode (String-Schlüsselwort, Gebietsschema-Gebietsschema, AlwaysOnHotwordDetector.Callback-Callback) vom VoiceInteractorService aufrufen möchte, erhalte ich einen Fehler: java.lang.IllegalStateException: Nicht verfügbar bis onReady () wird genannt. Ich habe versucht, dies vorübergehend zu lösen, indem ich eine Weile mit try catch loop verwende, um zu sehen, wann onReady () aufgerufen wird, und ich kann die Methode createAlwaysOnHotwordDetector () ausführen. Ich habe herausgefunden, dass onReady () niemals aufgerufen wird, auch wenn das System 15 Minuten lang nicht durchläuft.

Hat jemand eine Idee, wie man dieses Problem löst?

Vielen Dank im Voraus.

Dies ist meine Aktivität, um den VoiceInteractorService aufzurufen.

%Vor%     
LHeslenfeld 17.11.2014, 14:17
quelle

1 Antwort

0

VoiceInteractionService ist so konzipiert, dass es unterklassifiziert wird, um einen eigenen Sprachinteraktionsdienst zu erstellen. Es kann immer nur ein solcher Dienst aktiviert werden, genau wie eine Tastatur. Sobald es vom Benutzer aktiviert wurde, ist es überall und nicht nur in einer bestimmten Aktivität aktiv.

Sie können VoiceInteractionService nicht zur Spracherkennung für eine bestimmte Aktivität verwenden.

    
j__m 23.05.2015 11:10
quelle