2013-01-17 155 views
47

Android設備是否使用網絡時間協議(NTP)來同步時間?Android是否使用NTP同步時間?

在我的設備設置中,我看到一個複選框,下面的文本「與網絡同步」,但我不知道他們是否使用NTP。

我需要這個用於我的學士論文,我使用GPS。要獲得準確的GPS信號,接收機應該有一個精確的時鐘。

我在網上找到了這個博客條目,但我不知道他是否說真話:Speeding up NTP, GPS Lock in Android

回答

38

我知道Android ICS,它使用了一個名爲NetworkTimeUpdateService的自定義服務。該服務還通過NtpTrustedTime單例實現了NTP時間同步。

NtpTrustedTime默認NTP服務器從Android系統串源要求:

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); 
+13

有趣的是,它看起來像他們已經硬編碼到** 2.android.pool.ntp.org **。 820行:https://android.googlesource.com/platform/frameworks/base/+/40caf8f4432acd2b9d9230b2b1371660521415c2/core/res/res/values/config.xml#802 –

+0

是的,但這只是股票機器人。一些製造商更改服務器字符串。 – Dyonisos

+4

注意:1)如果你想更改ntp服務器,Android只會在啓動時查看config_ntpServer的值,所以你需要重新啓動(或重新啓動NetworkTimeUpdateService)才能使用新的值。 2)自2012年以來,Android只會在啓動後每10天檢查一次。 (在gerrit中有一個補丁可以恢復1天的原始超時)3)讓Android檢查時間的一個技巧是將Settings.Global.AUTO_TIME關閉然後重新開啓。這相當於Settings.app的Date&Time部分中的複選框。4)Android不使用NTP,它很少使用SNTP輪詢。 – Harvey

10

我想問問,如果Android設備使用網絡時間協議(NTP)同步時間。

對於一般時間同步,具有電話功能的設備(無線提供商提供NITZ information)將使用NITZ。我的理解是,在其他情況下使用NTP:無NITZ無線提供商,僅限WiFi等。

您引用的博客文章提出了另一種情況:支持GPS的按需時間同步。這當然是可以想象的,儘管我不知道它是否被使用。

9

我有一個三星Galaxy Tab 2 7.0與Android 4.1.1。顯然它不會同步到ntp。我加載了一個應用程序,說我的平板電腦離開ntp 20秒,但它不能設置它,除非我的設備。

+1

似乎只是手動更新...我每6個月收益1.5分鐘。 –

+1

Tab 2已經在Android 4.2.2中排名第一,並且沒有@Harvey在他對已接受的答案的評論中提到的複選框。礦區及時向後漂移。下一次我無法讀取音樂時,我將不得不嘗試GPS同步。 –

5

不是您的問題的確切答案,但有點信息:如果您的設備確實使用NTP的時間(例如,如果它是沒有3G或GPS功能的平板電腦),服務器可以配置爲/system/etc/gps.conf - 顯然這個文件只能用root權限編輯,但是可以在非root用戶的設備上查看。

+0

好的,該文件存在並完成在我的Samsung Galaxy S標籤上。你知道如何啓用內置的NTP嗎? – user2284570

+1

@ user2284570我認爲上面的一些答案會爲您提供比此刻更好的信息 – toryan