Android使用NTP来同步时间吗?

时间:2013-01-17 14:16:17

标签: android time gps ntp

Android设备是否使用网络时间协议(NTP)来同步时间?

在我的设备设置中,我看到一个带有以下文本“与网络同步”的复选框,但我不知道他们是否正在使用NTP。

我需要这个用于我使用GPS的学士论文。为了获得准确的GPS信号,接收器应具有精确的时钟。

我在网上发现了这个博客条目,但我不确定他是否说实话:Speeding up NTP, GPS Lock in Android

4 个答案:

答案 0 :(得分:45)

我知道Android ICS使用名为NetworkTimeUpdateService的自定义服务。此服务还通过NtpTrustedTime单例实现NTP时间同步。

NtpTrustedTime中,从Android系统字符串源请求默认的NTP服务器:

final Resources res = context.getResources();

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

如果系统设置中的自动时间同步选项被选中且没有可用的NITZ时间服务,则时间将与来自com.android.internal.R.string.config_ntpServer的NTP服务器同步。

要获取com.android.internal.R.string.config_ntpServer的值,您可以使用以下方法:

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

答案 1 :(得分:11)

  

我想询问Android设备是否使用网络时间协议(ntp)来同步时间。

对于一般时间同步,具有电话功能的设备(无线提供商提供NITZ information)将使用NITZ。我的理解是NTP在其他情况下使用:NITZ无线提供商,仅限WiFi等等。

您引用的博客文章提出了另一种情况:支持GPS的按需时间同步。这当然是可以想象的,虽然我不知道它是否被使用。

答案 2 :(得分:10)

我有一台带有Android 4.1.1的三星Galaxy Tab 2 7.0。显然它不会同步到ntp。我加载了一个应用程序,说我的平板电脑与ntp相差20秒,但除非我将设备设置为root,否则无法设置它。

答案 3 :(得分:5)

不是您问题的准确答案,而是一些信息:如果您的设备 使用NTP时间(例如,如果它是没有3G或GPS功能的平板电脑),服务器可以在/system/etc/gps.conf中配置 - 显然此文件只能使用root访问权限进行编辑,但可以在非root设备上查看。