Не могу остановить тему Android

Я не могу остановить эту тему, когда выхожу из своей деятельности или приложения.

public class MyThread extends Thread {
        public Handler handler;
        @Override
        public void  try{
                Looper.prepare();
                handler = new Handler();
                Looper.loop();
        }
    }
    ...

myThread = new MyThread();
myThread.start();

final Runnable runnable = new Runnable() {
       @Override
       public void run(){
             doSomething();
             myThread.handler.postDelayed(this,30*1000);
       }
};
myThread.handler.post(runnable);

@Override
public void onStop(){    
       myThread.handler.removeCallbacksAndMessages(null);
       myThread.handler.getLooper().quit();   
       myThread = null;          
}

Я могу подтвердить, что весь код onStop() запущен, но logcat по-прежнему показывает поток, работающий после того, как я выйду из приложения.

Я думаю, что даже если я вытащу аккумулятор и разбью устройство кувалдой, оно все равно будет работать, я все перепробовал.:~) Я должен что-то упустить в обработчиках, петлерах и потоках. Пожалуйста помоги.

1 ответ

Добавить логический флаг в Activity, скажем, "shouldThreadRun", установить значение true в onResume(), установить значение false в onPause()

В run() потока проверьте, выполняется ли еще действие

if(shouldThreadRun){
    doSomething();
    myThread.handler.postDelayed(this,30*1000);
}
Другие вопросы по тегам