نظرة عامة حول الوقت

توضّح هذه الصفحة آلية عمل ميزة "رصد الوقت والمنطقة الزمنية" على Android. هذا النمط الآلية التي يتّبعها Android لرصد المناطق الزمنية والمناطق الزمنية تلقائيًا وخيارات الشركات المصنّعة للأجهزة ومعلومات الاختبار.

نظرة عامة على المناطق الزمنية

لتحديد التوقيت المحلي للمستخدم لعرضه في مواقع جغرافية مثل الحالة يتتبّع Android حالتين مرتبطتين ولكن مستقلتين:

  • وقت حقبة يونكس الحالية
  • المنطقة الزمنية الحالية

إن وقت حقبة يونكس الحالية والمنطقة الزمنية الحالية هما حالات على مستوى الجهاز، مما يعني أنه تتم مشاركتها من قبل جميع مستخدمي الجهاز.

إنّ وقت حقبة يونكس الحالي ليس قيمة ثابتة. يتم تحديثه تلقائيًا إلى تعكس مرور الوقت. بالإضافة إلى مرور الوقت الطبيعي، فإن يتم تعديل وقت حقبة يونكس للجهاز إذا تبيّن أنه غير صحيح، على سبيل المثال، بعد انقطاع التيار الكهربائي للجهاز.

تحدد المنطقة الزمنية الحالية التعديل الذي سيتم إجراؤه لتحويل الوقت الحالي لحقبة يونكس إلى توقيت محلي. على سبيل المثال، خلال الصيف في لوس أنجلوس ، ويطرح الجهاز 7 ساعات من وقت حقبة يونكس الحالية، في فصل الشتاء، تطرح 8 ساعات.

لإتاحة هذه العمليات الحسابية للوقت المحلي، تحتوي جميع أجهزة Android على لجميع قواعد المنطقة الزمنية العالمية. لمزيد من المعلومات عن قواعد المنطقة الزمنية، راجع قواعد المنطقة الزمنية

عندما يسافر المستخدم إلى موقع جغرافي جديد يستخدم منطقة زمنية مختلفة، لا يلزم تعديل وقت حقبة يونكس الحالية ولكن المستخدم يريد عادةً لمعرفة التوقيت المحلي بدلاً من الوقت في موقعهم السابق. جارٍ التغيير فإن المنطقة الزمنية الحالية تضمن تطبيق الإزاحة الصحيحة على وقت حقبة Unix لعرض التوقيت المحلي الصحيح للموقع الجغرافي الجديد

يتيح AOSP للمستخدمين التحكم بشكل مستقل في ما إذا كان سيتم تضمين الوقت والمنطقة الزمنية تلقائيًا من خلال الآليات التالية.

  • الرصد التلقائي للوقت: يضمن هذا الإعداد ضبط الإعدادات الصحيحة للجهاز. وقت حقبة يونكس الحالية.
  • الرصد التلقائي للمنطقة الزمنية: يضمن هذا الإجراء ضبط الإعدادات الصحيحة للجهاز. المنطقة الزمنية الحالية.

التعرّف التلقائي على الوقت

يقدِّم هذا القسم نظرة عامة على خدمة time_detector التي تُديرها. الكشف التلقائي عن الوقت وعناصر تحكم المستخدم وخيارات الضبط والاختبار التفاصيل.

خدمة time_detector

تشير رسالة الأشكال البيانية time_detector تتوفر على أجهزة Android 10 أو الإصدارات الأحدث، وإدارة الوقت التلقائي الرصد. يضبط هذا الوضع وقت حقبة Unix الحالي للجهاز حسب الحاجة عند تم تفعيل رصد الوقت تلقائيًا.

تكون الخدمة time_detector دائمًا بإحدى الحالتَين التاليتَين: غير مؤكدة أو مؤكد. تم تحديد حالة الخدمة المؤكدة أو غير المؤكدة. حسب اقتراحات الوقت التي يتلقّاها من مصادر مختلفة.

عندما تكون خدمة "time_detector" بالتأكيد، يعني ذلك أنّها تلقّت الاقتراح بمعلومات وقت حقبة يونكس، فإنه يلغي حقبة يونكس الحالية الوقت إذا كان اقتراح الوقت مختلفًا عن وقت حقبة Unix الحالي.

