Я изо всех сил пытаюсь найти документацию для функции TimerTask на Android. Мне нужно периодически запускать поток с помощью TimerTask, но не знаю, как это сделать. Любые советы или примеры были бы весьма полезны.
Как вы используете TimerTask для запуска потока?
Ответ 1
Вы используете Timer
и автоматически создаете новый поток для вас, когда вы планируете TimerTask
использовать любой из schedule
-методы.
Пример:
Timer t = new Timer();
t.schedule(myTimerTask, 1000L);
Это создает таймер, выполняющий myTimerTask
в потоке, принадлежащем этому таймеру один раз в секунду.
Ответ 2
Я реализовал что-то вроде этого, и он отлично работает:
private Timer mTimer1;
private TimerTask mTt1;
private Handler mTimerHandler = new Handler();
private void stopTimer(){
if(mTimer1 != null){
mTimer1.cancel();
mTimer1.purge();
}
}
private void startTimer(){
mTimer1 = new Timer();
mTt1 = new TimerTask() {
public void run() {
mTimerHandler.post(new Runnable() {
public void run(){
//TODO
}
});
}
};
mTimer1.schedule(mTt1, 1, 5000);
}
Ответ 3
Это прекрасный пример задачи таймера.
Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
public void run() {
//perform your action here
}
};
timerObj.schedule(timerTaskObj, 0, 15000);