Android: runOnUiThread does not always choose the right thread?
I've got an activity that keeps reading words to the user, and using onUtteranceCompleted with textTospeech to display something when the code is completed.

Inside onUtteranceCompleted I have this code to delay a function with a second:

    Runnable task = new Runnable() {
    	public void run() {
    		//runs on ui
    		runOnUiThread(new Runnable() {
    			public void run() {
    				readWord();
    			}
    		});
    	}
    };
    worker.schedule(task, 1, TimeUnit.SECONDS);

This seems like it works well, but I think it is causing a problem.
When I rotate the screen of my phone (I guess this starts a new activity).
I hear some words being read in the background. I guess this is because of `runOnUiThread()` which makes the activity continue in the background.

How could I avoid 2 activities running ? I would prefer if I don't have to stop the screen from rotating on doing some weird patch!

Thank you 
Android: runOnUiThread does not always choose the right thread?
===

I've got an activity that keeps reading words to the user, and using onUtteranceCompleted with textTospeech to display something when the code is completed.

Inside onUtteranceCompleted I have this code to delay a function with a second:

    Runnable task = new Runnable() {
    	public void run() {
    		//runs on ui
    		runOnUiThread(new Runnable() {
    			public void run() {
    				readWord();
    			}
    		});
    	}
    };
    worker.schedule(task, 1, TimeUnit.SECONDS);

This seems like it works well, but I think it is causing a problem.
When I rotate the screen of my phone (I guess this starts a new activity).
I hear some words being read in the background. I guess this is because of `runOnUiThread()` which makes the activity continue in the background.

How could I avoid 2 activities running ? I would prefer if I don't have to stop the screen from rotating on doing some weird patch!

Thank you 