عندما تكون قيمة الحقل "time_detector" غير مؤكّدة، لا يتم تجاوز الوقت الحالي. تشير رسالة الأشكال البيانية تشير الحالة غير المؤكدة عادةً إلى عدم تلقّي خدمة time_detector أي وقت. الاقتراحات. تصبح خدمة time_detector أيضًا غير مؤكدة إذا كانت الاقتراحات. التي تلقاها تُعتبر قديمة جدًا بحيث لا يمكن استخدامها. عمر الاقتراحات هو لأن التعديلات التي تستخدم اقتراحات وقت حقبة يونكس القديمة تعتمد على الساعة المنقضية في الوقت الفعلي على الجهاز، والتي يُفترض أن تكون غير دقيقة بمرور لفترات طويلة.

ولتحديد وقت حقبة يونكس الحالي تلقائيًا، يحتوي الجهاز على والمصادر التي يمكنه استخدامها. وتُسمّى هذه المصادر في هذا المستند. تشير رسالة الأشكال البيانية تتعامل خدمة time_detector مع تسلسلات الاقتراحات على أنّها مختلفة استنادًا إلى أصلها.

تكون خدمة time_detector ذات حالة، أي أنّها تحتفظ بسجلّ أحدث اقتراح قدّمه كل مصدر. تم تقديم اقتراحات جديدة time_detector إذا كان المصدر يحتوي على معلومات أحدث عن وقت حقبة Unix المتوفرة. تعيد خدمة "time_detector" تقييم الاقتراحات الجديدة والحالية. ويعدّل حالة الجهاز عند تلقّي اقتراحات.

ورغم أنه تم الاتفاق دوليًا على التوقيت العالمي المنسق، فإن هناك أسبابًا مختلفة وراء أن تحديد وقت حقبة يونكس الحالية ليس أمرًا سهلاً دائمًا جهاز Android:

  • يختلف وقت حقبة يونكس قليلاً عن التوقيت العالمي المنسق (UTC). ويتطلب التحويل بين الاثنين معرفة وقت حدوث الثواني الكبيسة وكيفية التعامل معها من خلال المصادر.
  • قد لا تتوفّر بيانات المصدر إلا في أوقات محدّدة أو ضمن فترة زمنية محدّدة الظروف. فعلى سبيل المثال، إذا كان المصدر يتطلب الاتصال بالشبكة، قد يتوفّر فقط أثناء اتصال الجهاز بالإنترنت.
  • وقد تكون المصادر غير دقيقة أو غير دقيقة أو فيها أخطاء. بالنسبة على سبيل المثال، إذا لم يتمكن برج الاتصالات الهاتفية من تتبع "التوقيت العالمي" بشكلٍ صحيح، قد يقدم مصدر الاتصال الهاتفي اقتراحات زمنية غير دقيقة.
  • قد تظهر أخطاء أثناء الحصول على فترة حقبة يونكس. على سبيل المثال، قد يتسبب تأخير الشبكة أو التخزين المؤقت أو جدولة المعالجة أن يكون وقت حقبة يونكس غير دقيق.
  • الساعة المرجعية المستخدمة لضبط اقتراح للوقت المنقضي منذ الاقتراح الذي تم استلامه قد يكون غير دقيق.

هناك مصدران رئيسيان لرصد الوقت تم ضبطهما للاستخدام بشكلٍ تلقائي في بروتوكول AOSP:

  • الشبكة: تستخدِم الشبكة خوادم وقت بروتوكول الوقت (NTP).
  • الاتصال الهاتفي: يستخدِم هذا الوضع الاتصال الهاتفي الذي يتضمّن "هوية الشبكة" و"المنطقة الزمنية" (NITZ). بشكل أفضل.

يتطلب كل من مصادر الهاتف والشبكات الاتصال بالشبكات الخارجية، والتي لا تكون متوفرة دائمًا.

بدءًا من نظام التشغيل Android 12، يتوافق Android أيضًا مع المصادر التالية التي لم يتم ضبطها للاستخدام تلقائيًا:

  • نظام تحديد المواقع العالمي (GNSS): يستخدم هذا الوضع نظام تحديد المواقع العالمي (GPS). الموقع للحصول على وقت من مصدر GNSS.
  • خارجي: عامة يسمح للشركات المصنّعة للأجهزة بدمج مصدرها هو وقت حقبة يونكس.

إعدادات الوقت

يمكن للمستخدمين تفعيل رصد الوقت تلقائيًا في النظام > التاريخ والوقت في تطبيق "إعدادات AOSP".

