2016-03-26 3 views
2

Ich habe die TTS-Unterstützung für das Lesen der Text Strings in meiner Anwendung implementiert, und das funktioniert gut. Was ich erreichen möchte, ist, dass der Benutzer die Einstellungen für TTS öffnen kann und Änderungen nach seinen Wünschen vornehmen kann.Zeigen Sie die Einstellungen für Text zu Sprache in meiner App

Hier ist mein Code

Intent intent = new Intent(); 
intent.setAction("com.android.settings.TTS_SETTINGS"); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
DetailActivity.this.startActivity(intent); 

Aber meine app Absturz, wenn dieser Code ausgeführt wird. Ich benutze Android 4.1.2 Gerät.

Wer irgendwelche Vorschläge?

Vielen Dank im Voraus.

+1

bitte zeigen Sie Ihre logcat –

Antwort

2

können Sie diese Absicht Aktion verwenden TTS bevorzugt überprüfen möchten

private void checkTTSAvailability() { 
    Intent checkTtsIntent = new Intent(); 
    checkTtsIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); 
    startActivityForResult(checkTtsIntent, TTS_DATA_CHECK_CODE); 
} 

Und behandeln das Ergebnis auf onActivityResult (int requestCode, int Result, Intent-Daten)

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); 
     } 
    } 

oder wenn Sie einfach nur zum öffnen Einstellungen verwenden Sie einfach diese Aktion

Intent intent = new Intent(); 
intent.setAction("com.android.settings.TTS_SETTINGS"); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
this.startActivity(intent); 

Über diesen Absturz ist es wahrscheinlich wegen ICS (API> = 14), verwenden Sie die obige Lösung für ICS und höher.

Verwandte Themen