检查状态线程是激活还是否

时间:2014-06-11 12:12:45

标签: android

大家好我有一个线程进入活动。 我想知道运行Activity时线程的状态... 有可能知道线程的状态吗? 例如:

如果线程没有运行,请立即开始。

每当我运行Activity时,线程开始:(

主题:

  public void callAsynchronousTask(Timer timer, final ToggleButton btnAtterraDecolla,
        final ToggleButton btnRitardo, final ToggleButton btnImbarco)
  {
    final Handler handler = new Handler();

    isTimerRunning = true;

    TimerTask doAsynchronousTask = new TimerTask() {       
        @Override
        public void run() {             
            handler.post(new Runnable() {

                public void run() {       
                    try {
                        tTask aTask =  new tTask(); //THIS IS ASYNCTASK

                        if(btnAtterraDecolla.isChecked())
                            LOL(1,AoP,btnAtterraDecolla);    

                        if(btnRitardo.isChecked())
                            LOL(2,AoP,btnRitardo);  

                        if(btnImbarco.isChecked())
                            LOL(3,AoP,btnImbarco);
                        aTask.execute();

                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                    }
                }
            });
        }
    };
    timer.schedule(doAsynchronousTask, 0, TEMPO_ESECUZIONE_THREAD); /
}

在onDestroy()

    @Override
public void onDestroy() {
    stopUpdates(btnAtterraDecolla,btnRitardo,btnImbarco);
    super.onDestroy();

}
private void stopUpdates(ToggleButton btnAtterraDecolla,ToggleButton btnRitardo,ToggleButton btnImbarco) {

    if(!btnAtterraDecolla.isChecked() && !btnRitardo.isChecked() && !btnImbarco.isChecked()){
        if (isTimerRunning) {
            timer.cancel();
            timer.purge();
            timer = null;
            isTimerRunning = false;
        }
    }
}

 @Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
....callAsynchronousTask(...)

这里我想停止线程,如果没有检查btn1,btn2,btn3!

有这个问题的解决方案吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

有一些方法可以检查线程属性

你可以通过

检查Thread is Alive()
Thread.isAlive() ,

返回布尔值的方法。

您可以找到

运行的正在运行的线程
Thread.currentThread().getName()