2013-01-21 44 views
0

我想每24小時在我的應用程序中執行特定的代碼。每24小時執行一次代碼,但前提是應用程序已打開

我知道如何使用AlarmManager,但問題是我不希望代碼在應用程序未運行時執行。

我希望它在應用程序啓動時執行,但只有在上次執行後經過24小時後纔會執行。

如果有更多的24小時已經過去了

例如,如果用戶打開我的第一次代碼執行的應用程序沒關係。如果它在20分鐘後再次打開,則不會發生任何事情。如果它在24小時或更多代碼將被執行後打開它。

+0

您是否只希望代碼僅在打開時執行?或者如果我說讓它運行了25個小時,它會在那個時間執行它嗎? – Adude11

+0

只有當應用程序打開時,不需要我的應用程序保持打開24h – pedja

回答

1

我會保存到一個文件,程序啓動的時間。你可以在寫之前檢查一下,看看它已經有多久了。

注意:如果您想要至少運行24小時的任務,那麼您確實需要執行最後一次任務。例如如果應用程序每8小時打開一次,您仍然希望它運行。

+0

應用程序正在從服務器下載數據。該數據每24小時更新一次。如果應用程序未運行,則無需下載新數據。 – pedja

+1

儘管它可能每天更新,但它可能會在當天更新。它應該能夠根據下載的數據來確定它的用途。如果超過24小時(可能是下載後的24小時),它會再次請求。 –

+0

這可能就是它。由於我將數據存儲在數據庫中,因此我還可以存儲下載的日期和時間。在每個應用程序開始時,我檢查存儲的時間,如果它已超過24小時,我再次下載。謝謝 – pedja

相關問題