समय की खास जानकारी

इस पेज पर बताया गया है कि Android पर समय और टाइम ज़ोन की पहचान कैसे की जाती है. इसमें यह जानकारी शामिल है: Android अपने-आप टाइम ज़ोन और टाइम ज़ोन का पता कैसे लगाता है. साथ ही, डिवाइस बनाने वाली कंपनियों के लिए कॉन्फ़िगरेशन के विकल्प और टेस्टिंग की जानकारी कैसे पता करता है.

टाइम ज़ोन और टाइम ज़ोन की खास जानकारी

किसी उपयोगकर्ता को स्टेटस बार जैसी जगहों पर दिखाने के लिए, उसका स्थानीय समय तय करने के लिए, Android मिलती-जुलती दो, लेकिन स्वतंत्र स्थितियों का ट्रैक रखता है:

  • मौजूदा Unix epoch टाइम
  • मौजूदा टाइम ज़ोन

मौजूदा Unix epoch टाइम और मौजूदा टाइम ज़ोन पूरे डिवाइस की स्थितियां हैं. इसका मतलब है कि इन्हें डिवाइस इस्तेमाल करने वाले सभी लोगों के साथ शेयर किया जाता है.

मौजूदा Unix epoch टाइम कोई तय वैल्यू नहीं है. यह समय के बीतने के साथ-साथ, अपने-आप अपडेट हो जाता है. समय के सामान्य समय के अलावा, अगर किसी डिवाइस के गलत होने का पता चलता है, तो उसके मौजूदा Unix epoch टाइम में बदलाव किया जाता है. जैसे, किसी डिवाइस की बैटरी खत्म होने के बाद.

मौजूदा टाइम ज़ोन से यह तय होता है कि मौजूदा Unix epoch टाइम को स्थानीय समय में बदलने के लिए क्या बदलाव करना है. उदाहरण के लिए, Los Angeles में गर्मियों के दौरान, डिवाइस मौजूदा Unix epoch समय से 7 घंटे कम कर लेता है और सर्दियों में डिवाइस आठ घंटे कम हो जाता है.

स्थानीय समय का हिसाब लगाने में मदद करने के लिए, सभी Android डिवाइसों में ग्लोबल टाइम ज़ोन के सभी नियमों का डेटाबेस होता है. टाइम ज़ोन के नियमों के बारे में ज़्यादा जानने के लिए, टाइम ज़ोन के नियम देखें.

जब कोई उपयोगकर्ता किसी ऐसी नई जगह पर जाता है जो अलग टाइम ज़ोन का इस्तेमाल करती है, तो मौजूदा Unix epoch टाइम में बदलाव नहीं करना पड़ता. हालांकि, उपयोगकर्ता आम तौर पर अपनी पिछली जगह के समय के बजाय स्थानीय समय देखना चाहता है. मौजूदा टाइम ज़ोन को बदलने से यह पक्का हो जाता है कि सही ऑफ़सेट को मौजूदा Unix epoch समय पर लागू किया गया है, ताकि नई जगह के लिए सही स्थानीय समय दिखाया जा सके.

एओएसपी से, उपयोगकर्ता खुद यह कंट्रोल कर सकते हैं कि उनके लिए समय और टाइम ज़ोन अपने-आप सेट हों या नहीं. इसके लिए, वे नीचे दिए गए तरीकों का इस्तेमाल कर सकते हैं.

  • समय का अपने-आप पता लगाने वाली सुविधा: इससे यह पक्का किया जाता है कि डिवाइस का मौजूदा Unix epoch टाइम सही है.
  • टाइम ज़ोन की अपने-आप पहचान करने की सुविधा: इससे यह पक्का होता है कि डिवाइस का मौजूदा टाइम ज़ोन सही है.

समय का अपने-आप पता लगाने की सुविधा

यह सेक्शन उस time_detector सेवा के बारे में खास जानकारी देता है जो अपने-आप समय का पता लगाने की सुविधा, उपयोगकर्ता के कंट्रोल, कॉन्फ़िगरेशन के विकल्पों, और टेस्टिंग से जुड़ी जानकारी को मैनेज करती है.

time_detector सेवा

Android 10 या इसके बाद के वर्शन वाले डिवाइसों पर मौजूद time_detector सेवा, समय का अपने-आप पता लगाने की सुविधा को मैनेज करती है. अपने-आप समय की पहचान करने की सुविधा चालू होने पर, यह डिवाइस के मौजूदा Unix epoch टाइम में ज़रूरत के मुताबिक बदलाव करता है.

time_detector सेवा हमेशा इन दोनों में से किसी एक स्थिति में होती है: तय नहीं है या कुछ तय है. सेवा की तय या अनिश्चित स्थिति, अलग-अलग सोर्स से मिलने वाले समय के सुझावों से तय होती है.

जब time_detector सेवा निश्चित हो, यानी कि उसे Unix epoch टाइम की जानकारी के साथ कोई सुझाव मिला है, तो अगर समय का सुझाव मौजूदा Unix epoch टाइम से अलग है, तो यह मौजूदा Unix epoch टाइम को बदल देती है.

जब time_detector तय नहीं होता है, तो यह मौजूदा समय को नहीं बदलता. आम तौर पर, अनिश्चितता का मतलब है कि time_detector सेवा को समय के बारे में सुझाव नहीं मिले हैं. अगर time_detector सेवा को इस्तेमाल करने के सुझाव बहुत पुराने हैं, तो भी उस पर भरोसा नहीं किया जा सकता. सुझावों को लागू करने की उम्र को ध्यान में रखा जाता है, क्योंकि पुराने Unix epoch टाइम के सुझावों का इस्तेमाल करके किए जाने वाले बदलाव, डिवाइस पर बीती हुई रीयल टाइम घड़ी के हिसाब से होते हैं. ऐसा माना जाता है कि यह लंबे समय से गलत मानी जाती है.

मौजूदा Unix epoch टाइम को अपने-आप सेट करने के लिए, डिवाइस में कई सोर्स मौजूद हैं. डिवाइस का इस्तेमाल किया जा सकता है. इस दस्तावेज़ में इन्हें ऑरिजिन कहा जाता है. time_detector सेवा, सुझावों के क्रम को उनके ऑरिजिन के आधार पर अलग-अलग मानती है.

time_detector सेवा, स्टेटफ़ुल है. इसका मतलब है कि इसमें हर ऑरिजिन से मिले सबसे हाल के सुझाव का रिकॉर्ड होता है. अगर किसी ऑरिजिन में, Unix epoch टाइम की हाल की जानकारी उपलब्ध है, तो time_detector के लिए नए सुझाव दिए जाते हैं. time_detector सेवा, नए और मौजूदा सुझावों की फिर से समीक्षा करती है. साथ ही, सुझाव मिलने पर डिवाइस की स्थिति को अपडेट करती है.

