web-dev-qa-db-fra.com

Est-ce que Android utilise NTP pour synchroniser l'heure?)

Est-ce que Android Les appareils utilisent le protocole NTP (Network Time Protocol) pour synchroniser l’heure?

Dans les paramètres de mon appareil, une case à cocher avec le texte suivant "Synchroniser avec le réseau" apparaît, mais je ne sais pas s'ils utilisent NTP.

J'ai besoin de cela pour mon mémoire de licence pour lequel j'utilise le GPS. Pour obtenir un signal GPS précis, le récepteur doit avoir une horloge exacte.

J'ai trouvé cette entrée de blog sur le Web, mais je ne suis pas sûr qu'il dise la vérité: Accélération du NTP, verrouillage GPS sous Android

55
iTamp

Je sais que Android ICS) utilise un service personnalisé appelé: NetworkTimeUpdateService . Ce service implémente également NTP synchronisation du temps via le NtpTrustedTime singleton.

Dans NtpTrustedTime, le serveur par défaut NTP est demandé à partir du Android source de la chaîne système:

final Resources res = context.getResources();

final String defaultServer = res.getString(
                                com.Android.internal.R.string.config_ntpServer);

Si l'option de synchronisation automatique de l'heure dans les paramètres système est cochée et qu'aucun service de l'heure NITZ n'est disponible, l'heure sera synchronisée avec le serveur NTP de com.Android.internal.R.string.config_ntpServer.

Pour obtenir la valeur de com.Android.internal.R.string.config_ntpServer vous pouvez utiliser la méthode suivante:

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

je voulais demander si Android Les appareils utilisent le protocole de temps réseau (NTP) pour synchroniser l'heure.

Pour la synchronisation générale de l’heure, les appareils dotés de la fonctionnalité de téléphonie, pour lesquels le fournisseur de services sans fil fournit informations NITZ , utiliseront NITZ. D'après ce que j'ai compris, NTP est utilisé dans d'autres circonstances: fournisseurs de services sans fil sans NITZ, WiFi uniquement, etc.

Votre article de blog cité suggère un autre cas de figure: la synchronisation temporelle à la demande prenant en charge le GPS. C'est certainement concevable, bien que je ne sache pas si c'est utilisé ou non.

11
CommonsWare

J'ai un Samsung Galaxy Tab 2 7.0 avec Android 4.1.1. Apparemment, il ne se synchronise pas sur ntp. J'ai chargé une application qui dit que ma tablette est à 20 secondes de NTP, mais elle peut t le configurer à moins que je root le périphérique.

10
Mishka

Pas une réponse exacte à votre question, mais quelques informations: si votre appareil ne utilisez NTP pour le temps (par exemple, s’il s’agit d’une tablette sans 3G ou GPS), le serveur peut être configuré dans /system/etc/gps.conf - Ce fichier ne peut évidemment être édité qu’avec un accès root, mais il est visible sur les périphériques non rootés.

6
toryan