Do Android Devices use the network time protocol (NTP) to synchronize the time?
In my Device-Settings I see a checkbox with the following text "synchronize with network", but I don't know if they are using NTP.
I need this for my Bachelor Thesis for which I use GPS. To get a accurate GPS-signal the receiver should have a exact clock.
I found this blog-entry on the web, but I'm not sure if he tell the truth: Speeding up NTP, GPS Lock in Android
I have a Samsung Galaxy Tab 2 7.0 with Android 4.1.1. Apparently it does NOT sync to ntp. I loaded an app that says my tablet is 20 seconds off of ntp, but it can't set it unless I root the device.
For general time synchronization, devices with telephony capability, where the wireless provider provides NITZ information, will use NITZ. My understanding is that NTP is used in other circumstances: NITZ-free wireless providers, WiFi-only, etc.
Your cited blog post suggests another circumstance: on-demand time synchronization in support of GPS. That is certainly conceivable, though I do not know whether it is used or not.
I know about Android ICS that it uses a custom service called:
NetworkTimeUpdateService
. This service also implements a NTP time synchronization via theNtpTrustedTime
singleton.In
NtpTrustedTime
the default NTP server is requested from the Android system string source:If the automatic time sync option in the system settings is checked and no NITZ time service is available then the time will be synchronized with the NTP server from
com.android.internal.R.string.config_ntpServer
.To get the value of
com.android.internal.R.string.config_ntpServer
you can use the following method:Not an exact answer to your question, but a bit of information: if your device does use NTP for time (eg. if it is a tablet with no 3G or GPS capabilities), the server can be configured in
/system/etc/gps.conf
- obviously this file can only be edited with root access, but is viewable on non-rooted devices.