हालांकि UTC समय को अंतरराष्ट्रीय तौर पर स्वीकार किया जाता है, लेकिन ऐसी कई वजहें हैं जिनसे Android डिवाइस के लिए मौजूदा Unix epoch समय को सेट करना हमेशा आसान नहीं होता है:

  • Unix epoch टाइम, यूटीसी टाइम से बिलकुल अलग टाइमकीपिंग सिस्टम है. इन दोनों के बीच रूपांतरण करने के लिए यह जानकारी आवश्यक है कि लीप सेकंड कब होते हैं और उनका ऑरिजिन कैसे बदलाव करते हैं.
  • ऐसा हो सकता है कि ऑरिजिन सिर्फ़ खास समय पर या कुछ खास परिस्थितियों में उपलब्ध हो. उदाहरण के लिए, अगर ऑरिजिन को नेटवर्क से कनेक्ट करने की ज़रूरत है, तो हो सकता है कि यह सिर्फ़ तब उपलब्ध हो, जब डिवाइस इंटरनेट से कनेक्ट हो.
  • साइट के सोर्स की जानकारी सटीक या सटीक नहीं हो सकती या उसमें गड़बड़ियां हो सकती हैं. उदाहरण के लिए, अगर टेलीफ़ोनी सेल टावर "यूनिवर्सल टाइम" को सही तरीके से ट्रैक नहीं कर रहा है, तो टेलीफ़ोनी ऑरिजिन से समय के गलत सुझाव मिल सकते हैं.
  • Unix epoch टाइम का डेटा हासिल करते समय गड़बड़ियां हो सकती हैं. उदाहरण के लिए, नेटवर्क में देरी, बफ़रिंग या प्रोसेस शेड्यूल की वजह से Unix epoch टाइम की गलत जानकारी हो सकती है.
  • सुझाव मिलने के बाद बीत चुके समय को अडजस्ट करने के लिए इस्तेमाल की जाने वाली पहचान घड़ी सटीक नहीं होती.

समय का पता लगाने वाले दो मुख्य ऑरिजिन, एओएसपी में डिफ़ॉल्ट रूप से इस्तेमाल के लिए कॉन्फ़िगर किए जाते हैं:

  • नेटवर्क: नेटवर्क टाइम प्रोटोकॉल (एनटीपी) टाइम सर्वर का इस्तेमाल करता है.
  • Telephony: नेटवर्क आइडेंटिटी और टाइम ज़ोन (NITZ) टेलीफ़ोनी सिग्नल का इस्तेमाल किया जाता है.

टेलीफ़ोनी और नेटवर्क ऑरिजिन, दोनों के लिए बाहरी नेटवर्क से कनेक्टिविटी की ज़रूरत होती है. ये नेटवर्क हमेशा उपलब्ध नहीं होते.

Android 12 और उसके बाद के वर्शन में, Android में नीचे दिए गए ऑरिजिन भी काम करते हैं, जो डिफ़ॉल्ट रूप से इस्तेमाल के लिए कॉन्फ़िगर नहीं किए गए हैं:

  • GNSS: GNSS सोर्स से समय का पता लगाने के लिए, जीपीएस लोकेशन उपलब्ध कराने वाली कंपनी का इस्तेमाल करता है.
  • बाहरी सोर्स: जेनरिक ऑरिजिन, जिसकी मदद से डिवाइस बनाने वाली कंपनियां, Unix epoch टाइम का अपना सोर्स इंटिग्रेट कर सकती हैं.

समय सेटिंग

उपयोगकर्ता AOSP सेटिंग ऐप्लिकेशन के सिस्टम > तारीख और समय में जाकर, समय का अपने-आप पता लगाने की सुविधा चालू कर सकते हैं.

सेटिंग में, समय का अपने-आप पता लगाने वाली सुविधा

पहला डायग्राम. सेटिंग में, समय का अपने-आप पता लगाने की सुविधा.

नीचे दी गई टेबल में, एओएसपी सेटिंग ऐप्लिकेशन में समय का पता लगाने के लिए, उपयोगकर्ता के कंट्रोल के बारे में बताया गया है.

*Android 11 और उससे पहले के वर्शन पर, यह सेटिंग नेटवर्क से मिले समय का इस्तेमाल करें के तौर पर लेबल की गई है

एओएसपी सेटिंग की जगह की जानकारी एओएसपी सेटिंग का नाम दायरा व्यवहार
सिस्टम > तारीख और समय समय अपने-आप सेट होने की सुविधा* सभी उपयोगकर्ता

एक टॉगल.

चालू होने पर, डिवाइस की ज़िम्मेदारी, मौजूदा Unix Epoch टाइम का पता लगाने की होती है. बंद होने पर, उपयोगकर्ताओं को डिवाइस के समय को मैन्युअल तरीके से सेट करने के लिए कंट्रोल दिए जाते हैं.

जब उपयोगकर्ता मैन्युअल तरीके से समय डालते हैं, तो वे अपना स्थानीय समय डालते हैं, न कि Unix epoch समय. मौजूदा Unix epoch टाइम को कैलकुलेट करने के लिए, मौजूदा टाइम ज़ोन का इस्तेमाल करके, Unix epoch टाइम का पता लगाया जाता है.

कॉन्फ़िगरेशन

डिवाइस बनाने वाली कंपनियां, time_detector सेवा को कई तरीकों से कॉन्फ़िगर कर सकती हैं. जैसे, इस्तेमाल किए जाने वाले ऑरिजिन और उनसे मिलने वाले सिग्नल को प्राथमिकता देने के तरीके.

ऑरिजिन प्राथमिकता

Android 12 से, डिवाइस बनाने वाली कंपनियां core/res/res/values/config.xmlकॉन्फ़िगरेशन फ़ाइल में बदलाव कर सकती हैं, ताकि यह तय किया जा सके कि टाइम का अपने-आप पता लगाने की सुविधा में किस टाइम ऑरिजिन को शामिल किया जाए. साथ ही, वे time_detector इन ऑरिजिन को किस प्राथमिकता पर प्राथमिकता देती हैं.

Android 11 या इससे पहले के वर्शन वाले डिवाइसों के लिए, ऑरिजिन की प्राथमिकता ["telephony", "network"] पर हार्डकोड होती है. इसका मतलब है कि टेलीफ़ोन के सुझावों को नेटवर्क से जुड़े सुझावों के ऊपर प्राथमिकता दी जाती है.

डिफ़ॉल्ट एओएसपी कॉन्फ़िगरेशन कुछ ऐसा होता है:

<!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list
     take precedence over lower ones.
     See com.android.server.timedetector.TimeDetectorStrategy for available sources. -->
<string-array name="config_autoTimeSourcesPriority">
    <item>network</item>
    <item>telephony</item>
</string-array>

