title: Speak Failed Not Bound to TTS Engine
body: <p>So I had an original activity with basically the same exact code for speaking, but I had to move that code into another activity. The only difference I can tell is that the text to speech is not called in an asynchronous method. The speaking occurs in the speakFull method.
  I get these errors:</p>
  
  <pre><code>speak failed: not bound to TTS engine
  isSpeaking failed: not bound to TTS engine
  </code></pre>
  
  <p>I'm new to android development, I've searched through other solutions to this problem, and I can't really seem to find a solution to make mine work. Any advice, or help is appreciated. </p>
  
  <p>Code: </p>
  
  <pre><code>   package com.example.webview;
  
  import android.os.Bundle;
  import android.app.Activity;
  import android.content.Context;
  import android.content.DialogInterface;
  import android.content.DialogInterface.OnClickListener;
  import android.content.Intent;
  import android.speech.tts.TextToSpeech;
  import android.text.method.ScrollingMovementMethod;
  import android.view.Menu;
  import android.view.View;
  import android.widget.Button;
  import android.widget.TextView;
  
  public class ReadOut extends Activity implements TextToSpeech.OnInitListener, OnClickListener {
  
  
      boolean paused = false;
      String leftToRead = null;
      String res = null;
  
      @SuppressWarnings("deprecation")
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.read_out);
          Intent intent = getIntent();
          res = intent.getExtras().getString("response");
          TextView textv = (TextView) findViewById(R.id.textView1);
          textv.setText(res);
          textv.setMovementMethod(new ScrollingMovementMethod());
          android.view.Display display = ((android.view.WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
          textv.setHeight((int)(display.getHeight()*0.76));
          leftToRead = speakFull(res);
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          // Inflate the menu; this adds items to the action bar if it is present.
          return true;
      }
  
      public String speakFull(String text){
          System.out.println("Speaking: " + text);
          TextToSpeech tts = new TextToSpeech(this, this);
          System.out.println("Speaking");
          String[] sentences = text.split("\n|\\.(?!\\d)|(?&lt;!\\d)\\."); // Regex that splits the body of text into the sentences of that body which are stored in a String array.
          for(int i = 0; i &lt; sentences.length; i++){
              if(!tts.isSpeaking() &amp;&amp; !paused){
                  System.out.println("Speaking: " + i);
                  tts.speak(sentences[i], TextToSpeech.QUEUE_FLUSH, null);
              }else if(paused){
                  System.out.println("Paused");
                  String paused = "";
                  for(int j = i - 1; j &lt; sentences.length; j++){
                      paused += sentences[j];
                  }
                  return paused;
              }else{
                  i--;
              }
              if(i == sentences.length - 1){
                  return "Message 001: Complete";
              }
          }
          return null;
      }
  
      @Override
      public void onInit(int arg0) {
          // TODO Auto-generated method stub
  
      }
  
      public void clickPause(View v){
          if(paused){
              paused = false;
              Button b = (Button) findViewById(R.id.button1);
              b.setText("Play");
          }else{
              paused = true;
              Button b = (Button) findViewById(R.id.button1);
              b.setText("Pause");
              if(leftToRead == null){
                  leftToRead = speakFull(res);
              }else{
                  leftToRead = speakFull(leftToRead);
              }
          }
      }
  
      @Override
      public void onClick(DialogInterface arg0, int arg1) {
          // TODO Auto-generated method stub
  
      }
  
  }
  </code></pre>