title: Text to Speech on Android 4.1.1 Tablet
body: <p>I am new to this site but have been a developer for a number of years (Delphi,PHP,Lazarus).  A year ago I started developing in Android(Java - Eclipse) and have recently come across a knotty little problem.</p>
  
  <p>I have developed an app which uses the Text to Speech engine. It works fine on my HTC Sensation, my wife's HTC Desire X and fine on the two Tablet Emulators that I have tested it on in Eclipse/AVD Manager.</p>
  
  <p>I recently installed it on my Father in Laws Lenovo IdeaPad (Android 4.1.1) and it failed.  I use the standard(ish) check for an installed TTS engine and auto-installer if it doesn't find one.  On the IdeaPad, it fails to find the installed(I've checked, it is there) English TTS and instead, launches an installer with the option to install either French, German, Spanish or Italian TTS Engines.  This would suggest to me that it is in some way seeing the english version but not using it.</p>
  
  <p>Any help would be greatly appreciated.  I have posted the relevant sections of code below.</p>
  
  <p>Kind Regards
  Gary</p>
  
  <pre><code>private TextToSpeech mTts;
  private static final int MY_DATA_CHECK_CODE = 1234;
  </code></pre>
  
  <p>more of my app code here</p>
  
  <pre><code>Intent checkIntent = new Intent();
  checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
  startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
  </code></pre>
  
  <p>more of my app code here</p>
  
  <pre><code>public void onActivityResult(int requestCode, int resultCode, Intent data)
  {
      if (requestCode == MY_DATA_CHECK_CODE)
      {
          if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)
          {
          mTts = new TextToSpeech(this, null, Str);
          }
          else
          {
              Intent installIntent = new Intent();
              installIntent.setAction(
                      TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
              startActivity(installIntent);
          }
      }
  }
  </code></pre>