الرصد التلقائي للوقت في "الإعدادات"

الشكل 1. يمكنك رصد الوقت تلقائيًا من خلال "الإعدادات".

يوضِّح الجدول التالي عناصر تحكّم المستخدِم لرصد الوقت في "AdSense للنطاقات المستضافة" (AOSP). تطبيق "الإعدادات"

*على نظام التشغيل Android 11 والإصدارات الأقدم، يحمل هذا الإعداد التصنيف استخدام الوقت الذي توفّره الشبكة

موقع إعدادات AOSP اسم إعدادات AOSP المجال السُلوك
النظام > التاريخ والوقت ضبط الوقت تلقائيًا* كل المستخدمين

زر الإيقاف/التفعيل:

عندما يكون الجهاز مفعّلاً، يكون مسؤولاً عن رصد نظام التشغيل Unix الحالي. حقًا. عند إيقاف، يتم تزويد المستخدمين بعناصر تحكم لضبط الجهاز يدويًا.

عندما يُدخل المستخدم الوقت يدويًا، يُدخِل توقيته المحلي، وليس حقبة يونكس الوقت. يتم احتساب الوقت الحالي لحقبة Unix باستخدام المنطقة الزمنية الحالية. لاستنتاج وقت حقبة يونكس.

الإعدادات

يمكن للشركات المصنّعة للأجهزة ضبط خدمة 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 الاقتراح لأنّه لا يمكن أن يكون صالحًا إذا. الطابع الزمني للإصدار صحيح.

بالنسبة إلى الأجهزة التي تعمل بالإصدار 11 من نظام التشغيل Android أو الإصدارات الأقدم، لا تتوفّر في خدمة time_detector والتحقق من صحة الاقتراحات الواردة بشأن وقت حقبة Unix.

تصحيح أخطاء الوقت والاختبار

يقدّم هذا القسم معلومات عن كيفية تصحيح الأخطاء واختبار سلوك خدمة 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 الحالي للجهاز.

تشير معلومات سجل الاقتراحات إلى الاقتراحات التي قدمها لكل مصدر.

الرصد التلقائي للمنطقة الزمنية

يقدم هذا القسم نظرة عامة على خدمة time_zone_detector التي وإدارة الاكتشاف التلقائي للمنطقة الزمنية وعناصر تحكم المستخدم في الإعدادات والاتصال الهاتفي رصد المنطقة الزمنية للموقع الجغرافي وتفاصيل الاختبار

خدمة 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: مؤكدة وغير مؤكدة. فيما يلي أمثلة لأنواع الاقتراحات:

  • النوع = 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، ولكن لا يتم استخدامها إلا إذا اعتمدت الخوارزمية التغييرات. عندما يغيّر المستخدم إعدادات ميزة "الرصد التلقائي للمنطقة الزمنية" وتغير الخوارزمية، فأحدث اقتراح متاح استخدام خوارزمية جديدة.

للحصول على تفاصيل حول الموقف الذي يتم فيه استخدام خوارزميات متعددة لتحديد المنطقة الزمنية، راجع وضع الاتصال الهاتفي الاحتياطي:

وضع الاتصال الهاتفي الاحتياطي

على الأجهزة التي تعمل بنظام التشغيل Android 13 والإصدارات الأحدث، تتيح خدمة time_zone_detector وضع الاتصال الهاتفي الاحتياطي. هذا الوضع يسمح لنظام التشغيل Android باستخدام اقتراحات رصد الاتصالات الهاتفية مؤقتًا في الحالات التي يتعذّر على ميزة "رصد الموقع الجغرافي" رصد المنطقة الزمنية أو أماكن رصد الموقع الجغرافي يستغرق اكتشاف المنطقة الزمنية وقتًا أطول مقارنةً برصد الاتصال الهاتفي.

ينطبق الوضع الاحتياطي للاتصال الهاتفي على الأجهزة التي تستخدم كلاً من الاتصال الهاتفي والموقع الجغرافي. التي تتاح فيها ميزة الرصد، والتي فعّل فيها المستخدم خيار استخدام الموقع الجغرافي لضبط المنطقة الزمنية في إعدادات المنطقة الزمنية. الوضع مفعّل تلقائيًا عند إعادة تشغيل الجهاز، وعند إيقاف وضع الطيران.

