¿Por qué TextToSpeech.getLanguage () * a veces * devuelve null?

En mi aplicación, llamo a TextToSpeech.getLanguage () bien después de instanciar TextToSpeech (~ 800ms según LogCat), pero a veces (no siempre) devuelve null, a pesar del idioma establecido correctamente en la configuración de TextToSpeech del sistema:

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

Esto sólo ocurre en Jelly Bean (Android 4.1.1 ). No sucede en Android 2.2.

¿Es este un conocido error de Android? ¿O estoy haciendo algo mal?

Yo instantiate, BTW, TextToSpeech en la actividad principal de mi aplicación con:

 new TextToSpeech(this, this); 

Y tanto la instanciación como la llamada a TextToSpeech.getLanguage () se realizan en el mismo hilo (así se garantiza el orden de las llamadas).

2 Solutions collect form web for “¿Por qué TextToSpeech.getLanguage () * a veces * devuelve null?”

Tienes que llamar a getLanguage () en onInit (), a veces se tarda unos segundos en llamarse onInit ().

También he descubierto este error hoy en un Asus TF700T con Android 4.1.1. Traté de resolver el problema llamando a getLanguage() nuevo como Eternal Learner sugirió en un comentario, pero todavía devuelve null no importa cuántas veces lo llame.

La solución más fácil para mí fue abandonar la actual instancia rota de TextToSpeech y crear una nueva instancia. La segunda instancia parece funcionar de manera fiable.

  • Android "speak fallado: no está vinculado al motor tts"
  • ¿Cómo instalar el motor TTS específico programáticamente en Android?
  • TextToSpeech.setEngineByPackageName () no establece nada
  • ¿Existe una utilidad o API para convertir abreviaturas abreviadas de SMS a oraciones adecuadas?
  • Cómo cambiar programáticamente el motor predeterminado TTS
  • ¿Qué significan los nombres / códigos de Android Voice?
  • Desarrollo de aplicaciones similares a "Google ahora" - ¿es posible utilizar el reconocimiento de voz sin entrada de teclado?
  • ¿Cómo puedo guardar el archivo Text to Speech como formato .wav / .mp3 en idioma árabe en External Storage?
  • Android Texto a voz añadir texto de voz continuamente
  • No se puede detectar la finalización del androide TTS (devolución de llamada).
  • Manejo de múltiples idiomas sin demora en el TTS de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.