2012-09-04 138 views
1

我試過Google左右,但仍無法找到最佳答案。獨立於系統時間的Android中的時間跟蹤器

我想要的只是非常簡單,我是Android新手,我正在開發一款遊戲,如果玩家每天都會給用戶一些日常獎勵。 我的代碼是:

date = new Date(); 
    dateFormate = new SimpleDateFormat("yyyy/MM/dd"); 
    dateString = dateFormate.format(date); 
     if(!sharedPreferences.getString("date").equals(dateString)) 
    { 
      sharedPreferences.putString("date", dateString).commit(); 
      ... Here I give Bonus to user 
     } 

但問題是,這種代碼依賴於系統日期。用戶可以輕鬆更改日期並獲得每日獎勵。 我想跟蹤24小時的時間,一旦他開始玩遊戲。 任何人都可以幫助我。 這將是非常讚賞。

回答

0

如果你的應用程序有互聯網訪問,你可以從你自己的服務器獲得時間,而不是用戶時間。

只有收到此意圖,您纔可以收聽Intent.ACTION_TIME_CHANGED並與服務器時間同步。除非用戶手動更改時間,否則您不會與服務器同步。

0

,而不是比較該日期已經改變,你可以檢查是否

  • 日期比previos一個更大:asssign獎金和remeber日期
  • 日期比previos一個小:用戶被欺騙,刪除所有獎金不更新舊日期

該解決方案當然不是防彈但比你previos一個

+0

但問題是相同的更安全。 用戶可以將日期更新到第二天,每次獲得獎勵後。 它會給我更大的價值.... –

+0

這是真實的,但只要你設置日期(這是需要使用日曆和鬧鐘),你將失去獎金。 – k3b