في الإصدار 14 من نظام التشغيل Android والإصدارات الأحدث، يمكن اتخاذ إجراء احتياطي للاتصال الهاتفي التي تم إجراؤها من خلال واجهات برمجة التطبيقات لإعداد تقارير حالة LTZP هذا يعني أنّه إذا أبلغ فريق الدعم الطويل الأمد (LTZP) عن أنّه غير مؤكد وقدرته على رصد الموقع الجغرافي. أو تراجع المنطقة الزمنية حسب بيئتها، فإن الوضع الاحتياطي للاتصال الهاتفي مُشغَّلة.

عندما تكون خدمة "time_zone_detector" في الوضع الاحتياطي للاتصال الهاتفي، تستخدم خدمة "الاتصال الهاتفي". الاقتراحات كما لو كان اكتشاف الموقع غير مفعّل حتى خوارزمية الموقع يقدم اقتراحًا معينًا. بعد تلقي اقتراح معين، يستخدم الاتصال الهاتفي تم إيقاف الوضع الاحتياطي واستخدام اقتراحات الموقع الجغرافي بشكل حصري.

للاطّلاع على تفاصيل الإعدادات الخاصة بالوضع الاحتياطي للاتصال الهاتفي، يُرجى الاطّلاع على ضبط إعدادات رصد المنطقة الزمنية

إعدادات المنطقة الزمنية

يمكن للمستخدمين تفعيل وضبط إعدادات الرصد التلقائي للمنطقة الزمنية في تطبيق "إعدادات AOSP".

الرصد التلقائي للمنطقة الزمنية في الإعدادات

الشكل 2. يمكنك استخدام ميزة "الرصد التلقائي للمنطقة الزمنية" من خلال الإعدادات.

يصف الجدول التالي عناصر تحكم المستخدم لاكتشاف المنطقة الزمنية في تطبيق "إعدادات AOSP".

*يتم تصنيف هذا الإعداد على نظام التشغيل Android 11 والإصدارات الأقدم. استخدام المنطقة الزمنية المحدّدة للشبكة

موقع إعدادات AOSP اسم إعدادات AOSP المجال السُلوك
النظام > التاريخ والوقت ضبط المنطقة الزمنية تلقائيًا* كل المستخدمين

زر الإيقاف/التفعيل:

عندما يكون قيد التشغيل، يكون الجهاز مسؤولاً عن رصد الوقت الحالي. المنطقة. عند إيقاف، يتم تزويد المستخدمين بعناصر تحكم لضبط إعدادات المنطقة الزمنية يدويًا.

النظام > التاريخ والوقت استخدام الموقع الجغرافي لضبط المنطقة الزمنية المستخدم الحالي

زر الإيقاف/التفعيل:

تتوفّر هذه الميزة من نظام التشغيل Android 12. زر التبديل هذا لا يتم عرضه إلا عندما تكون ميزة اكتشاف المنطقة الزمنية للموقع الجغرافي متاحة على الجهاز.

للاطّلاع على التغييرات التي تم طرحها في Android 14، يُرجى مراجعة الأجهزة التي تتيح رصد المنطقة الزمنية للموقع الجغرافي فقط

الموقع الجغرافي استخدام الموقع الجغرافي المستخدم الحالي

زر الإيقاف/التفعيل:

يسمح باستخدام الموقع الجغرافي للجهاز أو يمنع استخدامه بشكل عام. القيمة هي إذا كان رصد المنطقة الزمنية للموقع الجغرافي متوافقًا مع الجهاز

في ما يلي نظرة عامة على سلوك الجهاز بالنسبة إلى المنطقة الزمنية استنادًا إلى الإعدادات التي اختارها المستخدم:

  • [التاريخ والوقت] ضبط المنطقة الزمنية تلقائيًا: إيقاف

    • يجب على المستخدم اختيار المنطقة الزمنية يدويًا.
  • [التاريخ والوقت] ضبط المنطقة الزمنية تلقائيًا: تفعيل

    • [الموقع الجغرافي] استخدام الموقع الجغرافي: غير مفعّل

      • تُستخدَم إشارات الاتصال الهاتفي لرصد المنطقة الزمنية.
    • [الموقع الجغرافي] استخدام الموقع الجغرافي: تفعيل

      • [التاريخ والوقت] استخدام الموقع الجغرافي لضبط المنطقة الزمنية: تفعيل

        • يُستخدَم الموقع الجغرافي لرصد المنطقة الزمنية.
      • [التاريخ والوقت] استخدام الموقع الجغرافي لضبط المنطقة الزمنية: إيقاف

        • تُستخدَم إشارات الاتصال الهاتفي لرصد الوقت. المنطقة.

