关闭

Timer和TimerTask

70人阅读 评论(0) 收藏 举报
private Timer timer;
private TimerTask timerTask;



timer = new Timer(true);
timerTask = new TimerTask() {
    @Override
    public void run() {
        float i = MyMotionUtils.readGPIO();
        Log.i("TAG", "Service is running");
        Log.i("TAG", String.valueOf(i));
        if (i == 0){
            MyMotionUtils.closeInputPort();
            if (count1 == 0){
                count1 = 1;
                Intent intent1 = new Intent(getApplicationContext(), SettingsActivity.class);
                intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent1);
                MyMotionUtils.count = 1;
            }
        }
    }
};
timer.schedule(timerTask, 3000, 1000);


万万不能忘记,当Timer在service里schedule后,只关掉service,timer还会继续跑的,必须要在service的ondestro里关掉Timer

@Override
public void onDestroy() {
    super.onDestroy();
    timer.cancel();
    Log.i("TAG", "Service is destroy");
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18428次
    • 积分:414
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:42篇
    • 译文:0篇
    • 评论:2条
    最新评论