Android 12 में, नेटवर्क और टेलीफ़ोनी के सुझावों को डिफ़ॉल्ट रूप से इस्तेमाल करने के लिए, ऑरिजिन के तौर पर कॉन्फ़िगर किया गया है. नेटवर्क समय के सुझावों को टेलीफ़ोनी समय के सुझावों से ऊपर प्राथमिकता दी जाती है. डिवाइस बनाने वाली कंपनियां, उन ऑरिजिन के क्रम को बदल सकती हैं जो Android 11 या इससे पहले के वर्शन पर लागू होते हैं, ताकि उसमें टेलीफ़ोन को ज़्यादा प्राथमिकता दी जाए.

डिफ़ॉल्ट रूप से, अगर सबसे ज़्यादा प्राथमिकता वाला मान्य सुझाव कुछ ही सेकंड में डिवाइस के मौजूदा सिस्टम की घड़ी के समय से मेल खाता है, तो डिवाइस के समय में कोई बदलाव नहीं होगा. ऐसा इसलिए किया गया है, ताकि इंस्टॉल किए गए उन ऐप्लिकेशन के लिए काम न बनाया जाए जो ACTION_TIME_CHANGED इंटेंट को सुनते हैं.

इन ऑरिजिन वैल्यू को इस्तेमाल करने की अनुमति है:

स्वीकृत समय सीमाएं

Android 14 में, time_detector सेवा को मिलने वाले सुझावों के लिए ज़्यादा टाइम बाउंड दिया गया है. अगर डिवाइस में 32-बिट प्रोसेस काम करती हैं, तो फ़्रेमवर्क ऊपरी समयावधि सेट करता है, ताकि डिवाइस, टाइम के ऐसे सुझाव का इस्तेमाल न कर पाए जिससे Y2038 की समस्या हो सकती है.

Android 12 ने कम टाइम बाउंड को लॉन्च किया है. इसका इस्तेमाल, time_detector सेवा को मिले समय के सुझावों की पुष्टि करने के लिए किया जाता है. अपने-आप मिलने वाले सुझावों के लिए इस्तेमाल की जाने वाली निचली समयसीमा की वैल्यू, बिल्ड टाइमस्टैंप से सेट की जाती है. यह इस सिद्धांत पर काम करता है कि डिवाइस की सिस्टम इमेज बनने से पहले कोई मान्य समय नहीं दिया जा सकता. अगर समय का सुझाव कम टाइम बाउंड से पहले का है, तो time_detector सेवा सुझाव को खारिज कर देती है, क्योंकि बिल्ड टाइमस्टैंप के सही होने पर यह मान्य नहीं हो सकता.

Android 11 या उससे पहले के वर्शन वाले डिवाइसों के लिए, time_detector सेवा इनकमिंग Unix epoch टाइम सुझावों की पुष्टि नहीं करती.

टाइम डीबग करने और जांच करने में लगने वाले समय

इस सेक्शन में, सभी ऑरिजिन से शेयर की गई time_detector सेवा और अन्य कॉम्पोनेंट के काम करने के तरीके को डीबग और टेस्ट करने के बारे में जानकारी दी गई है.

time_detector सेवा के साथ इंटरैक्ट करना

time_detector सेवा का कॉन्फ़िगरेशन और time_detector सेवा की स्थिति देखने के लिए, इसका इस्तेमाल करें:

adb shell cmd time_detector dump

डीबग करने और टाइम ज़ोन का पता लगाने की सुविधा की जांच करने के लिए ज़्यादा निर्देश देखने के लिए, इनका इस्तेमाल करें:

adb shell cmd time_detector help

सहायता आउटपुट में, device_config सेवा की उन प्रॉपर्टी के बारे में भी जानकारी दी जाती है जिनका इस्तेमाल, time_detector के काम करने के तरीके पर असर डालने के लिए किया जा सकता है. इसकी मदद से, टेस्टिंग या प्रोडक्शन में किया जा सकता है. ज़्यादा जानकारी के लिए, device_config सेवा का इस्तेमाल करके डिवाइस कॉन्फ़िगर करना देखें.

अपने-आप समय का पता लगाए जाने की सुविधा की पुष्टि करने के लिए, टेस्टर को यह पता होना चाहिए कि time_detector सेवा किस ऑरिजिन का इस्तेमाल कर रही है. यहां adb shell cmd time_detector dump कमांड से मिलने वाले आउटपुट का एक उदाहरण दिया गया है. इसमें ऑरिजिन और सेवा की मौजूदा स्थिति की जानकारी बोल्ड में दी गई है:

$ adb shell cmd time_detector dump

TimeDetectorStrategy:
  mLastAutoSystemClockTimeSet=null
  mEnvironment.isAutoTimeDetectionEnabled()=true
  mEnvironment.elapsedRealtimeMillis()=23717241
  mEnvironment.systemClockMillis()=1626707861336
  mEnvironment.systemClockUpdateThresholdMillis()=2000
  mEnvironment.autoTimeLowerBound()=2021-07-19T07:48:05Z(1626680885000)
  mEnvironment.autoOriginPriorities()=[network,telephony]
  Time change log:
    ...
  Telephony suggestion history:
    ...
  Network suggestion history:
    ...
  Gnss suggestion history:
    ...
  External suggestion history:
    ...

जानकारी की व्याख्या इस तरह की जा सकती है:

कुंजी वैल्यू
mEnvironment.isAutoTimeDetectionEnabled() समय का अपने-आप पता लगाने की सुविधा चालू है या नहीं.
mEnvironment.autoTimeLowerBound() समय के सुझावों की पुष्टि करने के लिए, मौजूदा निचली सीमा का इस्तेमाल किया जाता है.
mEnvironment.autoOriginPriorities() इस्तेमाल किए जा रहे ऑरिजिन और प्राथमिकता का क्रम.

समय में बदलाव के लॉग से उन अवसरों को पता चलता है, जब time_detector सेवा ने डिवाइस के मौजूदा Unix epoch समय में बदलाव किया है.

सुझाव के इतिहास की जानकारी से यह पता चलता है कि हर ऑरिजिन ने क्या सुझाव दिए हैं.

टाइम ज़ोन का अपने-आप पता लगाना

यह सेक्शन, time_zone_detector की सेवा के बारे में खास जानकारी देता है. यह सेवा, टाइम ज़ोन का अपने-आप पता लगाने, सेटिंग में उपयोगकर्ता के कंट्रोल, टेलीफ़ोनी और जगह के टाइम ज़ोन का पता लगाने, और टेस्टिंग की जानकारी को मैनेज करती है.

time_zone_detector सेवा

Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर मौजूद time_zone_detector सेवा, अपने-आप टाइम ज़ोन का पता लगाने की सुविधा को मैनेज करती है. अपने-आप टाइम ज़ोन की पहचान करने की सुविधा चालू होने पर, यह डिवाइस के मौजूदा टाइम ज़ोन में ज़रूरत के मुताबिक बदलाव करता है.

