Я использую API Google для распознавания речи, он отлично работает в Android 10 и ниже, но, к сожалению, перестает работать после обновления API до Android 30, и Метод Предоставляет нулевой результат
@Override
public void onPartialResults(Bundle partialResults) {
ArrayList<String> stringArrayList = partialResults.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
String result;
if (stringArrayList != null) {
result = stringArrayList.get(0);
String stringBuilder = oldText + result;
editText.setText(stringBuilder);
editText.setSelection(editText.getText().length());
}
}
и ответ логкэта
E/SpeechRecognizer: bind to recognition service failed
Проблема, кажется, связана с этим новая функция Android 11, и решение может состоять в том, чтобы добавить запрос в манифест для заблокированного намерения:
<manifest ...>
<queries>
<intent>
<action android:name = "android.speech.RecognitionService" />
</intent>
</queries>
Пожалуйста, дайте мне знать результаты.