因为Android程序有升级推送,并且把推送提示的窗口放在了开平图那个页面,而且开平图页面四秒,然后进入主界面,没有升级没事,但是有的话如果点击取消则窗口消失,不点击的话则一直显示,虽然程序没有bug,但是log输出会报错,而且程序的健壮性肯定不行,然后本来想用线程睡眠的,但是不合适,博主选择的计时器,三秒用户不操作自动消失,开屏展示依旧不受影响,好了,上代码:
public class TimerTaskClass {
Timer timer;
long endTime = System.currentTimeMillis() + 3000;
public TimerTaskClass(int seconds) {
timer = new Timer();
timer.schedule(new LocalTimerTask(), 0, seconds * 1000);
}
class LocalTimerTask extends TimerTask {
boolean flag = true;
public void run() {
while (flag) {
if (System.currentTimeMillis() == endTime) {
L.d("-----------现在的时间-------------", System.currentTimeMillis() + "");
Message m = Message.obtain();
m.what = 3;
progressHandler.sendMessage(m);
timer.cancel();
flag = false;
}
}
}
}
}
这里是通过记录系统的时间通过计算差额来算时间,然后发送message,将更新ui的任务交给handler处理。