टाइम ज़ोन का अपने-आप पता लगाने की सुविधा चालू होने पर, time_zone_detector इनमें से किसी एक स्थिति में हो सकता है: तय नहीं है और कुछ तय है.

जब time_zone_detector सेवा किसी खास स्थिति में होती है, तो इसका मतलब है कि time_zone_detector सेवा को टाइम ज़ोन की बहुत अच्छी जानकारी मिली है. इस वजह से, सेवा मौजूदा टाइम ज़ोन को बदल सकती है. जब जानकारी साफ़ न हो, तो इसका मतलब है कि उसे कोई जानकारी नहीं मिली या सिर्फ़ कम भरोसे वाली जानकारी मिली है. मतलब, यह मौजूदा टाइम ज़ोन को नहीं बदलेगा.

time_zone_detector सेवा के कुछ राज्यों में, ऐसे राज्य शामिल हो सकते हैं जहां time_zone_detector के पास इस्तेमाल करने के लिए कोई टाइम ज़ोन की जानकारी नहीं है या जहां चुनने के लिए कई टाइम ज़ोन उपलब्ध हैं. इन स्थितियों की जानकारी यहां दी गई है:

  • किसी खास टाइम ज़ोन वाले राज्य की जानकारी तब दर्ज की जाती है, जब डिवाइस किसी ऐसी जगह पर हो जहां टाइम ज़ोन उपलब्ध न हो. जैसे, अंतरराष्ट्रीय समुद्र या विवाद वाले इलाके में. यह स्थिति किसी अनिश्चित स्थिति जैसी है. हालांकि, इससे पता चलता है कि टाइम ज़ोन तय करने के लिए, time_zone_detector को कुछ और करने की ज़रूरत नहीं है.
  • अस्पष्टता या बॉर्डर की स्थिति होने पर एक से ज़्यादा टाइम ज़ोन वाली कोई खास स्थिति डाली जाती है. इस स्थिति में, अगर मौजूदा टाइम ज़ोन time_zone_detector में से किसी एक टाइम ज़ोन के बारे में तय है, तो मौजूदा टाइम ज़ोन वैसा ही रहने लगेगा. ऐसा न करने पर, उपलब्ध टाइम ज़ोन में से किसी एक का इस्तेमाल किया जाएगा. अगर उपयोगकर्ता ने पहले मैन्युअल तरीके से टाइम ज़ोन चुना हो या डिवाइस किसी बॉर्डर पर पहुंच रहा हो, तो इससे time_zone_detector को बने रहने का मौका मिलता है.

time_zone_detector सेवा की कुछ या अनिश्चितता, टाइम ज़ोन के सुझावों से तय होती है. ये सुझाव एल्गोरिदम की मदद से भेजे जाते हैं.

आम तौर पर, सुझाव दो तरह के होते हैं जो time_zone_detector की संभावित स्थितियों से काफ़ी हद तक मेल खाते हैं: कुछ तय और कुछ जानकारी नहीं है. यहां अलग-अलग तरह के सुझाव के उदाहरण दिए गए हैं:

  • टाइप = uncertain, zoneIds = []

    • एल्गोरिदम को टाइम ज़ोन के बारे में पता नहीं होता.
  • टाइप = certain, zoneIds = ["Europe/London"]

    • एल्गोरिदम के हिसाब से, ज़ोन यूरोप/लंदन है.
  • टाइप = certain, zoneIds = []

    • एल्गोरिदम पक्का है, लेकिन मौजूदा जगह से जुड़ा कोई ज़ोन आईडी नहीं है.
  • टाइप = certain, zoneIds = ["America/Denver", "America/Phoenix"]

    • एल्गोरिदम को यह पक्का पता है कि जवाब दो ज़ोन में से एक है, लेकिन "अमेरिका/डेनवर" और "अमेरिका/फ़ीनिक्स" में से किसी एक को नहीं चुना जा सकता.

time_zone_detector सेवा, सुझावों के क्रम को अपने एल्गोरिदम के आधार पर अलग-अलग मानती है. एल्गोरिदम के हिसाब से, सुझावों में ऐसा मेटाडेटा भी हो सकता है जो यह बताता हो कि एल्गोरिदम कितना सही है.

time_zone_detector सेवा, स्टेटफ़ुल होती है. इसका मतलब है कि इसमें हर एल्गोरिदम के सबसे हाल के सुझावों का रिकॉर्ड होता है. time_zone_detector सेवा को नए सुझाव तब भेजे जाते हैं, जब पहले दिया गया कोई सुझाव अब सही न हो. इसका मतलब है कि अगर किसी एल्गोरिदम में अब कोई दूसरा सुझाव दिखता है या उसने टाइम ज़ोन का पता लगाने की सुविधा खो दी है. time_zone_detector सेवा, नए और मौजूदा सुझावों की फिर से समीक्षा करती है. साथ ही, सुझाव मिलने पर डिवाइस की स्थिति को अपडेट करती है.

टाइम ज़ोन का पता लगाने के लिए, Android पर दो एल्गोरिदम काम करते हैं:

  • टेलीफ़ोनी
  • जगह

आम तौर पर, टाइम ज़ोन तय करने के लिए time_zone_detector सेवा एक एल्गोरिदम का इस्तेमाल करती है. जब किसी डिवाइस पर जगह की जानकारी का एल्गोरिदम काम करता है, तो डिवाइस जिस एल्गोरिदम का इस्तेमाल करता है वह उपयोगकर्ता की कॉन्फ़िगर की गई टाइम ज़ोन सेटिंग के आधार पर तय होता है. जब इस्तेमाल किया जा रहा एल्गोरिदम, टाइम ज़ोन के बारे में सटीक जानकारी नहीं देता है, तो time_zone_detector आम तौर पर किसी दूसरे एल्गोरिदम के सुझावों का इस्तेमाल नहीं करता है. जो एल्गोरिदम इस्तेमाल नहीं किए जा रहे हैं उनसे जुड़े सुझावों को time_zone_detector मेमोरी में सेव कर सकता है. हालांकि, एल्गोरिदम में कोई बदलाव होने तक इनका इस्तेमाल नहीं किया जाएगा. जब उपयोगकर्ता अपने-आप टाइम ज़ोन का पता लगाने की सुविधा और एल्गोरिदम की सेटिंग में बदलाव करता है, तो नए एल्गोरिदम के लिए उपलब्ध सबसे हाल के सुझाव का इस्तेमाल किया जाता है.

टाइम ज़ोन तय करने के लिए, एक से ज़्यादा एल्गोरिदम का इस्तेमाल करने की स्थिति के बारे में जानने के लिए, Telephony का फ़ॉलबैक मोड देखें.

टेलीफ़ोनी फ़ॉलबैक मोड

