我已经实现了TTS支持,用于阅读我的应用程序中的文本字符串,这样就可以了。我想要达到的目的是,用户可以打开TTS的首选项,并可以根据自己的意愿进行更改。
这是我的代码
Intent intent = new Intent();
intent.setAction("com.android.settings.TTS_SETTINGS");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
DetailActivity.this.startActivity(intent);
但运行该代码时我的应用程序崩溃了。我正在使用android 4.1.2设备。
有人有什么建议吗?
提前致谢。
答案 0 :(得分:2)
您可以使用此意图操作来检查TTS首选项
private void checkTTSAvailability() {
Intent checkTtsIntent = new Intent();
checkTtsIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkTtsIntent, TTS_DATA_CHECK_CODE);
}
并在onActivityResult上处理结果(int requestCode,int resultCode,Intent data)
if(requestCode == TTS_DATA_CHECK_CODE){
// Success! File has already been installed
if(resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS){
mTts = new TextToSpeech(getActivity(), this);
}else{
// fail, attempt to install tts
Intent installTts = new Intent();
installTts.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installTts);
}
}
或者如果您只是想打开“设置”,请使用此操作
Intent intent = new Intent();
intent.setAction("com.android.settings.TTS_SETTINGS");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
关于崩溃可能是因为ICS(API> = 14),请使用上面的解决方案进行ICS及以上。