Android中的时间跟踪器独立于系统时间

时间:2012-09-04 05:52:29

标签: android datetime

我试图谷歌,但我仍然找不到最好的答案。

我想要的只是非常简单,我是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小时的时间。 请任何人帮助我。 这将得到很多赞赏。

2 个答案:

答案 0 :(得分:0)

如果您的应用可以访问互联网,您可以从自己的服务器获取时间,而不是用户时间。

只有在收到此意图后,您才能收听Intent.ACTION_TIME_CHANGED并与服务器时间同步。除非用户手动更改时间,否则您不会与服务器同步。

答案 1 :(得分:0)

而不是比较日期已更改,您可以检查是否

  • 日期大于普遍的一个:asssign bonus和remeber date
  • 日期小于普通人:用户作弊 - 删除所有奖金并且不更新旧日期

这个解决方案当然不是防弹措施,但比你普遍使用的解决方案更安全