از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
تشخیص زمان خارجی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
از اندروید 12، اندروید به صورت اختیاری میتواند از یک منبع زمانی خارجی برای پیشنهاد زمانهای یونیکس به سرویس time_detector
استفاده کند. این به طور پیش فرض در AOSP فعال نیست.
مبدا زمان خارجی به سازندگان دستگاه اجازه می دهد تا پیشنهادات زمان کاملاً سفارشی را به اندروید ارائه دهند. پس از دریافت پیشنهادات از مبدا زمان خارجی، سرویس time_detector
تعیین می کند که آیا ساعت سیستم را با استفاده از قوانین اولویت بندی پیکربندی شده به روز کند یا خیر.
پیاده سازی
برای پشتیبانی از تشخیص زمان خارجی، سازندگان دستگاه باید مؤلفهای را پیادهسازی کنند که پیشنهادات زمان خارجی را از طریق تماس API سیستم به سرویس time_detector
ارسال کند.
برای پیکربندی منبع خارجی، از فایل پیکربندی سرور سیستم core/res/res/values/config.xml
استفاده کنید. مقدار external
به config_autoTimeSourcesPriority
اضافه کنید.
مثال زیر به اندروید میگوید هنگام تنظیم ساعت سیستم، به پیشنهادات زمان خارجی بالاترین اولویت را بدهد. اگر پیشنهاد زمانی خارجی معتبری در دسترس نباشد، از مبدأ بعدی، gnss
در این مورد استفاده میشود.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
برای ارائه یک پیشنهاد زمان خارجی به سیستم، از متد suggestExternalTime()
در TimeManager
استفاده کنید. اگر مبدا خارجی با استفاده از config_autoTimeSourcesPriority
در فایل پیکربندی پیکربندی شده باشد و هیچ پیشنهاد زمانی با اولویت بالاتر در دسترس نباشد، Android از مهر زمانی ارسال شده به این روش برای تنظیم زمان فعلی یونیکس استفاده میکند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی."],[],[],null,["From Android 12, Android can optionally use an external\nsource of time to suggest Unix epoch times to the [`time_detector`](/docs/core/connect/time#time_detector-service) service.\nThis isn't enabled by default in AOSP.\n\nThe *external* time origin allows device manufacturers to provide completely\ncustom time suggestions to Android. After receiving suggestions from the\nexternal time origin, the `time_detector` service determines whether to update\nthe system clock using the configured [prioritization rules](/docs/core/connect/time#automatic-time).\n\nImplementation\n\nTo support external time detection, device manufacturers must implement a\ncomponent that submits external time suggestions to the `time_detector` service\nthrough a system API call.\n\nTo configure the external origin, use the `core/res/res/values/config.xml`\nsystem server configuration file. Add the value `external` to\n`config_autoTimeSourcesPriority`.\n\nThe following example tells Android to give external time suggestions the\nhighest priority when setting the system clock. If there is no valid external\ntime suggestion available then the next origin, `gnss` in this case, is used. \n\n \u003cstring-array name=\"config_autoTimeSourcesPriority\"\u003e\n \u003citem\u003eexternal\u003c/item\u003e\n \u003citem\u003egnss\u003c/item\u003e\n \u003c/string-array\u003e\n\nTo provide the system with an external time suggestion, use the\n[`suggestExternalTime()`](https://cs.android.com/android/platform/superproject/+/android-latest-release:frameworks/base/core/java/android/app/time/TimeManager.java?q=%22void%20suggestExternalTime%22) method in `TimeManager`. If the external origin is\nconfigured using `config_autoTimeSourcesPriority` in the configuration file and\nno higher priority time suggestions are available, Android uses the timestamp\npassed to this method to set the current Unix epoch time."]]