Android Studio开发安卓app TTS文字转语音功能 android11系统无法调用TTS问题记录
同样的apk,android9可以叫号,android11无法叫号
排查代码发现textToSpeech.speak 函数返回了 -1, 说明调用安卓的 文字转语音方法失败
textToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
失败原因有很多,比如没tts引擎,但是我已经安装了科大讯飞的,由于安卓9可以,于是猜测是安卓11的限制,继续查资料;
在谷歌安卓开发文档中发现在android11系统下对于使用到TTS能力的应用,需要修改应用中的AndroidManifest.xml清单声明
https://developer.android.google.cn/reference/android/speech/tts/TextToSpeech
<queries>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>
在AndroidManifest.xml 增加配置,再次打包后,安卓11成功叫号