זיהוי זמן חיצוני

החל מ-Android 12, מערכת Android יכולה להשתמש במקור חיצוני של זמן כדי להציע זמני תקופת Unix לשירות Time Detector. ההגדרה הזו לא מופעלת כברירת מחדל ב-AOSP.

מקור הזמן החיצוני מאפשר לכם לספק הצעות זמן בהתאמה אישית מלאה ל-Android. אחרי קבלת ההצעות ממקור הזמן החיצוני, שירות time_detector קובע אם לעדכן את שעון המערכת על סמך כללי התעדוף האוטומטיים של הזמן שהוגדרו.

הטמעה

כדי לתמוך בזיהוי זמן חיצוני, צריך להטמיע רכיב ששולח הצעות לזמן חיצוני לשירות time_detector באמצעות קריאה למערכת API.

כדי להגדיר את המקור החיצוני, משתמשים בקובץ התצורה של שרת המערכת core/res/res/values/config.xml. מוסיפים את הערך external אל config_autoTimeSourcesPriority.

בדוגמה הבאה, מערכת Android מקבלת הוראה לתת הצעות חיצוניות לגבי השעה את העדיפות הגבוהה ביותר כשמגדירים את השעון של המערכת. אם אין הצעה תקפה לזמן חיצוני, המערכת משתמשת במקור הבא, gnss במקרה הזה:

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

כדי לספק למערכת הצעה לזמן חיצוני, משתמשים ב-method ‏suggestExternalTime ב-TimeManager. אם המקור החיצוני מוגדר באמצעות config_autoTimeSourcesPriority בקובץ ההגדרות ולא זמינות הצעות זמן בעדיפות גבוהה יותר, מערכת Android משתמשת בחותמת הזמן שמועברת לשיטה הזו כדי להגדיר את הזמן הנוכחי של ראשית זמן UNIX.