在Android中获取实时 – 不是设备设置时间

如何找出真正的地理时间 ,就像在我的应用程序中一样,我希望将实时附加到我的应用程序中。

因此,如果用户在他的设备中更改时间,那么我应该只获得真实的时间 – 而不是设备时间

我的问题很混乱,但试着用简单的语言理解 –

我不想要设备时间,我想在任何时刻获得真正的预备时间

Solutions Collecting From Web of "在Android中获取实时 – 不是设备设置时间"

您需要使用NTP(网络时间协议)协议:

这是我发现的其他代码..我正在使用它。 这使用apache commons库。

//时间服务器列表: http : //tf.nist.gov/service/time-servers.html

这是Java代码

public class TimeLookup { public static final String TIME_SERVER = "time-a.nist.gov"; public static void main(String[] args) throws Exception { NTPUDPClient timeClient = new NTPUDPClient(); InetAddress inetAddress = InetAddress.getByName(TIME_SERVER); TimeInfo timeInfo = timeClient.getTime(inetAddress); long returnTime = timeInfo.getReturnTime(); Date time = new Date(returnTime); System.out.println("Time from " + TIME_SERVER + ": " + time); } } 

没有Android API可以帮助您获得这样的时间。 用户可以随时更改设备时间,您无能为力。

您最好的选择是运行带有Web服务的服务器,您可以从中获得时间。 由于您控制服务器,因此可以尝试确保它返回正确的时间。