Android TextToSpeech.setEngineByPackageName()不';我什么也不做

Android TextToSpeech.setEngineByPackageName()不';我什么也不做,android,text-to-speech,Android,Text To Speech,在提示之后,当requestCode==REQ\u TTS\u STATUS\u CHECK&&TextToSpeech.Engine.CHECK\u VOICE\u DATA\u PASS时,我在activityresult()的右侧调用了setEngineByPackageName: tts = new TextToSpeech(this, this); tts.setEngineByPackageName("com.ivona.tts.voicebeta.eng.usa.kendr

在提示之后,当
requestCode==REQ\u TTS\u STATUS\u CHECK&&TextToSpeech.Engine.CHECK\u VOICE\u DATA\u PASS
时,我在activityresult()的右侧调用了setEngineByPackageName:

  tts = new TextToSpeech(this, this);
  tts.setEngineByPackageName("com.ivona.tts.voicebeta.eng.usa.kendra");          
但无论我在文本到语音设置中选中还是取消选中
始终使用我的设置
,我都会得到pico默认引擎

是的,我特意将pico引擎设置为默认值,以便通过测试重写它。但那个API方法似乎根本不起作用,或者。。。我错过什么了吗


(我知道setEngineByPackageName已被弃用,因为它不会在TTS引擎初始化时通知调用方,但我需要支持API 8,因此此方法是我目前唯一的选择)

您说您将对setEngineByPackageName的调用放在了
onActivityResult()
中。这是个错误的地方

setEngineByPackageName与getDefaultEngine一样,在到达
onInit()
之前不得调用