语音识别在 Android 11+ 中不起作用
Speech Recognition is not working in Android 11+
我使用语音识别 google API 它在 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());
}
}
和logcat响应
E/SpeechRecognizer: bind to recognition service failed
问题似乎与此 new Android 11 "feature" 有关,解决方案可能是为被阻止的意图向清单添加查询:
<manifest ...>
<queries>
<intent>
<action android:name="android.speech.RecognitionService" />
</intent>
</queries>
请告诉我结果。
我使用语音识别 google API 它在 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());
}
}
和logcat响应
E/SpeechRecognizer: bind to recognition service failed
问题似乎与此 new Android 11 "feature" 有关,解决方案可能是为被阻止的意图向清单添加查询:
<manifest ...>
<queries>
<intent>
<action android:name="android.speech.RecognitionService" />
</intent>
</queries>
请告诉我结果。