我怎么能每5秒在onCreate上循环那个time()函数..帮我在
android =)中新手我想在onCreate中每隔5秒执行一次time()函数.
public void onCreate(Bundle savedInstanceState) {
time(); //<-- How can i execute this every 5 seconds.
}
private void time() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
int success;
gps = new GPSTracker(AdminMenu.this);
if(gps.canGetLocation()){
tmplat=latitude;
tmplong=longitude;
// new InsertUser1().execute();
}
else{
gps.showSettingsAlert();
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// Todo Auto-generated catch block
e.printstacktrace();
}
System.out.println("LATTTTT" + tmplat);
System.out.println("LONGGGGGGGG" + tmplong);
}
},5000); // 5 sec
}
任何帮助都会被批评..
解决方法
试着这样做!只需在startTimer方法中替换您的代码.它应该工作..
private Timer timer;
private TimerTask timerTask;
private Handler handler = new Handler();
//To stop timer
private void stopTimer(){
if(timer != null){
timer.cancel();
timer.purge();
}
}
//To start timer
private void startTimer(){
timer = new Timer();
timerTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run(){
//your code is here
}
});
}
};
timer.schedule(timerTask,5000,5000);
}