android time gps ntp

¿Android está usando NTP para sincronizar el tiempo?



time gps (4)

Quería preguntar si Android Devices usa el protocolo de tiempo de red (ntp) para sincronizar la hora.

Para la sincronización general del tiempo, los dispositivos con capacidad de telefonía, donde el proveedor inalámbrico proporciona información NITZ , usarán NITZ. Tengo entendido que el NTP se usa en otras circunstancias: proveedores inalámbricos sin NITZ, solo WiFi, etc.

Su publicación de blog citada sugiere otra circunstancia: la sincronización del tiempo según demanda en apoyo del GPS. Eso es ciertamente concebible, aunque no sé si se usa o no.

¿Los dispositivos Android usan el protocolo de tiempo de red (NTP) para sincronizar la hora?

En mi Device-Settings veo una casilla de verificación con el siguiente texto "sincronizar con la red", pero no sé si están usando NTP.

Necesito esto para mi Tesis de Licenciatura para la cual utilizo el GPS. Para obtener una señal GPS precisa, el receptor debe tener un reloj exacto.

Encontré esta entrada de blog en la web, pero no estoy seguro si dice la verdad: acelerando NTP, bloqueo de GPS en Android


No es una respuesta exacta a su pregunta, sino un poco de información: si su dispositivo usa NTP por tiempo (por ejemplo, si es una tableta sin capacidades 3G o GPS), el servidor se puede configurar en /system/etc/gps.conf : obviamente, este archivo solo se puede editar con acceso raíz, pero se puede ver en dispositivos no rooteados.


Tengo un Samsung Galaxy Tab 2 7.0 con Android 4.1.1. Aparentemente NO se sincroniza con ntp. Cargué una aplicación que dice que mi tableta está a 20 segundos de ntp, pero no puede configurarse a menos que rootee el dispositivo.


Sé sobre Android ICS que usa un servicio personalizado llamado: NetworkTimeUpdateService . Este servicio también implementa una sincronización de tiempo NTP a través del singleton NtpTrustedTime .

En NtpTrustedTime el servidor NTP predeterminado se solicita desde el origen de cadena del sistema Android:

final Resources res = context.getResources(); final String defaultServer = res.getString( com.android.internal.R.string.config_ntpServer);

Si la opción de sincronización de tiempo automática en la configuración del sistema está marcada y no hay servicio horario NITZ disponible, la hora se sincronizará con el servidor NTP de com.android.internal.R.string.config_ntpServer .

Para obtener el valor de com.android.internal.R.string.config_ntpServer , puede usar el siguiente método:

final Resources res = this.getResources(); final int id = Resources.getSystem().getIdentifier( "config_ntpServer", "string","android"); final String defaultServer = res.getString(id);