أجهزة المستخدمين المتعددة

ونظرًا لأن العديد من الإعدادات المعنية تقتصر على المستخدم الحالي، فإن يمكن أن يتغير سلوك رصد المنطقة الزمنية لأحد الأجهزة عندما يكون المستخدم الحالي التغييرات على جهاز Android متعدد المستخدمين.

يتم تحديد مفتاح تبديل استخدام الموقع الجغرافي لضبط المنطقة الزمنية وفقًا للمستخدِم الحالي و غير مقيَّدة بسياسة الجهاز، مما يعني أن المستخدمين يمكنهم دائمًا تغيير حتى عندما يكون خيار ضبط المنطقة الزمنية تلقائيًا غير مفعّل أو تحظر "وحدة التحكّم بسياسة الجهاز" عناصر التحكّم بالوقت أو المنطقة الزمنية.

الأجهزة التي تتيح استخدام خوارزمية رصد المنطقة الزمنية للموقع الجغرافي

يوضِّح هذا القسم سلوك الأجهزة التي توفِّر الموقع الجغرافي فقط. للخوارزمية.

  • الإصدار 14 من نظام التشغيل Android والإصدارات الأحدث

    • لا يظهر خيار استخدام الموقع الجغرافي للمستخدمين في إعدادات AOSP. وسيعمل الجهاز كما لو كان خيار استخدام الموقع الجغرافي مُفعَّلاً.
    • قيمة الإعداد SettingsProvider على مستوى المستخدم ويتم تجاهل location_time_zone_detection_enabled. تسجل هذه القيمة تفضيل المستخدم على أنواع أخرى من الأجهزة.
  • Android 12 أو Android 13

    • يظهر خيار استخدام الموقع الجغرافي للمستخدمين في تطبيق "إعدادات AOSP" يمكن للمستخدمين إيقاف هذا الخيار. إذا تم إيقاف الخيار، لن يكتشف جهازك المنطقة الزمنية تلقائيًا.

السلوك عند التغيير من وإلى الاكتشاف التلقائي

عندما يبدّل المستخدم ميزة اكتشاف المنطقة الزمنية من يدوي إلى تلقائي، قد يكون time_zone_detector متأكدًا بالفعل من المنطقة الزمنية الحالية. إذا كان الأمر كذلك، قد يتم تغيير المنطقة الزمنية للجهاز لأنّ المستخدم يفعّل الاكتشاف التلقائي في الوقت نفسه لمطابقة رأي خدمة time_zone_detector.

وبالمثل، عندما يُجري المستخدم تغييرًا في "الإعدادات" يؤدي إلى تغيير إلى الخوارزمية الحالية لخدمة time_zone_detector، قد يكون time_zone_detector تلقى بالفعل اقتراحات بالخوارزمية الجديدة، وبالتالي قد يتم تغييرها ليتوافق مع رأي خدمة time_zone_detector فورًا.

رصد المنطقة الزمنية للاتصالات الهاتفية

تستعين ميزة رصد المنطقة الزمنية للاتصال الهاتفي بإشارات هاتفية لتحديد الوقت الحالي. المنطقة الزمنية. لمزيد من المعلومات، راجع المنطقة الزمنية للاتصال الهاتفي الكشف:

رصد المنطقة الزمنية للموقع الجغرافي

تتوفّر ميزة "رصد المنطقة الزمنية للموقع الجغرافي" في نظام التشغيل Android 12 أو أعلى. وهي ميزة اختيارية للكشف التلقائي عن المنطقة الزمنية تمكن الأجهزة لاستخدام موقعها الجغرافي لتحديد المنطقة الزمنية الحالية.

طرح خدمة location_time_zone_manager في يعمل Android 12 في خادم النظام وتحتوي على الرمز المسؤول عن إرسال بيانات اقتراحات الخوارزمية على خدمة time_zone_detector. لمزيد من المعلومات، يُرجى مراجعة رصد المنطقة الزمنية للموقع الجغرافي

اعتبارات استخدام الميزات

يصف هذا القسم جوانب ميزة اكتشاف المنطقة الزمنية للموقع من أجل مساعدة الشركة المصنّعة للجهاز في تحديد ما إذا كان من الممكن استخدام الميزة على الجهاز أم لا.

مقارنة بين رصد الاتصالات الهاتفية وتحديد الموقع الجغرافي

