Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Externe Zeiterkennung
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ab Android 12 kann Android optional eine externe Zeitquelle verwenden, um dem Dienst time_detector
Unix-Epochenzeiten vorzuschlagen.
Diese Funktion ist in AOSP nicht standardmäßig aktiviert.
Mit dem externen Zeitursprung können Gerätehersteller Android vollständig benutzerdefinierte Zeitvorschläge zur Verfügung stellen. Nachdem der time_detector
-Dienst Vorschläge vom externen Zeitursprung erhalten hat, wird anhand der konfigurierten Priorisierungsregeln entschieden, ob die Systemuhr aktualisiert werden soll.
Implementierung
Um die externe Zeiterkennung zu unterstützen, müssen Gerätehersteller eine Komponente implementieren, die externe Zeitvorschläge über einen System-API-Aufruf an den time_detector
-Dienst sendet.
Verwenden Sie zum Konfigurieren des externen Ursprungs die Konfigurationsdatei des core/res/res/values/config.xml
-Systemservers. Fügen Sie den Wert external
zu config_autoTimeSourcesPriority
hinzu.
Im folgenden Beispiel wird Android angewiesen, externen Zeitvorschlägen die höchste Priorität zuzuweisen, wenn die Systemuhr eingestellt wird. Wenn kein gültiger externer Zeitvorschlag verfügbar ist, wird der nächste Ursprung verwendet, in diesem Fall gnss
.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Wenn Sie dem System einen externen Zeitvorschlag geben möchten, verwenden Sie die Methode suggestExternalTime()
in TimeManager
. Wenn der externe Ursprung in der Konfigurationsdatei mit config_autoTimeSourcesPriority
konfiguriert ist und keine Zeitvorschläge mit höherer Priorität verfügbar sind, verwendet Android den an diese Methode übergebenen Zeitstempel, um die aktuelle Unix-Epochenzeit festzulegen.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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."]]