2013-01-17 45 views
47

क्या एंड्रॉइड डिवाइस समय सिंक्रनाइज़ करने के लिए नेटवर्क टाइम प्रोटोकॉल (एनटीपी) का उपयोग करते हैं?एंड्रॉइड एनटीपी का उपयोग समय सिंक करने के लिए कर रहा है?

मेरी डिवाइस-सेटिंग्स में मुझे निम्न पाठ "नेटवर्क के साथ सिंक्रनाइज़" के साथ एक चेकबॉक्स दिखाई देता है, लेकिन मुझे नहीं पता कि वे एनटीपी का उपयोग कर रहे हैं या नहीं।

मुझे अपने बैचलर थीसिस के लिए इसकी आवश्यकता है जिसके लिए मैं जीपीएस का उपयोग करता हूं। सटीक जीपीएस-सिग्नल प्राप्त करने के लिए रिसीवर की सटीक घड़ी होनी चाहिए।

मैं वेब पर इस ब्लॉग प्रविष्टि पाया, लेकिन मैं अगर वह सच बताने यकीन नहीं है: सिंक्रनाइज़ करने के लिए Speeding up NTP, GPS Lock in Android

उत्तर

38

मुझे एंड्रॉइड आईसीएस के बारे में पता है कि यह एक कस्टम सेवा का उपयोग करता है जिसे NetworkTimeUpdateService कहा जाता है। यह सेवा NtpTrustedTime सिंगलटन के माध्यम से एक एनटीपी समय सिंक्रनाइज़ेशन भी लागू करती है।

NtpTrustedTime में डिफ़ॉल्ट एनटीपी सर्वर एंड्रॉयड प्रणाली स्ट्रिंग स्रोत से अनुरोध किया जाता है:

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 से एनटीपी सर्वर के साथ सिंक्रनाइज़।

प्राप्त करने के लिए 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) यदि आप एनटीपी सर्वर को बदलना चाहते हैं, तो एंड्रॉइड केवल स्टार्टअप पर config_ntpServer मान को देखता है, इसलिए आपको नए मान का उपयोग करने के लिए रीबूट (या NetworkTimeUpdateService को पुनरारंभ करना होगा)। 2) 2012 से, एंड्रॉइड केवल बूट होने के बाद हर 10 दिनों में समय की जांच करता है। (1 दिन के मूल टाइमआउट को पुनर्स्थापित करने के लिए गेरिट में एक पैच है) 3) एंड्रॉइड को समय की जांच करने के लिए एक चाल है सेटिंग्स को गॉगल करना .Gobal.AUTO_TIME बंद करें और फिर वापस चालू करें। यह सेटिंग्स.एप की दिनांक और समय अनुभाग में चेक बॉक्स के बराबर है।4) एंड्रॉइड एनटीपी का उपयोग नहीं करता है, यह एसएनटीपी का उपयोग करके बहुत कम बारिश करता है। – Harvey

10

मैं अगर Android उपकरणों नेटवर्क समय प्रोटोकॉल (NTP) का उपयोग करता है पूछना चाहता था समय।

सामान्य समय सिंक्रनाइज़ेशन के लिए, टेलीफ़ोनी क्षमता वाले डिवाइस, जहां वायरलेस प्रदाता NITZ information प्रदान करता है, एनआईटीजेड का उपयोग करेगा। NITZ-मुफ्त वायरलेस प्रदाताओं, वाईफ़ाई केवल, आदि

आपका उद्धृत ब्लॉग पोस्ट एक और परिस्थिति पता चलता है:: जीपीएस के समर्थन में ऑन-डिमांड समय तुल्यकालन मैं समझता हूँ कि एनटीपी अन्य परिस्थितियों में इस्तेमाल किया जाता है। यह निश्चित रूप से कल्पना करने योग्य है, हालांकि मुझे नहीं पता कि इसका उपयोग किया जाता है या नहीं।

9

मैं एंड्रॉयड 4.1.1 के साथ एक सैमसंग गैलेक्सी टैब 2 7.0 है। जाहिर है यह एनटीपी को सिंक नहीं करता है। मैंने एक ऐप लोड किया जो कहता है कि मेरा टैबलेट एनटीपी से 20 सेकंड दूर है, लेकिन यह तब तक सेट नहीं हो सकता जब तक कि मैं डिवाइस को रूट नहीं करता।

+1

केवल मैन्युअल अपडेट होने लगता है ... मेरा 6 महीने प्रति मिनट 1.5 मिनट प्राप्त करता है। –

+1

टैब 2 एंड्रॉइड 4.2.2 के साथ सबसे ऊपर है, और स्वीकृत उत्तर पर @ हार्वे द्वारा उनके द्वारा टिप्पणी में चेकबॉक्स नहीं है। मेरा समय पीछे पीछे हट जाता है। अगली बार जब मैं स्क्रोब नहीं कर सकता तो मुझे जीपीएस सिंक की कोशिश करनी होगी। –

5
नहीं

आपके प्रश्न का सटीक उत्तर है, लेकिन जानकारी का एक सा: अपने डिवाइस करता है, तो उपयोग एनटीपी समय (उदाहरण के लिए अगर यह कोई 3 जी या जीपीएस क्षमताओं के साथ एक गोली है।), सर्वर में विन्यस्त किया जा सकता के लिए /system/etc/gps.conf - स्पष्ट रूप से यह फ़ाइल केवल रूट पहुंच के साथ संपादित की जा सकती है, लेकिन गैर-रूट डिवाइस पर देखने योग्य है।

+0

ठीक है, फ़ाइल मेरे सैमसंग गैलेक्सी टैब पर मौजूद है और पूर्ण है। क्या आप जानते हैं कि मैं अंतर्निहित एनटीपी कैसे सक्षम कर सकता हूं? – user2284570

+1

@ user2284570 मुझे लगता है कि ऊपर दिए गए कुछ उत्तर आपको इस बिंदु पर जितनी बेहतर जानकारी दे सकते हैं – toryan