Android 13 और उसके बाद के वर्शन वाले डिवाइसों पर, time_zone_detector की सेवा टेलीफ़ोनी फ़ॉलबैक मोड के साथ काम करती है. इस मोड की मदद से, Android कुछ समय के लिए, टेलीफ़ोनी की पहचान करने के सुझावों का इस्तेमाल कर सकता है. ऐसा कुछ समय के लिए किया जाता है. ऐसा तब किया जाता है, जब जगह की जानकारी का पता लगाने की सुविधा, टाइम ज़ोन का पता नहीं लगा पाती या जगह की जानकारी का पता लगाने की सुविधा में, टाइम ज़ोन का पता लगाने में टेलीफ़ोनी की तुलना में ज़्यादा समय लगता है.

टेलीफ़ोनी फ़ॉलबैक मोड उन डिवाइसों पर लागू होता है जिनमें टेलीफ़ोनी और जगह की पहचान, दोनों काम करते हैं. साथ ही, जहां उपयोगकर्ता ने टाइम ज़ोन सेटिंग में, टाइम ज़ोन सेट करने के लिए जगह की जानकारी का इस्तेमाल करें सुविधा को चालू किया है. डिवाइस को फिर से चालू करने और फ़्लाइट मोड के बंद होने पर, मोड अपने-आप चालू हो जाता है.

Android 14 और उसके बाद वाले वर्शन में, टेलीफ़ोनी फ़ॉलबैक को LTZP स्टेटस रिपोर्टिंग एपीआई की मदद से ट्रिगर किया जा सकता है. इसका मतलब है कि अगर LTZP से मिली जानकारी सटीक नहीं है और उसके एनवायरमेंट की वजह से जगह या टाइम ज़ोन का पता लगाने की उसकी क्षमता कम हो जाती है, तो टेलीफ़ोनी फ़ॉलबैक मोड ट्रिगर हो जाता है.

टेलीफ़ोनी फ़ॉलबैक मोड में होने पर, time_zone_detector सेवा टेलीफ़ोनी के सुझावों का इस्तेमाल इस तरह करती है जैसे कि जगह की जानकारी का पता लगाने की सुविधा बंद हो. जब तक जगह की जानकारी का एल्गोरिदम कोई खास सुझाव नहीं देता. कोई खास सुझाव मिलने के बाद, टेलीफ़ोनी फ़ॉलबैक मोड बंद कर दिया जाता है. साथ ही, जगह की जानकारी के सुझावों का इस्तेमाल खास तौर पर किया जाता है.

टेलीफ़ोनी फ़ॉलबैक मोड के कॉन्फ़िगरेशन की जानकारी के लिए, टाइम ज़ोन का पता लगाने से जुड़ा कॉन्फ़िगरेशन देखें.

टाइम ज़ोन के हिसाब से सेटिंग

उपयोगकर्ता, एओएसपी सेटिंग ऐप्लिकेशन में, टाइम ज़ोन का अपने-आप पता लगाने की सेटिंग चालू और कॉन्फ़िगर कर सकते हैं.

&#39;सेटिंग&#39; में जाकर, टाइम ज़ोन का अपने-आप पता लगाने की सुविधा

दूसरा डायग्राम. सेटिंग में, टाइम ज़ोन की अपने-आप पहचान करने की सुविधा.

नीचे दी गई टेबल में, एओएसपी सेटिंग ऐप्लिकेशन में टाइम ज़ोन का पता लगाने के लिए, उपयोगकर्ता के कंट्रोल के बारे में बताया गया है.

*Android 11 और इससे पहले के वर्शन पर, यह सेटिंग नेटवर्क से मिले टाइम ज़ोन का इस्तेमाल करें के तौर पर लेबल की गई है

एओएसपी सेटिंग की जगह की जानकारी एओएसपी सेटिंग का नाम दायरा व्यवहार
सिस्टम > तारीख और समय टाइम ज़ोन अपने-आप सेट होने की सुविधा* सभी उपयोगकर्ता

एक टॉगल.

चालू होने पर, मौजूदा टाइम ज़ोन का पता लगाने की ज़िम्मेदारी डिवाइस की होती है. बंद होने पर, उपयोगकर्ताओं को डिवाइस का टाइम ज़ोन मैन्युअल तरीके से सेट करने के लिए कंट्रोल दिए जाते हैं.

सिस्टम > तारीख और समय टाइम ज़ोन सेट करने के लिए, जगह की जानकारी का इस्तेमाल करें मौजूदा उपयोगकर्ता

एक टॉगल.

Android 12 में उपलब्ध है. यह टॉगल सिर्फ़ तब दिखता है, जब डिवाइस पर जगह के टाइम ज़ोन की पहचान करने की सुविधा काम करती है.

साल 14 में किए गए बदलावों के बारे में जानने के लिए, सिर्फ़ जगह के टाइम ज़ोन का पता लगाने की सुविधा वाले डिवाइस देखें.

जगह की जानकारी जगह की जानकारी की सुविधा का इस्तेमाल करें मौजूदा उपयोगकर्ता

एक टॉगल.

आम तौर पर डिवाइस की जगह की जानकारी के इस्तेमाल की अनुमति देता है या रोकता है. अगर डिवाइस पर जगह की जानकारी के टाइम ज़ोन का पता लगाने की सुविधा काम करती है, तो यह वैल्यू काम की होती है.

उपयोगकर्ता की चुनी गई सेटिंग के आधार पर, टाइम ज़ोन की पहचान करने के लिए डिवाइस के व्यवहार की खास जानकारी यहां दी गई है:

  • [तारीख और समय] अपने-आप टाइम ज़ोन सेट करें: बंद

    • उपयोगकर्ता को मैन्युअल तरीके से टाइम ज़ोन चुनना होगा.
  • [तारीख और समय] अपने-आप टाइम ज़ोन सेट करें: चालू है

    • [Location] इस्तेमाल की गई जगह: बंद

      • टेलीफ़ोनी सिग्नल का इस्तेमाल टाइम ज़ोन का पता लगाने के लिए किया जाता है.
    • [Location] इस्तेमाल की गई जगह: चालू है

      • [तारीख और समय] टाइम ज़ोन सेट करने के लिए, जगह की जानकारी का इस्तेमाल करें: चालू है

        • टाइम ज़ोन का पता लगाने के लिए, जगह की जानकारी का इस्तेमाल किया जाता है.
      • [तारीख और समय] टाइम ज़ोन सेट करने के लिए, जगह की जानकारी का इस्तेमाल करें: बंद है

        • टेलीफ़ोनी सिग्नल का इस्तेमाल टाइम ज़ोन का पता लगाने के लिए किया जाता है.

कई उपयोगकर्ताओं के डिवाइस

