在我的应用中,实例化TextToSpeech后(根据LogCat约为800ms),我很好地调用了TextToSpeech.getLanguage(),尽管系统正确地在TextToSpeech设置中正确设置了语言,但有时(并非总是)返回null:

System Settings > Language & input >
  Text-to-speech output > Google Text-to-speech > English (United Kingdom)

这仅在Jelly Bean(Android 4.1.1 )中发生。
在Android 2.2中不会发生这种情况。

这是一个已知的Android错误吗?
还是我做错了什么?

我在应用程序的主要 Activity 中实例化BTW和TextToSpeech:
new TextToSpeech(this, this);

实例化和对TextToSpeech.getLanguage()的调用都在同一线程中进行(因此可以保证调用顺序)。

最佳答案

您必须在onInit()中调用getLanguage(),有时要花几秒钟的时间才能调用onInit()。

关于android - 为什么有时TextToSpeech.getLanguage()返回null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18477656/

10-11 20:02