Android:实际日期和设备日期

Android:实际日期和设备日期

问题描述:

这是我第一次在这里询问*,我显然在这个问题上很难。如何确定用户是否更改了设备的日期以激活基于日期的代码操作?Android:实际日期和设备日期

我真的需要比较没有互联网连接的实际日期和设备日期。

例如: 当我点击这个按钮,它只会在8月29日打开更改日期将允许我以访问按钮的功能。

您可以使用网络时间协议。它提供了网络时间和日期,因此用户不能改变电话日期来欺骗它。

谷歌已经在一个开源:This link


编辑

提供有这一代码示例:

SntpClient client = new SntpClient(); 
if (client.requestTime("time.foo.com")) { 
    long now = client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference(); 
} 

它把time.foo.com你应该把time.google.com。您可能需要以毫秒为单位的超时添加到requestTime(host,timeout_millis)方法。


而对于NTP服务器,您可以使用

time.google.com 

提供Here

+0

我稍后再试。谢谢! –

+0

好的。让我知道它是否适用于您 – Ivan

+0

我很难使用SntpClient类。当我使用getNtpTime()并将其转换为日期时,它仅返回8:00:00。我在哪里放置“time.google.com”? –

如果你能确保安装了您的应用程序时,它具有正确的时间的话,你可以实现一个监听器知道手动更换时钟,然后做你想做的事情。参考:Is there a way to detect when the user has changed the clock time on their device?

还有2种选择,一种是使用GPS获取时间,另一种是从网络获取时间。对网络不太确定,这是NTP相关的东西,当我有机会时会探索。让我知道你的实现。

+0

我明白了。我也会检查这个线程。谢谢! –