2012-12-05 37 views
1

如何在沒有用戶操作日期和時間的情況下確保在android操作系統上運行x時間的任務能夠在該x時間段內運行?例如,如果我希望此計時器在24小時內運行穩定,然後通知用戶已經過了24小時,即使手機已關閉一小時,用戶也會重新打開它,並將系統時間設置爲2小時,這個計時器仍然會顯示當這個穩定的24小時時間過去了,而沒有用戶操縱系統日期/時間並且沒有連接到互聯網來驗證適當的時間已經過去。使用android TimerTask防止終端用戶執行定時器操作Timer和Timer

謝謝

回答

0

這裏是流程/算法。

1) You need to store time of timer first initiated some where, probably database and let timer run for 24 hours. 
    a) assuming phone not turned off, timer continues 
    b) Assuming phone turned off and turned on 
     b1) Get initial timer started time from database, then calculate how much time left for 24 hours. 
     b2) Initiate timer again with left time. 
+0

謝謝,除了我在下面的鏈接中讀到的內容,您的建議應該足夠了。 http://stackoverflow.com/questions/6328052/how-to-prevent-usage-of-expired-license-through-system-clock-tampering應該是 – Euthyphro

+0

@Euthyphro:你的問題文本給出了完全不同的信息。無論如何,如果該鏈接有幫助,我會建議刪除這個問題。 – kosa

+0

我認爲這個概念很相似。從本質上講,沒有真正的方法來阻止用戶操縱系統時間,如果應用程序不檢查外部源,可能會影響正在運行的應用程序。如果我的遊戲需要預定義的技能訓練2天以上,如果用戶想作弊,他們可以修改系統時鐘。我總是可以讓應用程序檢查系統時鐘,以確保它不會突然改變或前進或後退幾天,但是,用戶也可以始終關閉應用程序,然後執行該方法。 – Euthyphro

相關問題