يقدم الجدول التالي مقارنة بين مزايا وعيوب استخدام الموقع الجغرافي بدلاً من الإشارات الهاتفية لاكتشاف المنطقة الزمنية.

رصد الاتصالات الهاتفية رصد الموقع الجغرافي
الإجابات الصحيحة يختلف ذلك حسب البلد.

يعتمد ذلك على مدى صحة "مركز عملائي" و"نظام NITZ" ومدى توفُّره.
يعتمد ذلك على إعداد الميزة أو مكونات المكوّن الإضافي.

تختلف تصحيحات الأخطاء عادةً حسب ما يلي:
  • دقة موفِّر الموقع الجغرافي ووتيرة نشره.
  • جودة بيانات خريطة المنطقة الزمنية
قابلية التحديث تعتمد ميزة "رصد الاتصال الهاتفي" على الملفات المضمَّنة في بيانات الوقت القابلة للتحديث. وحدة بيانات المنطقة (com.android.tzdata APEX) يعتمد ذلك على إعداد الميزة أو مكونات المكوّن الإضافي.

تعتمد قابلية التحديث عادةً على ما إذا كان الجهاز يستخدم الخادم أو العميل بيانات خريطة المنطقة الزمنية.

ملاحظة: لا يتم تضمين بيانات خريطة المنطقة الزمنية في عمود الوقت وحدة بيانات المنطقة المستخدمة لتحديث نسخة Android من TZDB ووقت آخر معلومات المنطقة.

على الشركات المصنّعة للأجهزة أيضًا مراعاة اتساق الإصدار بين قواعد المنطقة الزمنية وبيانات خريطة المنطقة الزمنية.
استخدام الطاقة عدم استخدام الطاقة أو استخدام منخفض للطاقة وتعتمد على إعدادات الموقع الجغرافي للمستخدم والمكوّنات الإضافية المستخدَمة وعادةً ما تطلب التطبيقات الأخرى الموقع.
مدى توفّر الخدمة أجهزة الاتصال الهاتفي فقط تتطلّب عادةً شريحة SIM تعمل بشكلٍ سليم. وتعتمد ميزة اكتشاف الموقع الجغرافي على مزوّدي المواقع الجغرافية المتاحين.
خصوصية المستخدم

يتم عادةً تحديد المنطقة الزمنية المفضلة للمستخدم من خلال الموقع الجغرافي الموقع. معلومات الموقع الجغرافي هي بيانات حسّاسة. قد يقلق المستخدمون بشأن معرفتهم بموقعهم الذي تتم مشاركته كجزء من اكتشاف المنطقة الزمنية. بالنسبة إلى ميزة رصد المنطقة الزمنية، يمكن لجميع التطبيقات التي تعمل على الجهاز قراءة بيانات المنطقة الزمنية الحالية لجهازك بدون الحاجة إلى إذن من 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. لإيقاف الاكتشاف التلقائي للوقت يتم تلقائيًا ضبط قيمة def_auto_time_zone المحددة في frameworks/base/packages/SettingsProvider/res/values/defaults.xml إلى false.

عند استعادة نسخة احتياطية من جهاز آخر، يعدّل إطار العمل القيمة. من إعداد auto_time_zone تلقائيًا. إذا كنت ترغب في التأكد من أن هذا لم تتم استعادة الإعداد من نسخة احتياطية، يُرجى تضمين auto_time_zone في تم تحديد مصفوفة restore_blocked_global_settings في frameworks/base/packages/SettingsProvider/res/values/blocked_settings.xml

تصحيح أخطاء المنطقة الزمنية واختبارها

يقدّم هذا القسم معلومات عن كيفية تصحيح الأخطاء واختبار سلوك خدمة time_zone_detector والمكوّنات الأخرى التي يتشاركها الجميع الخوارزميات.

إعداد جهاز باستخدام خدمة device_config

خدمة device_config هي آلية تُستخدَم في Android لإجراء عملية ضبط سلوك قابل للتعديل باستخدام القيم التي يتم سحبها عادةً من خادم بعيد برمز خاص (لا يتبع AOSP). عند استخدام قيم 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 تشير إلى خوارزمية الموقع.

تشير معلومات سجل الاقتراحات إلى الاقتراحات التي تم تقديمها من خلال "الإعدادات" (يدويًا)، ومن خلال خوارزميات الاتصال الهاتفي والموقع الجغرافي.