我有一個Android服務在後臺運行在我的應用程序中,該服務運行多個線程,其中一個線程用於運行30分鐘的命令。在Android服務線程中每30分鐘運行一次命令
Thread InternetThread = new Thread() {
public void run() {
while (true){
try {
Thread.sleep(1800000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i("test", "We are running");
runCommand();
}
}
};
但是我發現這段代碼不會永遠運行,每30分鐘,有時它可以達到運行之間的一個小時,從來沒有低於30分鐘,但可愈。我認爲這與Android所追求的服務有關? 但我並不確定這是因爲我對Android服務和線程的理解有限。
希望有人可以幫助確保「runCommand()」實際上每隔30分鐘確實運行一次。
3600000/1000/60 = 60分鐘呢? – Zong
是的我的不好應該是1800000已經寫出了我使用1800000的代碼並獲得隨機結果 –
@Lestat 1800000是正確的。 – timss