Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的时间跟踪器与系统时间无关_Android_Datetime - Fatal编程技术网

Android中的时间跟踪器与系统时间无关

Android中的时间跟踪器与系统时间无关,android,datetime,Android,Datetime,我试着用谷歌搜索,但还是找不到最好的答案 我想要的是非常简单的,我是Android新手,我正在开发一款游戏,如果用户每天都玩的话,它会给用户一些日常奖励。 我的代码是: date = new Date(); dateFormate = new SimpleDateFormat("yyyy/MM/dd"); dateString = dateFormate.format(date); if(!sharedPreferences.getString("date").e

我试着用谷歌搜索,但还是找不到最好的答案

我想要的是非常简单的,我是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小时的时间。 谁能帮帮我吗。
这将非常感谢。

如果你的应用程序可以访问互联网,你可以从自己的服务器获得时间,而不是用户时间


只有当您收到此意图时,您才能收听Intent.ACTION\u TIME\u更改并与服务器时间同步。除非用户手动更改时间,否则您将无法与服务器同步。

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

日期大于previos日期:分配奖金和纪念日期 日期小于previos日期:用户正在作弊,删除所有奖金,不更新旧日期
这个解决方案当然不是防弹的,但比您以前的解决方案更安全,但问题是相同的。用户可以在每次获得奖励后将日期更新到第二天。这会给我带来更大的回报……这是真的,但一旦你将日期设置回使用日历和闹钟所必需的时间,你就会失去奖金。