2012-09-04 60 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