बाहरी समय का पता लगाना

एंड्रॉइड 12 से, एंड्रॉइड वैकल्पिक रूप से time_detector सेवा को यूनिक्स युग के समय का सुझाव देने के लिए समय के बाहरी स्रोत का उपयोग कर सकता है। यह AOSP में डिफ़ॉल्ट रूप से सक्षम नहीं है.

बाहरी समय की उत्पत्ति डिवाइस निर्माताओं को एंड्रॉइड को पूरी तरह से कस्टम समय सुझाव प्रदान करने की अनुमति देती है। बाहरी समय उत्पत्ति से सुझाव प्राप्त करने के बाद, time_detector सेवा यह निर्धारित करती है कि कॉन्फ़िगर प्राथमिकता नियमों का उपयोग करके सिस्टम घड़ी को अपडेट करना है या नहीं।

कार्यान्वयन

बाहरी समय का पता लगाने का समर्थन करने के लिए, डिवाइस निर्माताओं को एक घटक लागू करना होगा जो सिस्टम एपीआई कॉल के माध्यम से time_detector सेवा को बाहरी समय सुझाव सबमिट करता है।

बाहरी मूल को कॉन्फ़िगर करने के लिए, core/res/res/values/config.xml सिस्टम सर्वर कॉन्फ़िगरेशन फ़ाइल का उपयोग करें। config_autoTimeSourcesPriority में external मान जोड़ें।

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

<string-array name="config_autoTimeSourcesPriority">
        <item>external</item>
        <item>gnss</item>
</string-array>

सिस्टम को बाहरी समय सुझाव प्रदान करने के लिए, TimeManager में suggestExternalTime() विधि का उपयोग करें। यदि बाहरी मूल को कॉन्फ़िगरेशन फ़ाइल में config_autoTimeSourcesPriority का उपयोग करके कॉन्फ़िगर किया गया है और कोई उच्च प्राथमिकता समय सुझाव उपलब्ध नहीं है, तो एंड्रॉइड वर्तमान यूनिक्स युग समय निर्धारित करने के लिए इस विधि को पारित टाइमस्टैम्प का उपयोग करता है।