कई सेटिंग मौजूदा उपयोगकर्ता के लिए होती हैं. इसलिए, जब कोई मौजूदा उपयोगकर्ता एक से ज़्यादा उपयोगकर्ताओं वाले Android डिवाइस पर बदलता है, तो किसी डिवाइस के टाइम ज़ोन का पता लगाने का तरीका बदल सकता है.

टाइम ज़ोन सेट करने के लिए जगह की जानकारी का इस्तेमाल करें टॉगल, मौजूदा उपयोगकर्ता के दायरे में होता है. डिवाइस की नीति के तहत, इस पर पाबंदी नहीं लगाई जाती है. इसका मतलब है कि उपयोगकर्ता कभी भी इसकी वैल्यू बदल सकते हैं. ऐसा तब भी हो सकता है, जब समय क्षेत्र अपने-आप सेट करें टॉगल बंद हो. इसके अलावा, अगर डिवाइस नीति नियंत्रक ने टाइम या टाइम ज़ोन से जुड़े अन्य कंट्रोल पर पाबंदी लगाई हो.

ऐसे डिवाइस जिनमें सिर्फ़ जगह के समय क्षेत्र का पता लगाने वाला एल्गोरिदम काम करता है

इस सेक्शन में उन डिवाइसों के व्यवहार के बारे में बताया गया है जो सिर्फ़ जगह की जानकारी का एल्गोरिदम काम करते हैं.

  • Android 14 और उसके बाद के वर्शन के लिए

    • एओएसपी सेटिंग ऐप्लिकेशन में, उपयोगकर्ताओं को जगह की जानकारी इस्तेमाल करें विकल्प नहीं दिखता. साथ ही, डिवाइस इस तरह से काम करता है जैसे जगह की जानकारी का इस्तेमाल करें विकल्प चालू हो.
    • उपयोगकर्ता के स्कोप वाली SettingsProvider सेटिंग location_time_zone_detection_enabled की वैल्यू को अनदेखा कर दिया जाता है. यह मान अन्य प्रकार के डिवाइस पर उपयोगकर्ता की प्राथमिकता को रिकॉर्ड करता है.
  • Android 12 या Android 13

    • एओएसपी सेटिंग ऐप्लिकेशन में उपयोगकर्ताओं को जगह की जानकारी का इस्तेमाल करें विकल्प दिखता है और उपयोगकर्ता इस विकल्प को बंद कर सकते हैं. अगर यह विकल्प बंद है, तो डिवाइस अपने-आप टाइम ज़ोन का पता नहीं लगा पाएगा.

अपने-आप पहचान किए जाने की सुविधा में बदलाव करने या बंद होने पर व्यवहार

जब उपयोगकर्ता टाइम ज़ोन की पहचान को मैन्युअल से अपने-आप पर सेट करता है, तो हो सकता है कि time_zone_detector को पहले से ही मौजूदा टाइम ज़ोन के बारे में पता हो. अगर ऐसा है, तो उपयोगकर्ता अपने-आप पहचान करने की सुविधा को चालू कर सकता है. इसलिए, डिवाइस के टाइम ज़ोन को एक ही समय पर बदला जा सकता है, ताकि वह time_zone_detector सेवा के हिसाब से सेट हो.

इसी तरह, जब उपयोगकर्ता सेटिंग में कोई ऐसा बदलाव करता है जिससे time_zone_detector सेवा के मौजूदा एल्गोरिदम में बदलाव होता है, तो हो सकता है कि time_zone_detector को पहले से ही नए एल्गोरिदम के लिए सुझाव मिले हों. इसलिए, डिवाइस के समय को time_zone_detector सेवा की राय के मुताबिक तुरंत बदला जा सकता है.

टेलीफ़ोनी के टाइम ज़ोन का पता लगाना

टेलीफ़ोनी के टाइम ज़ोन का पता लगाने की सुविधा, मौजूदा टाइम ज़ोन का पता लगाने के लिए टेलीफ़ोनी सिग्नल का इस्तेमाल करती है. ज़्यादा जानकारी के लिए, Telephony के टाइम ज़ोन का पता लगाने की सुविधा देखें.

जगह के समय क्षेत्र की पहचान करने की सुविधा

जगह के समय क्षेत्र का पता लगाने की सुविधा, Android 12 या इसके बाद वाले वर्शन पर उपलब्ध है. यह एक वैकल्पिक सुविधा है, जो समय क्षेत्र का अपने-आप पता लगाती है. इसकी मदद से, डिवाइस मौजूदा समय क्षेत्र का पता लगाने के लिए, अपनी जगह की जानकारी का इस्तेमाल कर सकते हैं.

Android 12 में पेश की गई location_time_zone_manager सेवा, सिस्टम सर्वर पर काम करती है. इसमें वह कोड शामिल होता है जो time_zone_detector सेवा के लिए, जगह की जानकारी के एल्गोरिदम के सुझाव सबमिट करने के लिए ज़िम्मेदार है. ज़्यादा जानकारी के लिए, जगह के हिसाब से टाइम ज़ोन का पता लगाने की सुविधा देखें.

सुविधा को अपनाने से जुड़ी ज़रूरी बातें

इस सेक्शन में, जगह की जानकारी के समय क्षेत्र का पता लगाने की सुविधा के बारे में बताया गया है. इससे डिवाइस बनाने वाली कंपनी को यह तय करने में मदद मिलती है कि उसे डिवाइस पर यह सुविधा देनी है या नहीं.

टेलीफ़ोनी और जगह की जानकारी की तुलना करना

नीचे दी गई टेबल में, टाइम ज़ोन का पता लगाने के लिए टेलीफ़ोनी सिग्नल के बजाय, जगह की जानकारी का इस्तेमाल करने के फ़ायदों और नुकसानों की तुलना की गई है.

Telephony की पहचान करना जगह की जानकारी का पता लगाना
सही जानकारी यह देश के हिसाब से अलग-अलग होता है.

यह एमसीसी, एनआईटीज़ेड के सटीक होने, और उपलब्धता पर निर्भर करता है.
यह सुविधा के कॉन्फ़िगरेशन या प्लग-इन कॉम्पोनेंट पर निर्भर करता है.

आम तौर पर, चीज़ों में सुधार के लिए इन बातों का ध्यान रखा जाता है:
  • जगह की जानकारी देने वाली सेवा की सटीक जानकारी और नियमितता.
  • टाइम ज़ोन मैप डेटा की क्वालिटी.
अपडेट होने की क्षमता Telephony की पहचान करने की सुविधा, अपडेट किए जा सकने वाले टाइम ज़ोन डेटा मॉड्यूल (com.android.tzdata APEX) में मौजूद फ़ाइलों पर निर्भर करती है. यह सुविधा के कॉन्फ़िगरेशन या प्लग-इन कॉम्पोनेंट पर निर्भर करता है.

