我想在我的Android应用程序中使用当前的在线时间。我知道您可以确保在Android设置中通过互联网提供时间。我怎样才能在Java中检查它?
答案 0 :(得分:0)
您需要使用SNTP客户端或其他东西自行检查。
即使用户没有手动更改时间,也不要求设备使用“Internet”自动设置时间。例如,美国的许多设备都依赖来自无线运营商的NITZ信号作为其时间源。
答案 1 :(得分:0)
似乎这里已经存在类似的问题:How to use an Internet time server to get the time?
我必须承认我没有个人使用它,但看起来值得一试。它使用apache commons库。
复制相关代码(链接的完整说明):
String TIME_SERVER = "time-a.nist.gov";
NTPUDPClient timeClient = new NTPUDPClient();
InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);
TimeInfo timeInfo = timeClient.getTime(inetAddress);
long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime();
Date time = new Date(returnTime);
它没有说明TIME_SERVER
可能无法更新。以下是具有可用性的服务器列表:http://tf.nist.gov/tf-cgi/servers.cgi#
请告诉我这是否适合您:)