programacion - Obtener en tiempo real-No es hora de configuración del dispositivo en Android
manual de programacion android pdf (2)
Cómo averiguar el Tiempo geográfico real , como en mi aplicación, quiero adjuntar el tiempo real con mi aplicación.
De modo que si el usuario cambia la hora en su dispositivo, debería obtener solo la hora real existente, NO EL TIEMPO DEL DISPOSITIVO
Mi pregunta es muy confusa, pero trato de entender en un lenguaje simple.
No quiero TIEMPO DE DISPOSITIVO, quiero TIEMPO REAL DESTACADO en cualquier momento
No hay una API de Android para conseguir ese tiempo. El usuario siempre puede cambiar la hora del dispositivo, nada de lo que pueda hacer al respecto.
Su mejor opción sería ejecutar un servidor con un servicio web, desde el cual puede obtener el tiempo. Ya que usted controla el servidor, puede intentar asegurarse de que devuelva la hora correcta.
Debe usar el protocolo NTP (Protocolo de tiempo de red):
Aquí hay un código que encontré en otro sitio ... y lo estoy usando. esto usa la biblioteca de apache commons.
// Lista de servidores de tiempo: http://tf.nist.gov/service/time-servers.html
Aquí está el código de Java para usted
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);
}
}