private Timer mTimer;
private Task mTask;
private int mTimes = 0;
//初始化定时器
private void initTimer() {
mTimer = new Timer();
mTask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
mTimes++;
if (mTimes >= TIMEOUT) {
if (mTimer != null) {
mTimer.cancel();
}
//执行逻辑,此处是向Handler发送消息更新
mHandler.sendEmptyMessage(2);
} else {
//执行逻辑,此处是向Handler发送消息更新
mHandler.sendEmptyMessage(1);
}
}
};
if(mTimer != null && mTask != null) {
mTimer.schedule(mTask, 1000, 1000);
}
}
activity结束时,并不会主动关了定时器,所以,还需要设置关闭定时器
private void cancelTimer() {
if (mTimer != null) {
mTimer.cancel();
mTimer = null;
}
if (mTask != null) {
mTask.cancel();
mTask = null;
}
mTimes = 0;
}