Показать настройки преобразования текста в речь в моем приложении
Я реализовал поддержку 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 устройства.
У кого-нибудь есть предложения?
Заранее благодарю.
1 ответ:
Вы можете использовать это действие намерения для проверки предпочтения 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 и выше.