आम तौर पर, डेटा अपडेट होने की संभावना इस बात पर निर्भर करती है कि डिवाइस, सर्वर या क्लाइंट के टाइम ज़ोन मैप के डेटा का इस्तेमाल करता है या नहीं.

ध्यान दें: Android के TZDB और टाइम ज़ोन की अन्य जानकारी को अपडेट करने के लिए इस्तेमाल किए जाने वाले टाइम ज़ोन डेटा मॉड्यूल में, टाइम ज़ोन मैप का डेटा शामिल नहीं होता.

डिवाइस बनाने वाली कंपनियों को टाइम ज़ोन के नियमों और टाइम ज़ोन मैप डेटा के बीच वर्शन को एक जैसा रखने पर भी ध्यान देना चाहिए.
पावर का इस्तेमाल कोई भी या कम पावर उपयोग यह उपयोगकर्ता की जगह की जानकारी की सेटिंग, इस्तेमाल किए जा रहे प्लग-इन, और आम तौर पर अन्य ऐप्लिकेशन जगह की जानकारी के लिए अनुरोध करने वाले ऐप्लिकेशन पर निर्भर करता है.
उपलब्धता सिर्फ़ टेलीफ़ोनी डिवाइसों पर. आम तौर पर, इसके लिए एक चालू सिम कार्ड की ज़रूरत होती है. जगह का पता लगाने की सुविधा, जगह की जानकारी देने वाली उपलब्ध कंपनियों पर निर्भर करती है.
उपयोगकर्ता की निजता

उपयोगकर्ता का पसंदीदा टाइम ज़ोन, आम तौर पर उसके देश या इलाके के हिसाब से तय होता है. जगह की जानकारी संवेदनशील है. टाइम ज़ोन का पता लगाने की सुविधा के तहत शेयर की गई अपनी जगह की जानकारी को लेकर, उपयोगकर्ताओं को चिंता हो सकती है. टाइम ज़ोन का पता लगाने की सुविधा से, डिवाइस पर चल रहे सभी ऐप्लिकेशन, Android की अनुमति के बिना डिवाइस के मौजूदा टाइम ज़ोन को पढ़ सकते हैं. साथ ही, ऐप्लिकेशन इस जानकारी से डिवाइस की जगह की सटीक जानकारी का अंदाज़ा लगा सकते हैं.

खास तौर पर, टाइम ज़ोन का पता लगाने की सुविधा, पैसिव या ऐक्टिव तरीकों से काम कर सकती है:

  • पैसिव: डिवाइस के एनवायरमेंट में मौजूद कोई चीज़ डिवाइस को उस एनवायरमेंट में इस्तेमाल करने के लिए टाइम ज़ोन बताती है.
  • चालू: डिवाइस को अपने लिए टाइम ज़ोन का पता लगाना होता है. साथ ही, उपयोगकर्ताओं की निजता सेटिंग और उनकी सहमति के आधार पर, डिवाइस की जगह की जानकारी हासिल करता है, ताकि वह ऐसा कर सके. इसके बाद, वह अपनी जगह की जानकारी को बाहरी सेवाओं के साथ शेयर कर सकता है. उपयोगकर्ता की निजता और सहमति के बारे में जानने के लिए, यहां दी गई चर्चा देखें.

पैसिव डिटेक्शन, जैसे कि टेलीफ़ोनी एल्गोरिदम में, उपयोगकर्ताओं के लिए निजता से जुड़ी कोई अन्य जानकारी नहीं होती है.

जगह की जानकारी के एल्गोरिदम जैसे ऐक्टिव डिटेक्शन में, डिवाइस की उस जगह का पता लगाना शामिल होता है जिसके लिए उपयोगकर्ता शायद सहमत न हों. साथ ही, टाइम ज़ोन आईडी का पता लगाने के लिए, जगह की जानकारी को नेटवर्क पर भेजा जा सकता है.

Android, टाइम ज़ोन का पता लगाने के लिए उपयोगकर्ता की निजता का ध्यान रखता है. इससे उपयोगकर्ता उन एल्गोरिदम को अलग-अलग बंद कर सकते हैं जिनके ऐक्टिव होने की संभावना होती है. इसके अलावा, एओएसपी प्लैटफ़ॉर्म कोड, जगह की जानकारी का सीधे तौर पर इस्तेमाल नहीं करता है: जगह की पहचान और टाइम ज़ोन आईडी के साथ जगह की जानकारी को मैप करना, डिवाइस मैन्युफ़ैक्चरर के कॉन्फ़िगर किए गए प्लग-इन कॉम्पोनेंट के लिए ही रह जाता है.

उपयोगकर्ता की निजता से जुड़ी सुविधाओं के बारे में ज़्यादा जानने के लिए, जगह के समय क्षेत्र का पता लगाने की सुविधा लेख पढ़ें.

कॉन्फ़िगरेशन

डिवाइस बनाने वाली कंपनियां, time_zone_detector सेवा को कॉन्फ़िगर कर सकती हैं, ताकि इसका काम करने का तरीका बदला जा सके. इस सेक्शन में, time_zone_detector सेवा के सामान्य व्यवहार से जुड़े कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है. टेलीफ़ोनी और टाइम ज़ोन की पहचान करने वाले एल्गोरिदम के कॉन्फ़िगरेशन की जानकारी के लिए, Telephony के टाइम ज़ोन का पता लगाने की सुविधा और जगह के हिसाब से टाइम ज़ोन की पहचान करना देखें.

बेस एओएसपी कॉन्फ़िगरेशन frameworks/base/core/res/res/values/config.xml पर है.

कॉन्फ़िगरेशन कुंजी एओएसपी वैल्यू जानकारी
config_supportTelephonyTimeZoneFallback true जब true, time_zone_detector टेलीफ़ोनी फ़ॉलबैक मोड का इस्तेमाल करता है. यह सुविधा, Android 13 और इसके बाद वाले वर्शन के लिए उपलब्ध है.

डिवाइस के डिफ़ॉल्ट तरीके को बदलना

एओएसपी में, टाइम ज़ोन की अपने-आप पहचान करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. इसमें auto_time_zone सेटिंग true पर सेट होती है. अपने-आप समय का पता लगाने की सुविधा को डिफ़ॉल्ट रूप से बंद करने के लिए, frameworks/base/packages/SettingsProvider/res/values/defaults.xml में तय की गई def_auto_time_zone वैल्यू को false पर सेट करें.

किसी दूसरे डिवाइस से बैकअप को वापस लाने पर, फ़्रेमवर्क डिफ़ॉल्ट रूप से auto_time_zone सेटिंग की वैल्यू अपडेट कर देता है. अगर आपको यह पक्का करना है कि इस सेटिंग को बैकअप से वापस न लाया जाए, तो frameworks/base/packages/SettingsProvider/res/values/blocked_settings.xml में बताए गए restore_blocked_global_settings कलेक्शन में auto_time_zone को शामिल करें.

