BroadcastReceiver doesn't stop a thread
<p>I do an BrodcastReceiver to speak the message: Receiving Call, while phone ringing. </p>

<p>Code of BroadcastReceiver to:</p>

<pre><code>    @Override
public void onReceive(Context context, Intent intent) {

    cont = context;
    tts = new Speak(cont);

    String action = intent.getAction();
    if (action.equalsIgnoreCase("android.intent.action.PHONE_STATE")) {
        if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
                TelephonyManager.EXTRA_STATE_RINGING)) {

            incoming_number = intent.getExtras().getString(
                    "incoming_number");

            falador = new Thread() {
                @Override
                public void run() {
                    try {
                        if (!this.isInterrupted()) {
                            while (true) {
                                sleep(5000);
                                h.post(repeater);
                            }
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            };
            falador.start();

        } else {
            if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
                    TelephonyManager.EXTRA_STATE_IDLE)) {

                h.removeCallbacks(repeater);
                falador.interrupt();
            }
        }
    }
}
</code></pre>

<p>But, the event IDLE doesn't stop the thread. Can you help me?</p>

<p>Thanks, 
Mateus</p>
