इस पेज पर बताया गया है कि Android पर समय और टाइम ज़ोन की पहचान करने की सुविधा कैसे काम करती है. इसमें यह जानकारी भी शामिल है कि Android, समय और टाइम ज़ोन का अपने-आप पता कैसे लगाता है. साथ ही, इसमें डिवाइस बनाने वाली कंपनियों के लिए कॉन्फ़िगरेशन के विकल्प और टेस्टिंग की जानकारी भी शामिल है.
टाइम और टाइम ज़ोन की खास जानकारी
स्टेटस बार जैसी जगहों पर दिखाने के लिए, Android किसी उपयोगकर्ता के स्थानीय समय का पता लगाता है. इसके लिए, वह दो संबंधित लेकिन अलग-अलग स्थितियों को ट्रैक करता है:
- मौजूदा Unix epoch टाइम
- मौजूदा टाइम ज़ोन
मौजूदा यूनिक्स इपोक टाइम और मौजूदा टाइम ज़ोन, डिवाइस के हिसाब से तय होते हैं. इसका मतलब है कि ये जानकारी, डिवाइस का इस्तेमाल करने वाले सभी लोगों के साथ शेयर की जाती है.
Unix epoch time की मौजूदा वैल्यू तय नहीं होती. यह समय के साथ अपने-आप अपडेट होता है. समय बीतने के साथ-साथ, किसी डिवाइस के मौजूदा यूनिक्स इपोक टाइम में बदलाव किया जाता है. ऐसा तब होता है, जब यह पता चलता है कि यह समय गलत है. उदाहरण के लिए, डिवाइस की बैटरी खत्म होने के बाद.
मौजूदा टाइम ज़ोन के हिसाब से, Unix epoch टाइम को स्थानीय समय में बदलने के लिए बदलाव किया जाता है. उदाहरण के लिए, लॉस एंजेलिस में गर्मियों के दौरान, डिवाइस मौजूदा यूनिक्स इपोक टाइम से सात घंटे घटाता है. वहीं, सर्दियों में यह आठ घंटे घटाता है.
स्थानीय समय की गणना करने के लिए, सभी Android डिवाइसों में सभी देशों के टाइम ज़ोन के नियमों का डेटाबेस होता है. समय क्षेत्र के नियमों के बारे में ज़्यादा जानने के लिए, समय क्षेत्र के नियम लेख पढ़ें.
जब कोई उपयोगकर्ता किसी ऐसी नई जगह पर जाता है जहां समय क्षेत्र अलग है, तो मौजूदा यूनिक्स इपोक टाइम को अडजस्ट करने की ज़रूरत नहीं होती. हालांकि, उपयोगकर्ता आम तौर पर अपनी पिछली जगह के समय के बजाय, स्थानीय समय देखना चाहता है. मौजूदा टाइम ज़ोन बदलने से, मौजूदा Unix epoch टाइम पर सही ऑफ़सेट लागू होता है. इससे नई जगह के लिए सही स्थानीय समय दिखता है.
AOSP, उपयोगकर्ताओं को यह कंट्रोल करने की अनुमति देता है कि उनके लिए समय और टाइम ज़ोन अपने-आप सेट हो या नहीं. इसके लिए, ये तरीके अपनाए जाते हैं.
- समय का अपने-आप पता लगना: इससे यह पक्का होता है कि डिवाइस में Unix epoch का सही समय दिख रहा हो.
- टाइम ज़ोन की अपने-आप पहचान करने की सुविधा: इससे यह पक्का किया जाता है कि डिवाइस पर मौजूदा टाइम ज़ोन सही हो.
समय का अपने-आप पता लगाने की सुविधा
इस सेक्शन में, time_detector
सेवा के बारे में खास जानकारी दी गई है. यह सेवा, टाइम ज़ोन की अपने-आप पहचान करने वाली सुविधा, उपयोगकर्ता कंट्रोल, कॉन्फ़िगरेशन के विकल्प, और टेस्टिंग की जानकारी को मैनेज करती है.
time_detector सेवा
Android 10 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों में मौजूद time_detector
सेवा, समय का अपने-आप पता लगाने की सुविधा को मैनेज करती है. यह कुकी, डिवाइस के मौजूदा Unix epoch टाइम को ज़रूरत के हिसाब से अडजस्ट करती है. ऐसा तब होता है, जब समय का अपने-आप पता लगाने की सुविधा चालू होती है.
time_detector
सेवा हमेशा दो में से किसी एक स्थिति में होती है: certain
या
uncertain
. सेवा की स्थिति (उपलब्ध है या नहीं) का पता time
suggestions से चलता है. ये सुझाव, सेवा को अलग-अलग सोर्स से मिलते हैं.
जब time_detector
सेवा को यह पक्का हो जाता है कि उसे यूनिक्स इपोक टाइम की जानकारी वाला सुझाव मिला है, तो वह मौजूदा यूनिक्स इपोक टाइम को बदल देती है. ऐसा तब होता है, जब सुझाव में दिया गया समय, मौजूदा यूनिक्स इपोक टाइम से अलग होता है.
time_detector
की वैल्यू के बारे में पक्का न होने पर, यह मौजूदा समय को नहीं बदलता. 'अनिश्चित' स्थिति का मतलब आम तौर पर यह होता है कि time_detector
सेवा को समय के सुझाव नहीं मिले हैं. अगर time_detector
सेवा को मिले सुझाव बहुत पुराने माने जाते हैं, तो यह सेवा भी अनिश्चित हो जाती है. सुझावों की उम्र को ध्यान में रखा जाता है, क्योंकि पुराने Unix epoch टाइम के सुझावों का इस्तेमाल करके किए गए अडजस्टमेंट, डिवाइस पर मौजूद बीते हुए रीयलटाइम क्लॉक पर निर्भर करते हैं. यह माना जाता है कि लंबे समय तक यह क्लॉक सटीक नहीं होती.
डिवाइस में, Unix epoch time अपने-आप सेट होने की सुविधा होती है. इसके लिए, डिवाइस कई सोर्स का इस्तेमाल करता है. इस दस्तावेज़ में इन्हें ऑरिजिन कहा जाता है. time_detector
सेवा, सुझावों के क्रम को उनके सोर्स के आधार पर अलग-अलग मानती है.
time_detector
सेवा स्टेटफ़ुल है. इसका मतलब है कि यह हर ऑरिजिन से मिले सबसे हाल के सुझाव का रिकॉर्ड रखती है. अगर किसी ऑरिजिन के लिए, Unix epoch टाइम की ज़्यादा नई जानकारी उपलब्ध है, तो time_detector
को नए सुझाव दिए जाते हैं. time_detector
सेवा, नए और मौजूदा सुझावों का फिर से आकलन करती है. साथ ही, सुझाव मिलने पर डिवाइस की स्थिति को अपडेट करती है.
हालांकि, UTC समय को अंतरराष्ट्रीय स्तर पर स्वीकार किया जाता है, लेकिन कई वजहों से Android डिवाइस के लिए मौजूदा Unix epoch टाइम का पता लगाना हमेशा आसान नहीं होता:
- Unix epoch टाइम, यूटीसी टाइम से थोड़ा अलग टाइमकीपिंग सिस्टम है. इन दोनों के बीच कन्वर्ज़न करने के लिए, यह जानना ज़रूरी है कि लीप सेकंड कब होते हैं और ऑरिजिन उन्हें कैसे हैंडल करते हैं.
- ऐसा हो सकता है कि ओरिजिन सिर्फ़ कुछ समय के लिए या कुछ खास परिस्थितियों में उपलब्ध हों. उदाहरण के लिए, अगर ऑरिजिन के लिए नेटवर्क कनेक्टिविटी ज़रूरी है, तो हो सकता है कि यह सुविधा सिर्फ़ तब उपलब्ध हो, जब डिवाइस इंटरनेट से कनेक्ट हो.
- ऐसा हो सकता है कि ओरिजन की जानकारी गलत हो, सटीक न हो या उसमें गड़बड़ियां हों. उदाहरण के लिए, अगर टेलीफ़ोनी सेल टावर यूटीसी समय को सही तरीके से ट्रैक नहीं कर रहा है, तो टेलीफ़ोनी ओरिजिन समय के बारे में गलत सुझाव दे सकता है.
- Unix epoch टाइम पाने के दौरान, कुछ गड़बड़ियां हो सकती हैं. उदाहरण के लिए, नेटवर्क में देरी, बफ़रिंग या प्रोसेस शेड्यूल करने की वजह से, Unix epoch टाइम गलत हो सकता है.
- सुझाव मिलने के बाद से गुज़रे समय के लिए सुझाव को अडजस्ट करने के लिए इस्तेमाल की गई रेफ़रंस क्लॉक गलत हो सकती है.
AOSP में, समय का पता लगाने की सुविधा के लिए दो मुख्य ओरिजिन कॉन्फ़िगर किए जाते हैं. इनका इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है:
- नेटवर्क: यह नेटवर्क टाइम प्रोटोकॉल (एनटीपी) टाइम सर्वर का इस्तेमाल करता है.
- टेलीफ़ोनी: यह नेटवर्क आइडेंटिटी और टाइम ज़ोन (एनआईटीज़) टेलीफ़ोनी सिग्नल का इस्तेमाल करता है.
टेलीफ़ोनी और नेटवर्क, दोनों के लिए बाहरी नेटवर्क से कनेक्टिविटी की ज़रूरत होती है. हालांकि, यह हमेशा उपलब्ध नहीं होती.
Android 12 से, Android इन ऑरिजिन के साथ भी काम करता है. हालांकि, ये डिफ़ॉल्ट रूप से इस्तेमाल करने के लिए कॉन्फ़िगर नहीं किए जाते:
- GNSS: यह जीपीएस लोकेशन प्रोवाइडर का इस्तेमाल करके, GNSS सोर्स से समय की जानकारी हासिल करता है.
- External: यह एक सामान्य ऑरिजिन है. इससे डिवाइस बनाने वाली कंपनियां, Unix epoch टाइम के अपने सोर्स को इंटिग्रेट कर सकती हैं.
समय सेटिंग
उपयोगकर्ता, AOSP Settings ऐप्लिकेशन में सिस्टम > तारीख और समय पर जाकर, समय का अपने-आप पता लगने की सुविधा चालू कर सकते हैं.
पहली इमेज. सेटिंग में, समय का अपने-आप पता लगने की सुविधा.
इस टेबल में, AOSP के सेटिंग ऐप्लिकेशन में समय का पता लगाने के लिए, उपयोगकर्ता कंट्रोल के बारे में बताया गया है.
*Android 11 और इससे पहले के वर्शन पर, इस सेटिंग को नेटवर्क से मिला समय इस्तेमाल करें के तौर पर लेबल किया गया है |
|||
AOSP की सेटिंग में जगह की जानकारी | AOSP सेटिंग का नाम | दायरा | व्यवहार |
---|---|---|---|
सिस्टम > तारीख और समय | समय अपने-आप सेट हो जाए* | सभी उपयोगकर्ता | टॉगल. इस कुकी के चालू होने पर, डिवाइस मौजूदा यूनिक्स इपोक टाइम का पता लगाता है. बंद होने पर, उपयोगकर्ताओं को डिवाइस का समय मैन्युअल रूप से सेट करने के लिए कंट्रोल दिए जाते हैं. |
जब उपयोगकर्ता मैन्युअल तरीके से समय डालता है, तो वह अपना स्थानीय समय डालता है, न कि यूनिक्स इपोक टाइम. मौजूदा Unix epoch टाइम का हिसाब लगाने के लिए, मौजूदा टाइम ज़ोन का इस्तेमाल किया जाता है, ताकि Unix epoch टाइम का पता लगाया जा सके.
कॉन्फ़िगरेशन
डिवाइस बनाने वाली कंपनियां, time_detector
सेवा को कई तरह से कॉन्फ़िगर कर सकती हैं. जैसे, किन ऑरिजिन का इस्तेमाल करना है और उनसे मिलने वाले सिग्नल को कैसे प्राथमिकता देनी है.
ओरिजन की प्राथमिकता
Android 12 से, डिवाइस बनाने वाली कंपनियां core/res/res/values/config.xml
कॉन्फ़िगरेशन फ़ाइल में बदलाव कर सकती हैं. इससे यह तय किया जा सकता है कि समय का अपने-आप पता लगाने की सुविधा में, समय के किन सोर्स को शामिल किया जाए. साथ ही, यह भी तय किया जा सकता है कि time_detector
इन सोर्स को किस प्राथमिकता के हिसाब से इस्तेमाल करे.
Android 11 या इससे पहले के वर्शन वाले डिवाइसों के लिए, ओरिजिन की प्राथमिकता को ["telephony", "network"]
पर हार्डकोड किया गया है. इसका मतलब है कि नेटवर्क के सुझावों के मुकाबले, टेलीफ़ोनी के सुझावों को प्राथमिकता दी जाती है.
AOSP का डिफ़ॉल्ट कॉन्फ़िगरेशन यहां दिया गया है:
<!-- 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
की उन 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
इनमें से किसी एक स्थिति में हो सकता है: certain
और uncertain
.
जब 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
की संभावित स्थितियों से काफ़ी मिलते-जुलते हैं: certain
और uncertain
. सुझावों के टाइप के उदाहरण यहां दिए गए हैं:
type =
uncertain
,zoneIds = []
- एल्गोरिदम को समय क्षेत्र के बारे में पता नहीं होता.
type =
certain
,zoneIds = ["Europe/London"]
- एल्गोरिदम को पक्का पता है कि ज़ोन यूरोप/लंदन है.
type =
certain
,zoneIds = []
`- एल्गोरिदम को यह पक्का पता है कि उपयोगकर्ता कहां है, लेकिन मौजूदा जगह से जुड़ा कोई ज़ोन आईडी नहीं है.
type =
certain
,zoneIds = ["America/Denver", "America/Phoenix"]
- एल्गोरिदम को पक्का पता है कि जवाब, दो ज़ोन में से किसी एक का है. हालांकि, वह 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
मेमोरी में सेव कर सकता है जिनका इस्तेमाल नहीं किया जा रहा है. हालांकि, इनका इस्तेमाल तब तक नहीं किया जाता, जब तक एल्गोरिदम में बदलाव नहीं होता. जब उपयोगकर्ता, टाइम ज़ोन का अपने-आप पता लगाने की सुविधा की सेटिंग बदलता है और एल्गोरिदम बदल जाता है, तो नए एल्गोरिदम के लिए उपलब्ध सबसे हाल के सुझाव का इस्तेमाल किया जाता है.
टाइम ज़ोन का पता लगाने के लिए, एक से ज़्यादा एल्गोरिदम का इस्तेमाल करने की स्थिति के बारे में जानने के लिए, टेलीफ़ोनी फ़ॉलबैक मोड देखें.
टेलीफ़ोनी फ़ॉलबैक मोड
Android 13 और इसके बाद के वर्शन वाले डिवाइसों पर, time_zone_detector
सेवा टेलीफ़ोनी फ़ॉलबैक मोड के साथ काम करती है. इस मोड की मदद से, Android कुछ समय के लिए टेलीफ़ोनी की सुविधा का इस्तेमाल करके, टाइम ज़ोन का पता लगाने से जुड़े सुझाव दे सकता है. ऐसा तब होता है, जब जगह की जानकारी का पता लगाने वाली सुविधा, टाइम ज़ोन का पता नहीं लगा पाती या जब टेलीफ़ोनी की सुविधा के मुकाबले, जगह की जानकारी का पता लगाने वाली सुविधा को टाइम ज़ोन का पता लगाने में ज़्यादा समय लगता है.
टेलीफ़ोनी फ़ॉलबैक मोड उन डिवाइसों पर लागू होता है जिन पर टेलीफ़ोनी और जगह की जानकारी का पता लगाने की सुविधा काम करती है. साथ ही, उपयोगकर्ता ने टाइम ज़ोन की सेटिंग में जाकर, टाइम ज़ोन सेट करने के लिए जगह की जानकारी का इस्तेमाल करें सेटिंग चालू की हो. डिवाइस को रीबूट करने पर, यह मोड अपने-आप चालू हो जाता है. साथ ही, हवाई जहाज़ मोड बंद होने पर भी यह मोड चालू हो जाता है.
Android 14 और इसके बाद के वर्शन में, LTZP की स्थिति बताने वाले एपीआई के ज़रिए टेलीफ़ोनी फ़ॉलबैक मोड को ट्रिगर किया जा सकता है. इसका मतलब है कि अगर कोई LTZP यह रिपोर्ट करता है कि वह अनिश्चित है और उसके आस-पास के माहौल की वजह से, जगह की जानकारी या टाइम ज़ोन का पता लगाने की उसकी क्षमता कम हो गई है, तो टेलीफ़ोनी फ़ॉलबैक मोड ट्रिगर हो जाता है.
टेलीफ़ोनी फ़ॉलबैक मोड में, time_zone_detector
सेवा टेलीफ़ोनी के सुझावों का इस्तेमाल करती है. ऐसा तब होता है, जब जगह का पता लगाने की सुविधा बंद हो. यह सुविधा तब तक काम करती है, जब तक जगह का पता लगाने वाला एल्गोरिदम कोई सुझाव नहीं देता. कोई सुझाव मिलने के बाद, टेलीफ़ोनी फ़ॉलबैक मोड बंद हो जाता है और सिर्फ़ जगह की जानकारी के सुझावों का इस्तेमाल किया जाता है.
टेलीफ़ोनी फ़ॉलबैक मोड के कॉन्फ़िगरेशन के बारे में ज़्यादा जानने के लिए, टाइम ज़ोन का पता लगाने की सुविधा का कॉन्फ़िगरेशन लेख पढ़ें.
टाइम ज़ोन के हिसाब से सेटिंग
उपयोगकर्ता, AOSP Settings ऐप्लिकेशन में जाकर, टाइम ज़ोन का अपने-आप पता लगाने की सुविधा चालू कर सकते हैं और इसकी सेटिंग कॉन्फ़िगर कर सकते हैं.
दूसरी इमेज. सेटिंग में, टाइम ज़ोन की अपने-आप पहचान होने की सुविधा.
इस टेबल में, AOSP Settings ऐप्लिकेशन में टाइम ज़ोन की पहचान करने की सुविधा के लिए, उपयोगकर्ता कंट्रोल के बारे में बताया गया है.
*Android 11 और इससे पहले के वर्शन पर, इस सेटिंग का नाम नेटवर्क का दिया हुआ टाइम ज़ोन इस्तेमाल करें है |
|||
AOSP की सेटिंग में जगह की जानकारी | AOSP सेटिंग का नाम | दायरा | व्यवहार |
---|---|---|---|
सिस्टम > तारीख और समय | टाइम ज़ोन अपने-आप सेट हो जाए* | सभी उपयोगकर्ता | टॉगल. इस सेटिंग के चालू होने पर, डिवाइस मौजूदा टाइम ज़ोन का पता लगाता है. बंद होने पर, लोगों को डिवाइस का टाइम ज़ोन मैन्युअल रूप से सेट करने के कंट्रोल मिलते हैं. |
सिस्टम > तारीख और समय | टाइम ज़ोन सेट करने के लिए, जगह की जानकारी का इस्तेमाल करें | मौजूदा उपयोगकर्ता | टॉगल. यह सुविधा, Android 12 और इसके बाद के वर्शन वाले डिवाइसों पर उपलब्ध है. यह टॉगल सिर्फ़ तब दिखता है, जब डिवाइस पर जगह के समय क्षेत्र की पहचान करने की सुविधा काम करती है. Android 14 में किए गए बदलावों के बारे में जानने के लिए, सिर्फ़ जगह की जानकारी के हिसाब से टाइम ज़ोन की पहचान करने की सुविधा वाले डिवाइस पर जाएं. |
जगह की जानकारी | जगह की जानकारी की सुविधा का इस्तेमाल करें | मौजूदा उपयोगकर्ता | टॉगल. इस कुकी से, डिवाइस की जगह की जानकारी का इस्तेमाल करने की अनुमति दी जाती है या इसे रोका जाता है. अगर डिवाइस पर जगह के समय क्षेत्र की पहचान करने की सुविधा काम करती है, तो यह वैल्यू काम की है. |
उपयोगकर्ता की चुनी गई सेटिंग के हिसाब से, टाइम ज़ोन का पता लगाने के लिए डिवाइस के व्यवहार की खास जानकारी यहां दी गई है:
[तारीख और समय] टाइम ज़ोन अपने-आप सेट हो जाए: बंद है
- उपयोगकर्ता को मैन्युअल तरीके से टाइम ज़ोन चुनना होगा.
[तारीख और समय] टाइम ज़ोन अपने-आप सेट हो जाए: चालू है
[जगह की जानकारी] जगह की जानकारी का इस्तेमाल करें: बंद है
- टाइम ज़ोन का पता लगाने के लिए, टेलीफ़ोनी सिग्नल का इस्तेमाल किया जाता है.
[Location] Use location: ON
[तारीख और समय] टाइम ज़ोन सेट करने के लिए, जगह की जानकारी का इस्तेमाल करें: चालू है
- जगह की जानकारी का इस्तेमाल, टाइम ज़ोन का पता लगाने के लिए किया जाता है.
[तारीख और समय] टाइम ज़ोन सेट करने के लिए, जगह की जानकारी का इस्तेमाल करें: बंद है
- टाइम ज़ोन का पता लगाने के लिए, टेलीफ़ोनी सिग्नल का इस्तेमाल किया जाता है.
एक से ज़्यादा उपयोगकर्ताओं के डिवाइस
इसमें शामिल कई सेटिंग, मौजूदा उपयोगकर्ता के हिसाब से तय होती हैं. इसलिए, एक से ज़्यादा उपयोगकर्ताओं वाले Android डिवाइस पर मौजूदा उपयोगकर्ता के बदलने पर, डिवाइस के टाइम ज़ोन का पता लगाने के तरीके में बदलाव हो सकता है.
टाइम ज़ोन सेट करने के लिए जगह की जानकारी का इस्तेमाल करें टॉगल, मौजूदा उपयोगकर्ता के लिए होता है. साथ ही, इस पर डिवाइस की नीति का कोई असर नहीं पड़ता. इसका मतलब है कि उपयोगकर्ता इसकी वैल्यू को कभी भी बदल सकते हैं. भले ही, टाइम ज़ोन अपने-आप सेट होने की सुविधा टॉगल बंद हो या डिवाइस की नीति कंट्रोलर ने समय या टाइम ज़ोन के अन्य कंट्रोल पर पाबंदी लगाई हो.
ऐसे डिवाइस जिनमें सिर्फ़ जगह के समय क्षेत्र की पहचान करने का एल्गोरिदम काम करता है
इस सेक्शन में, उन डिवाइसों के बारे में बताया गया है जो सिर्फ़ जगह की जानकारी के एल्गोरिदम के साथ काम करते हैं.
Android 14 और इसके बाद के वर्शन
- AOSP Settings ऐप्लिकेशन में, लोगों को जगह की जानकारी का इस्तेमाल करें विकल्प नहीं दिखता है. साथ ही, डिवाइस इस तरह काम करता है जैसे जगह की जानकारी का इस्तेमाल करें विकल्प चालू हो.
- उपयोगकर्ता के स्कोप वाली
SettingsProvider
सेटिंगlocation_time_zone_detection_enabled
की वैल्यू को अनदेखा कर दिया जाता है. यह वैल्यू, उपयोगकर्ता की अन्य डिवाइसों पर की गई सेटिंग को रिकॉर्ड करती है.
Android 12 या Android 13
- उपयोगकर्ताओं को AOSP Settings ऐप्लिकेशन में, जगह की जानकारी का इस्तेमाल करें विकल्प दिखता है. साथ ही, वे इस विकल्प को बंद कर सकते हैं. अगर यह विकल्प बंद है, तो डिवाइस टाइम ज़ोन की अपने-आप पहचान नहीं करेगा.
भाषा की अपने-आप पहचान करने की सुविधा को चालू और बंद करने पर होने वाले बदलाव
जब कोई उपयोगकर्ता, टाइम ज़ोन का पता लगाने की सुविधा को मैन्युअल से अपने-आप पर स्विच करता है, तो हो सकता है कि time_zone_detector
को पहले से ही मौजूदा टाइम ज़ोन के बारे में पता हो. ऐसा होने पर, उपयोगकर्ता के टाइम ज़ोन का अपने-आप पता लगाने की सुविधा चालू करने पर, डिवाइस का टाइम ज़ोन उसी समय बदला जा सकता है, ताकि वह time_zone_detector
सेवा के हिसाब से सेट हो जाए.
इसी तरह, जब उपयोगकर्ता सेटिंग में कोई ऐसा बदलाव करता है जिससे time_zone_detector
सेवा के मौजूदा एल्गोरिदम में बदलाव होता है, तो हो सकता है कि time_zone_detector
को नए एल्गोरिदम के लिए पहले ही सुझाव मिल गए हों. इसलिए, डिवाइस का समय तुरंत बदल सकता है, ताकि वह time_zone_detector
सेवा के हिसाब से सेट हो जाए.
टेलीफ़ोनी टाइम ज़ोन की पहचान करने की सुविधा
टेलीफ़ोनी टाइम ज़ोन का पता लगाने की सुविधा, टेलीफ़ोनी सिग्नल का इस्तेमाल करके मौजूदा टाइम ज़ोन का पता लगाती है. ज़्यादा जानकारी के लिए, टेलीफ़ोनी टाइम ज़ोन का पता लगाना लेख पढ़ें.
जगह के समय क्षेत्र की पहचान करने की सुविधा
जगह के हिसाब से टाइम ज़ोन की पहचान करने की सुविधा, Android 12 या उसके बाद के वर्शन पर उपलब्ध है. यह टाइम ज़ोन का अपने-आप पता लगाने की सुविधा है. इसे चालू करना ज़रूरी नहीं है. इससे डिवाइसों को अपनी जगह की जानकारी का इस्तेमाल करके, मौजूदा टाइम ज़ोन का पता लगाने में मदद मिलती है.
Android 12 में लॉन्च की गई location_time_zone_manager
सेवा, सिस्टम सर्वर में चलती है. इसमें वह कोड होता है जो time_zone_detector
सेवा को जगह की जानकारी के एल्गोरिदम के सुझाव सबमिट करने के लिए ज़िम्मेदार होता है. ज़्यादा जानकारी के लिए, जगह के टाइम ज़ोन की पहचान करने की सुविधा लेख पढ़ें.
सुविधा को अपनाने से जुड़ी बातें
इस सेक्शन में, जगह के हिसाब से टाइम ज़ोन का पता लगाने की सुविधा के बारे में बताया गया है. इससे डिवाइस बनाने वाली कंपनी को यह तय करने में मदद मिलती है कि डिवाइस पर इस सुविधा को चालू करना है या नहीं.
टेलीफ़ोनी और जगह की जानकारी का पता लगाने की सुविधा की तुलना करना
इस टेबल में, टाइम ज़ोन का पता लगाने के लिए टेलीफ़ोनी सिग्नल के बजाय जगह की जानकारी का इस्तेमाल करने के फ़ायदे और नुकसान की तुलना की गई है.
कैटगरी | टेलीफ़ोनी की सुविधा का पता लगाना | जगह की जानकारी का पता लगाना |
---|---|---|
सही जवाब | यह रकम, हर देश के हिसाब से अलग-अलग हो सकती है. यह एमसीसी, एनआईडीज़ की सही जानकारी, और उपलब्धता पर निर्भर करता है. |
यह सुविधा के कॉन्फ़िगरेशन या प्लग-इन कॉम्पोनेंट पर निर्भर करता है. जवाब के सही होने की संभावना आम तौर पर इन बातों पर निर्भर करती है:
|
अपडेट किए जाने की क्षमता | टेलीफ़ोनी की पहचान करने की सुविधा, अपडेट किए जा सकने वाले टाइम ज़ोन डेटा मॉड्यूल (com.android.tzdata APEX) में मौजूद फ़ाइलों पर निर्भर करती है. |
यह सुविधा के कॉन्फ़िगरेशन या प्लग-इन कॉम्पोनेंट पर निर्भर करता है. आम तौर पर, अपडेट करने की सुविधा इस बात पर निर्भर करती है कि डिवाइस, सर्वर या क्लाइंट टाइमज़ोन मैप डेटा का इस्तेमाल करता है या नहीं. टाइम ज़ोन के मैप का डेटा, टाइम ज़ोन के डेटा वाले मॉड्यूल में शामिल नहीं होता. इस मॉड्यूल का इस्तेमाल, TZDB की Android कॉपी और टाइम ज़ोन की अन्य जानकारी को अपडेट करने के लिए किया जाता है. डिवाइस बनाने वाली कंपनियों को, समय क्षेत्र के नियमों और समय क्षेत्र के मैप डेटा के वर्शन में एकरूपता का ध्यान रखना चाहिए. |
ऊर्जा का इस्तेमाल | बैटरी का इस्तेमाल नहीं किया जाता या कम इस्तेमाल किया जाता है | यह उपयोगकर्ता की जगह की जानकारी की सेटिंग, इस्तेमाल किए जा रहे प्लग-इन, और आम तौर पर इस बात पर निर्भर करता है कि अन्य ऐप्लिकेशन जगह की जानकारी का अनुरोध कब करते हैं. |
उपलब्धता | सिर्फ़ फ़ोन और टैबलेट पर काम करने वाले डिवाइसों के लिए. इसके लिए, आम तौर पर चालू सिम कार्ड की ज़रूरत होती है. | जगह की जानकारी का पता लगाने की सुविधा, जगह की जानकारी देने वाली उपलब्ध सेवाओं पर निर्भर करती है. |
उपयोगकर्ता की निजता
आम तौर पर, उपयोगकर्ता के पसंदीदा टाइम ज़ोन का पता उसकी भौगोलिक जगह से चलता है. जगह की जानकारी संवेदनशील डेटा होता है. उपयोगकर्ताओं को इस बात की चिंता हो सकती है कि टाइम ज़ोन की पहचान करने की सुविधा के तहत, उनकी जगह की जानकारी शेयर की जा रही है. टाइम ज़ोन का पता लगाने से जुड़ी सुविधा के अलावा, किसी डिवाइस पर चल रहे सभी ऐप्लिकेशन, डिवाइस के मौजूदा टाइम ज़ोन को पढ़ सकते हैं. इसके लिए, Android की अनुमति की ज़रूरत नहीं होती. साथ ही, ऐप्लिकेशन इस जानकारी से डिवाइस की जगह की अनुमानित जानकारी का पता लगा सकते हैं.
खास तौर पर, समय क्षेत्र की पहचान करने की सुविधा, पैसिव या ऐक्टिव तरीके से काम कर सकती है:
- पैसिव: डिवाइस के आस-पास के माहौल से डिवाइस को पता चलता है कि उसे उस माहौल में किस टाइम ज़ोन का इस्तेमाल करना है.
- चालू: डिवाइस को खुद के लिए टाइम ज़ोन तय करना होता है. इसके लिए, वह उपयोगकर्ताओं की निजता सेटिंग और उनकी सहमति के आधार पर, डिवाइस की जगह की जानकारी हासिल करता है. इसके बाद, वह अपनी जगह की जानकारी बाहरी सेवाओं के साथ शेयर कर सकता है. उपयोगकर्ता की निजता और सहमति के बारे में ज़्यादा जानकारी के लिए, यहां दी गई चर्चा देखें.
पैसिव डिटेक्शन (जैसे, टेलीफ़ोनी एल्गोरिदम) से, उपयोगकर्ताओं की निजता पर कोई अतिरिक्त असर नहीं पड़ता.
जगह की जानकारी का पता लगाने वाले एल्गोरिदम जैसे ऐक्टिव डिटेक्शन में, डिवाइस की जगह की जानकारी का पता लगाना शामिल होता है. उपयोगकर्ता इस बात से सहमत नहीं हो सकते. साथ ही, टाइम ज़ोन आईडी का पता लगाने के लिए, जगह की जानकारी को नेटवर्क पर भेजा जा सकता है.
Android, समय क्षेत्र की पहचान करने के लिए उपयोगकर्ता की निजता को ध्यान में रखता है. इससे उपयोगकर्ता को उन एल्गोरिदम को अलग-अलग तौर पर बंद करने की सुविधा मिलती है जो चालू होने चाहिए. इसके अलावा, AOSP प्लैटफ़ॉर्म कोड, सीधे तौर पर जगह की जानकारी से डील नहीं करता: जगह की जानकारी का पता लगाने और जगह की जानकारी को टाइम ज़ोन आईडी से मैप करने का काम, डिवाइस बनाने वाली कंपनियों के कॉन्फ़िगर किए गए प्लग-इन कॉम्पोनेंट पर छोड़ दिया जाता है.
उपयोगकर्ता की निजता से जुड़ी सुविधाओं के बारे में ज़्यादा जानकारी के लिए, जगह के हिसाब से समय क्षेत्र का पता लगाना लेख पढ़ें.
कॉन्फ़िगरेशन
डिवाइस बनाने वाली कंपनियां, time_zone_detector
सेवा को कॉन्फ़िगर कर सकती हैं, ताकि इसके काम करने के तरीके में बदलाव किया जा सके. इस सेक्शन में, time_zone_detector
सेवा के सामान्य व्यवहार के लिए कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है. टेलीफ़ोनी और टाइम ज़ोन का पता लगाने वाले एल्गोरिदम के कॉन्फ़िगरेशन के बारे में ज़्यादा जानने के लिए, टेलीफ़ोनी टाइम ज़ोन का पता लगाना और जगह के हिसाब से टाइम ज़ोन का पता लगाना लेख पढ़ें.
AOSP का बेस कॉन्फ़िगरेशन frameworks/base/core/res/res/values/config.xml
पर है.
कॉन्फ़िगरेशन कुंजी | AOSP वैल्यू | ब्यौरा |
---|---|---|
config_supportTelephonyTimeZoneFallback |
true |
जब true , time_zone_detector टेलीफ़ोनी फ़ॉलबैक मोड का इस्तेमाल करता है. यह सुविधा, Android 13 और उसके बाद के वर्शन के लिए उपलब्ध है.
|
डिवाइस के डिफ़ॉल्ट बिहेवियर में बदलाव करना
AOSP में, टाइम ज़ोन का अपने-आप पता लगाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. साथ ही, auto_time_zone
सेटिंग को true
पर सेट किया जाता है. समय का अपने-आप पता लगने की सुविधा को डिफ़ॉल्ट रूप से बंद करने के लिए, frameworks/base/packages/SettingsProvider/res/values/defaults.xml
में तय की गई def_auto_time_zone
की वैल्यू को false
पर सेट करें.
किसी दूसरे डिवाइस से बैकअप को वापस लाते समय, फ़्रेमवर्क डिफ़ॉल्ट रूप से auto_time_zone
सेटिंग की वैल्यू को अपडेट करता है. अगर आपको यह पक्का करना है कि इस सेटिंग को बैकअप से वापस न लाया जाए, तो auto_time_zone
को frameworks/base/packages/SettingsProvider/res/values/blocked_settings.xml
में तय की गई restore_blocked_global_settings
कलेक्शन में शामिल करें.
टाइम ज़ोन की गड़बड़ी ठीक करना और उसकी जांच करना
इस सेक्शन में, 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
सेवा की उन प्रॉपर्टी के बारे में भी बताया गया है जिनका इस्तेमाल, device_config
सेवा के व्यवहार पर असर डालने के लिए किया जा सकता है. ऐसा टेस्टिंग या प्रोडक्शन के दौरान किया जा सकता है.time_zone_detector
ज़्यादा जानकारी के लिए, device_config
service का इस्तेमाल करके डिवाइस को कॉन्फ़िगर करना लेख पढ़ें.
टाइम ज़ोन की पहचान करने की सुविधा की जांच करने वालों को यह पता होना चाहिए कि 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 |
डिवाइस में जगह के समय क्षेत्र की पहचान करने की सुविधा काम करती है या नहीं. यह कॉन्फ़िगरेशन और कम से कम एक एलटीज़ेडपी की मौजूदगी के आधार पर, लागू स्थिति होती है. |
mAutoDetectionEnabled |
यह जानकारी मिलती है कि समय क्षेत्र की पहचान अपने-आप करने की सुविधा चालू है या नहीं. |
mLocationEnabled |
जगह की जानकारी की सुविधा चालू/बंद करने का मुख्य टॉगल. |
mGeoDetectionEnabled |
एल्गोरिदम स्विच: false टेलीफ़ोनी एल्गोरिदम और true जगह की जानकारी के एल्गोरिदम को दिखाता है. |
सुझाव के इतिहास की जानकारी से पता चलता है कि सेटिंग (मैन्युअल) के ज़रिए और टेलीफ़ोनी और जगह की जानकारी के एल्गोरिदम के ज़रिए कौनसे सुझाव दिए गए हैं.