Android:如何验证系统提供的日期时间是否正确?

时间:2015-10-26 18:09:33

标签: android offline

我们如何验证Android系统向我们的应用提供的日期/时间是否正确?

我们无法使用网络活动,我们尝试使用服务器进行,​​并且它运行良好。但需要检查是否有快速的方式我们可以在手机提供的日期/时间进行离线检查?

4 个答案:

答案 0 :(得分:5)

@Ashwin,“大多数”确实如此。 It's possible to cheat though

我刚刚在三星Galaxy S4,Android 5.0.1:

上做到了
  • 禁用自动时间
  • 断开互联网(飞行模式,没有wifi等......)
  • 重新启动手机(否则会检索实时)
  • 设置自动开启时间

今天完成:

Unix时间:1129294173

日期: 14102005 024933

是自动的? 1 (使用android.provider.Settings.Global.getInt(getActivity()。getContentResolver(),android.provider.Settings.Global.AUTO_TIME,0))

今天绝对不是2005年10月14日

答案 1 :(得分:2)

伙计们找到了答案

首先我们需要从这里检查自动日期/时间是否已启用, How to check "Automatic date and time" is enabled or not?

如果启用,则表示日期正确(主要是)

答案 2 :(得分:0)

如果您的手机有时在线,则可以缓存上一个日期并进行比较。 如果Auto update已启用,我认为您可以信任它。 否则,你可以做一些非常难看的东西来改变日期并不是完全损坏的。 我不认为有这么好的办法,对不起。

答案 3 :(得分:0)

我认为没有内置的API来检查系统时间是否正确,例如将其与服务器进行比较。但是,实现检查服务器以检查当前时间并将其与系统时间进行比较的查询应该很简单。