package com.jqmobile.core.android.time.impl; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import android.util.Log; public class Timer1 { Timer timer; Function f; long timeDifference; Timer1(Function function) { f = function; timer = new Timer(); timer.scheduleAtFixedRate(getTask(), 1 * 60 * 1000, 1 * 60 * 1000); f.setTimeScale(0); } private TimerTask getTask() { TimerTask task = new TimerTask() { @Override public void run() { Log.d("debug", "һ����У��"); Date date = new Date(f.getLocalityTime()); timeDifference = new Date().getTime() - f.getLocalityTime(); if (timeDifference > f.getTimeScale() + 60 * 1000 || timeDifference < f.getTimeScale()) { Log.d("debug", "������!timeDifference:" + timeDifference + "timeScale:" + f.getTimeScale() + "\ndate:" + date); f.setTimeScale(0); try { f.lockFalg = true; f.syncTime(); } catch (Exception e) { e.printStackTrace(); } finally { f.lockFalg = false; } } else { Log.d("debug", "������!"); f.setTimeScale(f.getTimeScale() + 1000 * 60); } } }; return task; } }