Wie findet man den ComponentName des Standard-System-Spracherkenners, d. H. Den, der zurückgegeben wird, wenn createSpeechRecognizer(Context context) aufgerufen wird? (Eigentlich brauche ich nur, um herauszufinden, welche Eingabesprachen unterstützt, so dass, wenn es eine Antwort auf diese Frage ist nur, dann würde ich es auch zu schätzen wissen.)So fragen Sie nach dem Standard-SpeechRecognizer
Das Framework löst dies durch
String serviceComponent = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.VOICE_RECOGNITION_SERVICE);
(Siehe source code of SpeechRecognizer.)
Diese Lösung scheint jedoch nicht für eine App von Drittanbietern verfügbar sein.
Danke, aber ich sehe nicht, wie das ist meine Frage beantwortet.Ich weiß bereits, wie man überprüft, welche Sprachen ein Erkenner unterstützt, sobald ich weiß, welcher Erkenner danach fragt. Was ich brauche, ist herauszufinden, welcher Erkenner als Standard festgelegt wurde. Metadaten helfen hier nicht, da dies einem Erkenner nicht erlaubt zu deklarieren, dass es der Standard ist, nur dass es ein Erkenner ist. – Kaarel
Ich sehe. Ich habe meine Antwort aktualisiert, um mehr von dem zu unterscheiden, was du meinst. SpeechRecognizer ist nicht das, was eigentlich die Spracherkennung macht, es startet nur den Dienst. – Andrew
Ist Ihre neue Antwort nicht auf Aktivitäten anfragend? Ich bin nur an Dienstleistungen interessiert. – Kaarel