title: TTS - CHECK_VOICE_DATA_FAIL - Check engine availlable
body: <p>Im having a odd Problem with the TTS engine and I cant figure out why / where is my mistake. Is searched for hours for a solution but without any mentionable result.</p>
  
  <p>When I am using this <a href="http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/TextToSpeechActivity.html" rel="nofollow">API Demo code</a> everything is working well and I can hear for all installed languages the voice.</p>
  
  <p>But when I am checking by <a href="http://developer.android.com/resources/articles/tts.html" rel="nofollow">this method</a> I am getting CHECK_VOICE_DATA_FAIL as a return code for custom TTS engines (which I need for all necessay languages, Standard google is not enough).</p>
  
  <p>What am I missing here? How can I check the availabillity of the TTS engines?
  I know that this is not necessarily a code problem but, for other Programms this seems to be working.</p>
  
  <p>I installed some other apps from the <a href="http://svoxmobilevoices.wordpress.com/gallery/" rel="nofollow">SVox Website</a> and these seem to work on all my devices, while the code below fails.</p>
  
  <p>As an example, <a href="http://market.android.com/details?id=info.fidogames.apps.talktome" rel="nofollow">TalkToMeClassic</a> is checking the availlability of the Engine and it is working.</p>
  
  <p>What is done different here?</p>
  
  <p>Here is my excact code (which is a copy of the article):</p>
  
  <pre><code>@Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      Intent checkIntent = new Intent();
      checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
      startActivityForResult(checkIntent, 0x99);
  }
  
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      if (requestCode == 0x99) {
          if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
              // success, create the TTS instance
              mTts = new TextToSpeech(this, this);
          } else {
              Log.e("TTS","Missing Data:" + resultCode );
              // missing data, install it
              Intent installIntent = new Intent();
              installIntent.setAction(
                  TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
              startActivity(installIntent);
          }
      }
  }
  </code></pre>