ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
การตรวจหาเวลาภายนอก
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ตั้งแต่ Android 12 เป็นต้นไป Android สามารถใช้แหล่งเวลาภายนอก
เพื่อแนะนำเวลา Epoch ของ 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>
หากต้องการให้คำแนะนำเกี่ยวกับเวลาภายนอกแก่ระบบ ให้ใช้วิธี
suggestExternalTime()
ใน TimeManager
หากกำหนดค่าต้นทางภายนอกโดยใช้ config_autoTimeSourcesPriority
ในไฟล์กำหนดค่าและไม่มีคำแนะนำเวลาที่มีลำดับความสำคัญสูงกว่า Android จะใช้การประทับเวลาที่ส่งไปยังเมธอดนี้เพื่อตั้งเวลา Epoch ของ Unix ปัจจุบัน
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-27 UTC
[[["เข้าใจง่าย","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 UTC"],[],[],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."]]