我怎么能每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); }