我創建了一個服務器,每5分鐘運行一次。但是當程序執行到while(true),就會報錯。我估計這是不允許的。有什麼更好的方法能重復執行某一個方法呢?
public class repService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
while(true){
Thread timer = new Thread(){
public void run(){
try {
sleep(5000);
// do something
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// do something
}
}
};
timer.start();
}
}
你可以使用 Timer().schedule
來每5分鐘執行一次相同的任務。
new Timer().schedule(new TimerTask() {
@Override
public void run() {
//Do your task here
}
}, System.currentTimeMillis(), 5000);
如果你需要修改 UI 部分,要在 runOnUiThread
中添加上面的代碼。