Why is the ACTION_CHECK_TTS_DATA Intent "awkward to use"?
===

The [official][1] introduction to Text-To-Speech in Android says that "upon creating your activity, a good first step is to check for the presence of the TTS resources with the corresponding intent:"

    Intent checkIntent = new Intent();
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
    startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

But @gregm in [this thread][2] suggests otherwise:

> Also, don't use the ACTION_CHECK_TTS_DATA Intent, that's **awkward to
> use**.
> 
> Instead, do the following:
> 
>  1. Create TextToSpeech
>  2. OnInit, check isLanguageAvailable() if it is, your app is all set. if not, send the ACTION_INSTALL_TTS_DATA

If I understand correctly, what @gregm does/suggests is perform the `TextToSpeech.LANG_MISSING_DATA` check earlier (because `onInit()` always precedes `onActivityResult()`).

Why is this better?

And why is ACTION_CHECK_TTS_DATA so  "awkward to use"?


  [1]: http://android-developers.blogspot.com/2009/09/introduction-to-text-to-speech-in.html
  [2]: http://stackoverflow.com/a/8184067