टाइम ज़ोन को डीबग करना और उसकी जांच करना

इस सेक्शन में, सभी एल्गोरिदम के ज़रिए शेयर की गई time_zone_detector सेवा और अन्य कॉम्पोनेंट के व्यवहार को डीबग और टेस्ट करने के बारे में जानकारी दी गई है.

device_config सेवा का इस्तेमाल करके डिवाइस को कॉन्फ़िगर करें

device_config सेवा, Android पर बदली जा सकने वाली कार्रवाई को कॉन्फ़िगर करने का तरीका है. इसके लिए उन वैल्यू का इस्तेमाल किया जाता है जो आम तौर पर किसी रिमोट सर्वर से मालिकाना हक वाले (बिना एओएसपी) कोड के ज़रिए ली जाती हैं. टेस्टिंग के लिए device_config वैल्यू का इस्तेमाल करने पर, खास तौर पर लंबे समय तक चलने वाले मैन्युअल टेस्ट के दौरान डिवाइस, फ़्लैग को सिंक कर सकता है. इससे फ़्लैग रीसेट हो जाएंगे और जांच के लिए सेट की गई वैल्यू मिट जाएंगी.

Android 12 या उसके बाद वाले वर्शन में, फ़्लैग सिंक्रोनाइज़ेशन को कुछ समय तक रोकने के लिए, इसका इस्तेमाल करें:

adb shell cmd device_config set_sync_disabled_for_tests persistent

जांचों के बाद फ़्लैग सिंक करने की सुविधा को पहले जैसा करने के लिए, इनका इस्तेमाल करें:

adb shell cmd device_config set_sync_disabled_for_tests none

फ़्लैग सिंक करने की सुविधा को पहले जैसा करने के बाद, डिवाइस को फिर से चालू करें.

ज़्यादा जानकारी के लिए, $ adb shell cmd device_config help का इस्तेमाल करें.

time_zone_detector सेवा का इस्तेमाल करें

time_zone_detector का कॉन्फ़िगरेशन और सेवा की स्थिति देखने के लिए, time_zone_detector का इस्तेमाल करें:

adb shell cmd time_zone_detector dump

डीबग करने और टाइम ज़ोन का पता लगाने की सुविधा की जांच करने के लिए ज़्यादा निर्देश देखने के लिए, इनका इस्तेमाल करें:

adb shell cmd time_zone_detector help

सहायता आउटपुट में, device_config सेवा की उन प्रॉपर्टी के बारे में भी बताया जाता है जिनका इस्तेमाल, टेस्टिंग या प्रोडक्शन के लिए time_zone_detector सेवा के काम करने के तरीके पर असर डालने के लिए किया जा सकता है. ज़्यादा जानकारी के लिए, device_config सेवा का इस्तेमाल करके डिवाइस कॉन्फ़िगर करना देखें.

टाइम ज़ोन का पता लगाने की सुविधा की पुष्टि करने के लिए, टेस्टर को यह पता होना चाहिए कि time_zone_detector किस एल्गोरिदम का इस्तेमाल कर रहा है. time_zone_detector के मौजूदा एल्गोरिदम को समझने और उसके हिसाब से काम करने के लिए, इनमें से किसी एक विकल्प का इस्तेमाल करें:

  • सेटिंग यूज़र इंटरफ़ेस (यूआई) की मदद से विज़ुअल की मदद से देखें. ज़्यादा जानकारी के लिए, टाइम ज़ोन की सेटिंग देखें.
  • adb के ज़रिए कमांड लाइन इस्तेमाल करें:

    • time_zone_detector स्थिति को डंप करने के लिए, adb shell cmd time_zone_detector dump का इस्तेमाल करें
    • डिवाइस की सेटिंग में बदलाव करने के लिए, time_zone_detector के अन्य निर्देशों का इस्तेमाल करें. ज़्यादा जानकारी के लिए, adb shell cmd time_zone_detector help का इस्तेमाल करें.

यहां adb shell cmd time_zone_detector dump कमांड से मिलने वाले आउटपुट का एक उदाहरण दिया गया है. इसमें मौजूदा एल्गोरिदम और सेवा की स्थिति की जानकारी बोल्ड में दी गई है:

$ adb shell cmd time_zone_detector dump
TimeZoneDetectorStrategy:
  mEnvironment.getCurrentUserId()=0
  mEnvironment.getConfiguration(currentUserId)=ConfigurationInternal{mUserId=0, mUserConfigAllowed=true, mTelephonyDetectionSupported=true, mGeoDetectionSupported=true, mAutoDetectionEnabled=true, mLocationEnabled=true, mGeoDetectionEnabled=true}
  [Capabilities=TimeZoneCapabilitiesAndConfig{mCapabilities=TimeZoneDetectorCapabilities{mUserHandle=UserHandle{0}, mConfigureAutoDetectionEnabledCapability=40, mConfigureGeoDetectionEnabledCapability=40, mSuggestManualTimeZoneCapability=30}, mConfiguration=TimeZoneConfiguration{mBundle=Bundle[{geoDetectionEnabled=true, autoDetectionEnabled=true}]}}]
  mEnvironment.isDeviceTimeZoneInitialized()=true
  mEnvironment.getDeviceTimeZone()=Europe/London
  Time zone change log:
  Manual suggestion history:
...
  Geolocation suggestion history:
...
  Telephony suggestion history:
...

जानकारी की व्याख्या इस तरह की जा सकती है:

कुंजी वैल्यू
mUserConfigAllowed क्या उपयोगकर्ता को डिवाइस नीति नियंत्रक से, तारीख और समय की सेटिंग कंट्रोल करने से रोका जाता है.
mTelephonyDetectionSupported डिवाइस में, टेलीफ़ोनी के टाइम ज़ोन का पता लगाने की सुविधा मौजूद है या नहीं.
mGeoDetectionSupported डिवाइस पर, जगह की जानकारी के टाइम ज़ोन का पता लगाने की सुविधा काम करती है या नहीं. यह कॉन्फ़िगरेशन और कम से कम एक LTZP की मौजूदगी के हिसाब से असरदार स्थिति है.
mAutoDetectionEnabled टाइम ज़ोन का अपने-आप पता लगाने की सुविधा चालू है या नहीं.
mLocationEnabled मुख्य जगह का टॉगल.
mGeoDetectionEnabled एल्गोरिदम स्विच: false, टेलीफ़ोनी के एल्गोरिदम के बारे में बताता है. साथ ही, true, जगह की जानकारी का एल्गोरिदम दिखाता है.

सुझाव के इतिहास की जानकारी से पता चलता है कि सेटिंग (मैन्युअल) के ज़रिए क्या सुझाव दिए गए हैं. साथ ही, टेलीफ़ोनी और जगह की जानकारी का एल्गोरिदम भी दिखता है.