Zeitübersicht

Auf dieser Seite wird beschrieben, wie die Zeitzonenerkennung unter Android funktioniert. Dieses die automatische Erkennung von Zeit und Zeitzonen durch Android, Konfiguration Optionen für Gerätehersteller und Testinformationen.

Übersicht über Uhrzeit und Zeitzonen

Um die Ortszeit eines Nutzers für die Anzeige an Orten wie dem Status zu ermitteln erfasst Android zwei verwandte, aber unabhängige Zustände:

  • Die aktuelle Unix-Epochen-Zeit
  • Die aktuelle Zeitzone

Die aktuelle Unix-Epochen-Zeit und die aktuelle Zeitzone sind geräteübergreifende Statuswerte, d. h., sie werden von allen Nutzern eines Geräts gemeinsam verwendet.

Die aktuelle Unix-Epochen-Zeit ist kein fester Wert. Die Aktualisierung erfolgt automatisch auf den Verlauf der Zeit widerspiegeln. Abgesehen vom normalen Zeitablauf sind die aktuellen Die Unix-Epochen-Zeit eines Geräts wird angepasst, wenn es falsch ist, z. B. beispielsweise nachdem die Stromversorgung unterbrochen wurde.

Die aktuelle Zeitzone bestimmt die Anpassung, die zur Umwandlung des aktuelle Unix-Epochen-Zeit in eine Ortszeit. Zum Beispiel im Sommer in Los Angeles von der aktuellen Unix-Epochenzeit um sieben Stunden im Winter sind es 8 Stunden.

Um diese Ortszeitberechnungen zu unterstützen, haben alle Android-Geräte eine Datenbank mit allen globalen Zeitzonenregeln. Weitere Informationen zu Zeitzonenregeln finden Sie unter Zeitzonenregeln

Wenn ein Nutzer an einen neuen Ort verreist, für den eine andere Zeitzone gilt, Die aktuelle Unix-Epochen-Zeit muss nicht angepasst werden, der Nutzer möchte aber um die Ortszeit und nicht die Zeit des vorherigen Standorts zu sehen. Wird geändert Mit der aktuellen Zeitzone wird sichergestellt, dass der richtige Offset auf die aktuelle Zeitzone angewendet wird. Unix-Epochen-Zeit, um die korrekte lokale Zeit für den neuen Ort anzuzeigen.

Mit AOSP können Nutzer selbst steuern, ob Uhrzeit und Zeitzone automatisch mit den folgenden Methoden festgelegt werden.

  • Automatische Zeiterkennung: Stellt sicher, dass das Gerät die richtigen aktuelle Unix-Epochen-Zeit.
  • Automatische Zeitzonenerkennung: Damit wird sichergestellt, dass auf dem Gerät die richtige Zeitzone ausgewählt ist. in der aktuellen Zeitzone.

Automatische Zeiterkennung

Dieser Abschnitt bietet eine Übersicht über den time_detector-Dienst, mit dem automatische Zeiterkennung, Nutzersteuerung, Konfigurationsoptionen und Tests Details.

Der Dienst „time_Detector“

Die time_detector Dienst, der auf Geräten mit Android 10 oder höher vorhanden ist, verwaltet die automatische Zeit -Erkennung. Sie passt die aktuelle Unix-Epochen-Zeit des Geräts nach Bedarf an, wenn ist die automatische Zeiterkennung aktiviert.

Der time_detector-Dienst befindet sich immer in einem von zwei Status: nicht sicher oder gewährleistet. Der bestimmte oder unsichere Status des Dienstes wird ermittelt. nach Terminvorschlägen, die sie aus verschiedenen Quellen erhält.

Wenn der time_detector-Dienst sicher ist, d. h. er eine Vorschlag mit Zeitangaben zur Unix-Epoche und überschreibt die aktuelle Unix-Epoche time, wenn sich der Zeitvorschlag von der aktuellen Unix-Epochen-Zeit unterscheidet.

Wenn time_detector unsicher ist, wird die aktuelle Uhrzeit nicht überschrieben. Die unsicherer Status bedeutet normalerweise, dass der Dienst time_detector keine Zeit erhalten hat Vorschläge machen. Der time_detector-Dienst wird außerdem unsicher, ob Vorschläge als zu alt für die Verwendung gelten. Das Zeitalter der Vorschläge da Anpassungen mit alten Unix-Zeitvorschlägen für die Unix-Epoche die verstrichene Zeit auf dem Gerät angezeigt wird, die im Laufe der Zeit über längere Zeiträume.

Um die aktuelle Unix-Epochen-Zeit automatisch festzulegen, verfügt ein Gerät über verschiedene Quellen, die sie nutzen kann. In diesem Dokument werden diese als Ursprünge bezeichnet. Die Der time_detector-Dienst behandelt Abfolgen von Vorschlägen basierend auf deren Herkunft.

Der Dienst time_detector ist zustandsorientiert, d. h., er zeichnet auf den zuletzt von jedem Ursprung gemachten Vorschlag. Neue Vorschläge time_detector, wenn für einen Ursprung neuere Informationen zur Unix-Epochen-Zeit stehen verfügbar. Der Dienst time_detector wertet neue und vorhandene Vorschläge neu aus und aktualisiert den Gerätestatus, wenn Vorschläge eingehen.

Obwohl die UTC-Zeit international vereinbart wird, gibt es verschiedene Gründe dafür, Es ist nicht immer einfach, die aktuelle Unix-Epochen-Zeit zu bestimmen. Android-Gerät:

  • Die Unixzeit unterscheidet sich geringfügig von der UTC-Zeit. Für eine Konvertierung zwischen beiden sind Schaltsekunden erforderlich, wie sie von den Ursprüngen gehandhabt werden.
  • Ursprünge sind möglicherweise nur zu bestimmten Zeiten oder unter bestimmten Situation. Wenn für den Ursprung beispielsweise eine Netzwerkverbindung erforderlich ist, Diese Funktion ist möglicherweise nur verfügbar, wenn das Gerät mit dem Internet verbunden ist.
  • Die Quellen können ungenau oder ungenau sein oder Fehler enthalten. Für Wenn ein Mobilfunkmast die "Weltzeit" nicht verfolgt, falsch ist, liefert der Telefonieursprung möglicherweise falsche Zeitvorschläge.
  • Beim Abrufen der Unix-Epochen-Zeit kann es zu Ungenauigkeiten kommen. Beispielsweise kann eine Netzwerkverzögerung, Zwischenspeicherung oder Prozessplanung zu die Unix-Zeit in „Unixzeit“.
  • Die Referenzuhr, mit der ein Vorschlag für die verstrichene Zeit angepasst wird erhalten Sie den Vorschlag möglicherweise falsch.

Es gibt zwei Hauptquellen für die Zeiterkennung, die standardmäßig für die Verwendung in AOSP:

  • Netzwerk:Verwendet Netzwerk Time Protocol (NTP)-Zeitserver.
  • Telefonie: Verwendet NITZ-Telefonie (Network Identity and Time Zone) Signale.

Sowohl Telefonie als auch Netzwerkursprünge erfordern Verbindungen zu externen Netzwerken. die nicht immer verfügbar sind.

Ab Android 12 unterstützt Android auch die folgenden Ursprüngen, die nicht standardmäßig für die Verwendung konfiguriert sind:

  • GNSS:Verwendet das GPS Standortanbieter, um eine Uhrzeit von einer GNSS-Quelle abzurufen.
  • Extern: Allgemein Ursprung, der es Geräteherstellern ermöglicht, Unix-Epochen-Zeit.

Zeiteinstellungen

Nutzer können die automatische Zeiterkennung unter System > Datum und Uhrzeit im Feld App „AOSP Settings“

Automatische Zeiterkennung in den Einstellungen

Abbildung 1: Automatische Zeiterkennung in den Einstellungen.

In der folgenden Tabelle werden die Steuerelemente der Nutzer für die Zeiterkennung im AOSP beschrieben. Einstellungen.

*Unter Android 11 und niedriger heißt diese Einstellung Verwenden Zeit aus dem Netzwerk

Speicherort der AOSP-Einstellungen Name der AOSP-Einstellungen Aufgabenstellung Verhalten
System > Datum und Uhrzeit Zeit automatisch einstellen* Alle Nutzer

Ein/Aus-Schaltfläche

Wenn diese Option aktiviert ist, erkennt das Gerät das aktuelle Unix Epochenzeit. Ist sie deaktiviert, können Nutzer die die Uhrzeit des Geräts manuell ein.

Wenn der Nutzer die Zeit manuell eingibt, wird die lokale Zeit eingegeben, nicht die Unix-Epoche. . Die aktuelle Unix-Epochen-Zeit wird anhand der aktuellen Zeitzone berechnet um eine Unix-Epochenzeit abzuleiten.

Konfiguration

Gerätehersteller können den time_detector-Dienst auf verschiedene Arten konfigurieren: z. B. welche Quellen verwendet werden sollen und wie die Signale priorisiert werden sollen.

Ursprungspriorisierung

Ab Android 12 können Gerätehersteller die core/res/res/values/config.xmlKonfigurationsdatei zur Angabe der Uhrzeit die in die automatische Zeiterkennung einbezogen werden sollen, sowie die Priorität, time_detector berücksichtigt diese Ursprünge.

Bei Geräten mit Android 11 oder niedriger ist die Ursprungspriorität in ["telephony", "network"] hartcodiert, d. h., Telefonievorschläge werden priorisiert Vorschläge für Werbenetzwerke.

Die Standard-AOSP-Konfiguration sieht so aus:

<!-- 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>

In Android 12 werden Vorschläge für Netzwerke und Telefonie angezeigt: als Ursprünge konfiguriert, die standardmäßig verwendet werden sollen. Zeitvorschläge für das Netzwerk sind Vorrang vor Vorschlägen für Telefoniezeit. Gerätehersteller können Änderungen die Reihenfolge der Ursprünge bis zum Verhalten in Android 11 oder niedriger, in denen Telefonie eine höhere Priorität hat.

Wenn der gültige Vorschlag mit der höchsten Priorität mit der Einstellung der aktuellen Systemuhrzeit auf wenige Sekunden lässt sich die Gerätezeit nicht ändern. geändert werden kann. Dadurch wird vermieden, dass für installierte Apps, die die Ereignisse ACTION_TIME_CHANGED Intent.

Die zulässigen Ursprungswerte sind:

Zulässige zeitliche Grenzen

Android 14 bringt eine zeitliche Obergrenze vom time_detector-Dienst erhaltene Vorschläge. Wenn das Gerät dies unterstützt Bei 32-Bit-Prozessen legt das Framework eine Obergrenze fest, um zu verhindern, der das Problem Y2038 auslösen könnte.

Mit Android 12 wurde eine niedrigere Zeitgrenze eingeführt, die gewohnt ist, Validiert Zeitvorschläge, die der Dienst time_detector erhalten hat. Je niedriger Der Zeitgrenzwert für automatische Vorschläge wird anhand des Build-Zeitstempels festgelegt. Diese Funktion basiert auf dem Prinzip, dass eine gültige Zeit nicht vor der Ablaufzeit des Geräts liegen kann. System-Image erstellt wurde. Wenn ein Zeitvorschlag vor der Unterzeitgrenze liegt, Der Dienst time_detector verwirft den Vorschlag, da er in folgenden Fällen ungültig ist: der Zeitstempel des Builds korrekt ist.

Auf Geräten mit Android 11 oder niedriger funktioniert der time_detector-Dienst nicht Validieren Sie eingehende Vorschläge für Unix-Epochen-Zeiten.

Zeit zum Debuggen und Testen

Dieser Abschnitt enthält Informationen zum Debuggen und Testen des Verhaltens den Dienst time_detector und andere Komponenten, die von allen Ursprüngen gemeinsam genutzt werden.

Mit dem „time_Detector“-Dienst interagieren

Um die Konfiguration des time_detector-Dienstes und den Status der Dienst „time_detector“, verwenden:

adb shell cmd time_detector dump

Zusätzliche Befehle zum Debugging und Testen der Zeitzonenerkennung finden Sie hier:

adb shell cmd time_detector help

In der Hilfeausgabe werden auch die Attribute des Dienstes „device_config“ beschrieben, die zur Auswirkung auf das Verhalten von time_detector bei Tests oder in der Produktion. Weitere Informationen finden Sie unter Gerät mit dem Dienst „device_config“ konfigurieren

Um die automatische Zeiterkennung zu validieren, müssen Tester wissen, aus welchem Ursprung Der Dienst time_detector wird verwendet. Hier sehen Sie ein Beispiel für die Ausgabe den Befehl adb shell cmd time_detector dump mit den Informationen zu den aktuellen Ursprung und Dienststatus in Fettdruck:

$ 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:
    ...

Die Informationen können folgendermaßen interpretiert werden:

Key Wert
mEnvironment.isAutoTimeDetectionEnabled() Gibt an, ob die automatische Zeiterkennung aktiviert ist.
mEnvironment.autoTimeLowerBound() Die aktuelle Untergrenze, die zum Validieren von Zeitvorschlägen verwendet wird.
mEnvironment.autoOriginPriorities() Die verwendeten Ursprünge und die Prioritätsreihenfolge.

Das Zeitänderungsprotokoll gibt an, wann der time_detector-Dienst die aktuelle Unix-Epochen-Zeit des Geräts geändert.

Die Informationen zum Vorschlagsverlauf geben an, welche Vorschläge von für jeden Ursprung.

Automatische Zeitzonenerkennung

Dieser Abschnitt bietet einen Überblick über den time_zone_detector-Dienst, der verwaltet die automatische Zeitzonenerkennung, Steuerelemente für Nutzer in den Einstellungen, die Telefonie und Standort, Zeitzonenerkennung und Testdetails.

Der Dienst „time_zone_Detector“

Die time_zone_detector Dienst, der auf Geräten mit Android 11 oder höher vorhanden ist, verwaltet die automatische Zeit Zonenerkennung. Die aktuelle Zeitzone des Geräts wird angepasst, wenn Die automatische Zeitzonenerkennung ist aktiviert.

Wenn die automatische Zeitzonenerkennung aktiviert ist, kann sich time_zone_detector befinden in einem der beiden Status uncertain (Unbestimmt) und certain (Bestimmt) fest.

Wenn sich der time_zone_detector-Dienst in einem bestimmten Status befindet, bedeutet dies, Der Dienst time_zone_detector hat aussagekräftige Zeitzoneninformationen erhalten, die kann dazu führen, dass die aktuelle Zeitzone überschrieben wird. Wenn es unsicher ist, bedeutet, dass sie keine oder nur wenig vertrauenswürdige Informationen erhalten hat, was wird die aktuelle Zeitzone nicht überschrieben.

Zu den bestimmten Status des time_zone_detector-Dienstes können solche gehören, in denen time_zone_detector hat keine Zeitzoneninformationen, die verwendet werden können, oder die mehrere Zeitzonen zur Auswahl. Es gibt folgende Status:

  • Ein bestimmter Bundesstaat ohne Zeitzonen wird eingegeben, wenn das Gerät z. B. in internationalen Gewässern oder in einem umstrittenen Bereich. Dieser Zustand ähnelt einem unsicheren Zustand, weist jedoch darauf hin, dass time_zone_detector keine weiteren Maßnahmen ergreifen muss, um Zeitzone festlegen
  • Ein bestimmter Bundesstaat mit mehreren Zeitzonen wird dort eingegeben, Unklarheiten oder Grenzbedingungen. In diesem Status, wenn die aktuelle Zeitzone einer der Zeitzonen, die time_zone_detector sicher ist, Die aktuelle Zeitzone bleibt unverändert. Andernfalls wird eine der verfügbaren Zeiten verwendet werden. Das verleiht time_zone_detector ein Element der Wiederkehrrate wenn der Nutzer seine Zeitzone zuvor manuell oder als dass sich das Gerät einer Grenze nähert.

Der bestimmte oder unsichere Status des time_zone_detector-Dienstes wird durch Zeitzonenvorschläge, die von einem Algorithmus gesendet werden.

Im Allgemeinen gibt es zwei Arten von Vorschlägen, die den möglichen Status weitgehend entsprechen. von time_zone_detector: sicher und unbestimmt. Folgendes sind Beispiele für Vorschlagstypen:

  • Typ = uncertain, zoneIds = []

    • Der Algorithmus kennt die Zeitzone nicht.
  • Typ = certain, zoneIds = ["Europe/London"]

    • Dem Algorithmus zufolge liegt die Zone mit Sicherheit in Europa/London.
  • Typ = certain, zoneIds = []

    • Der Algorithmus ist sicher, aber es ist keine Zonen-ID zugeordnet durch den aktuellen Standort.
  • Typ = certain, zoneIds = ["America/Denver", "America/Phoenix"]

    • Der Algorithmus ist sicher, dass die Antwort eine von zwei Zonen ist, können aber nicht zwischen „Amerika/Denver“ wählen, und „America/Phoenix“.

Der Dienst time_zone_detector behandelt Abfolgen von Vorschlägen als eigenständige Sequenzen basierend auf ihrem Algorithmus. Je nach Algorithmus können auch Vorschläge Metadaten enthalten, die angeben, wie sicher der Algorithmus ist.

Der Dienst time_zone_detector ist zustandsorientiert, was bedeutet, dass er einen Datensatz der jeweils letzten Vorschläge von jedem Algorithmus. Neue Vorschläge werden gesendet an den time_zone_detector-Dienst, wenn ein vorheriger Vorschlag nicht mehr enthalten ist richtig; ob ein Algorithmus jetzt einen anderen Vorschlag macht die Zeitzone nicht mehr erkennen. Der Dienst time_zone_detector wertet neue und vorhandene Vorschläge neu aus und aktualisiert den Gerätestatus, wenn erhalten Sie Vorschläge.

Android unterstützt zwei Algorithmen zur Zeitzonenerkennung:

  • Telefonie
  • Standort

Der time_zone_detector-Dienst verwendet in der Regel einen einzigen Algorithmus, um Zeitzone festlegen Wenn der Standortalgorithmus auf einem Gerät unterstützt wird, wird der vom Gerät verwendete Algorithmus anhand der Vom Nutzer konfigurierte Zeitzoneneinstellungen Wenn der Parameter für den verwendeten Algorithmus die Zeitzone time_zone_detector nicht mehr sicher ist. verwendet normalerweise keine Vorschläge eines anderen Algorithmus. Vorschläge die mit nicht verwendeten Algorithmen verknüpft sind, time_zone_detector, werden aber nur verwendet, wenn der Algorithmus Änderungen. Wenn der Nutzer die Einstellungen für die automatische Zeitzonenerkennung ändert und der Algorithmus ändert, ist der letzte verfügbare Vorschlag für den neuer Algorithmus verwendet wird.

Einzelheiten zur Situation, in der mehrere Algorithmen zur Bestimmung der Zeitzone, siehe Telefonie-Fallback-Modus:

Telefonie-Fallback-Modus

Auf Geräten mit Android 13 und höher Der Dienst time_zone_detector unterstützt den Telefonie-Fallback-Modus. Dieser Modus ermöglicht Android, Vorschläge zur Telefonieerkennung vorübergehend zu verwenden, Standorterkennung konnte die Zeitzone oder den Ort, an dem die Standorterkennung erkannt wird, nicht erkennen dauert die Erkennung der Zeitzone länger als die Telefonieerkennung.

Der Telefonie-Fallback-Modus gilt für Geräte, auf denen sowohl Telefonie- als auch Standortdienste Standorterkennung unterstützt wird und wo der Nutzer die Option Standort verwenden, um Zeitzone in den Zeitzoneneinstellungen Der Modus ist aktiviert automatisch, wenn ein Gerät neu gestartet und der Flugmodus deaktiviert ist.

Unter Android 14 und höher kann das Telefonie-Fallback ausgelöst durch die LTZP-APIs für Statusberichte Das heißt, wenn ein LTZP-Team das Problem als unsicher und seine Standorterkennung meldet oder die Zeitzone durch die Umgebung eingeschränkt wird, ist der Telefonie-Fallback-Modus ausgelöst.

Im Telefonie-Fallback-Modus verwendet der time_zone_detector-Dienst die Telefonie Vorschläge, als wäre die Standorterkennung deaktiviert, bis der Standortalgorithmus einen bestimmten Vorschlag macht. Nachdem Sie einen bestimmten Vorschlag erhalten haben, Der Fallback-Modus ist deaktiviert und es werden ausschließlich Standortvorschläge verwendet.

Konfigurationsdetails für den Telefonie-Fallback-Modus finden Sie unter Konfiguration der Zeitzonenerkennung.

Zeitzoneneinstellungen

Nutzer können die Einstellungen für die automatische Zeitzonenerkennung aktivieren und konfigurieren: App „AOSP Settings“

Automatische Zeitzonenerkennung in den Einstellungen

Abbildung 2: Automatische Zeitzonenerkennung in den Einstellungen.

In der folgenden Tabelle werden die Steuerelemente für die Zeitzonenerkennung in der App „AOSP Settings“

*Unter Android 11 und niedriger ist diese Einstellung Vom Netzwerk angegebene Zeitzone verwenden

Speicherort der AOSP-Einstellungen Name der AOSP-Einstellungen Aufgabenstellung Verhalten
System > Datum und Uhrzeit Zeitzone automatisch einstellen* Alle Nutzer

Ein/Aus-Schaltfläche

Wenn sie aktiviert ist, ist das Gerät für die Erkennung der aktuellen Uhrzeit verantwortlich. . Wenn sie deaktiviert ist, können Nutzer die Einstellung Zeitzone manuell festlegen.

System > Datum und Uhrzeit Standort verwenden, um die Zeitzone festzulegen Aktueller Nutzer

Ein/Aus-Schaltfläche

Verfügbar ab Android 12. Diese Ein/Aus-Schaltfläche ist wird nur angezeigt, wenn die Zeitzonenerkennung des Standorts auf dem Gerät unterstützt wird.

Informationen zu den mit Android 14 eingeführten Änderungen findest du unter <ph type="x-smartling-placeholder"></ph> Geräte, die nur die Zeitzonenerkennung unterstützen

deinen Standort zugegriffen haben Standort verwenden Aktueller Nutzer

Ein/Aus-Schaltfläche

Ermöglicht oder verhindert allgemein die Nutzung des Gerätestandorts. Der Wert ist relevant, wenn die Zeitzonenerkennung auf dem Gerät unterstützt wird.

Im Folgenden finden Sie einen Überblick über das Geräteverhalten nach Zeitzone. der vom Nutzer ausgewählten Einstellungen:

  • [Date and Time] Zeitzone automatisch einstellen: AUS

    • Der Nutzer muss die Zeitzone manuell auswählen.
  • [Date and Time] Zeitzone automatisch einstellen: AN

    • [Location] Standort verwenden:AUS

      • Telefoniesignale werden verwendet, um die Zeitzone zu erkennen.
    • [Standort] Standort verwenden:AN

      • [Datum und Uhrzeit] Zeitzone anhand des Standorts festlegen:AN

        • Anhand des Standorts wird die Zeitzone ermittelt.
      • [Datum und Uhrzeit] Zeitzone anhand des Standorts festlegen:AUS

        • Telefoniesignale werden verwendet, um die Uhrzeit zu erkennen .

Mehrere Nutzergeräte

Da mehrere der betroffenen Einstellungen auf den aktuellen Nutzer beschränkt sind, ist der Das Verhalten der Zeitzonenerkennung eines Geräts kann sich ändern, wenn der aktuelle Nutzer auf einem Android-Gerät mit mehreren Nutzern.

Die Ein/Aus-Schaltfläche Standort zum Festlegen der Zeitzone verwenden bezieht sich auf den aktuellen Nutzer und nicht durch Geräterichtlinien eingeschränkt, was bedeutet, dass Nutzer auch wenn die Ein/Aus-Schaltfläche Zeitzone automatisch einstellen deaktiviert ist oder wenn andere Steuerelemente für die Uhrzeit oder Zeitzone werden vom Device Policy Controller eingeschränkt.

Geräte, die nur den Algorithmus zur Zeitzonenerkennung des Standorts unterstützen

In diesem Abschnitt wird das Verhalten von Geräten beschrieben, die nur den Standort Algorithmus.

  • Android 14 und höher

    • Die Option Standort verwenden wird Nutzern in den AOSP-Einstellungen nicht angezeigt App und das Gerät verhält sich so, als wäre die Option Standort verwenden aktiviert.
    • Der Wert der Einstellung SettingsProvider auf Nutzerebene location_time_zone_detection_enabled wird ignoriert. Dieser Wert wird erfasst auf anderen Gerätetypen besser zu verstehen.
  • Android 12 oder Android 13

    • Die Option Standort verwenden wird Nutzern in der App „AOSP Settings“ und Nutzer können die Option deaktivieren. Ist die Option deaktiviert, wird die Zeitzone nicht automatisch erkannt.

Verhalten beim Wechsel zur automatischen Erkennung

Wenn der Nutzer die Zeitzonenerkennung von manuell auf automatisch ändert: time_zone_detector entspricht möglicherweise bereits der aktuellen Zeitzone. Wenn ja, Wenn der Nutzer die automatische Erkennung aktiviert, ändert sich möglicherweise die Zeitzone des Geräts. um der Meinung des Dienstes time_zone_detector zu entsprechen.

Gleiches gilt, wenn der Nutzer eine Änderung in den Einstellungen vornimmt, die zu einer Änderung an Mit dem aktuellen Algorithmus des Dienstes time_zone_detector kann time_zone_detector Vorschläge für den neuen Algorithmus erhalten haben. wird möglicherweise geändert, um der Meinung des time_zone_detector-Dienstes zu entsprechen sofort.

Zeitzonenerkennung für Telefonie

Bei der Erkennung der Zeitzone für Telefonie werden anhand von Telefoniesignalen die aktuelle Zeitzone. Weitere Informationen finden Sie unter Zeitzone für Telefonie Erkennung.

Zeitzone anhand des Standorts bestimmen

Die Zeitzonenerkennung ist unter Android 12 verfügbar oder höher. Hierbei handelt es sich um eine optionale Funktion zur automatischen Zeitzonenerkennung, Geräte anhand des Standorts die aktuelle Zeitzone ermitteln.

Der Dienst location_time_zone_manager wurde eingeführt in Android 12 läuft in der Systemserver und enthält den für die Übermittlung des Standorts Algorithmusvorschläge an den Dienst time_zone_detector. Weitere Informationen finden Sie unter Zeitzonenerkennung des Standorts

Überlegungen zur Übernahme von Funktionen

In diesem Abschnitt werden Aspekte der Zeitzonenerkennung für die Standorte beschrieben, damit ein Gerätehersteller feststellen kann, ob die Funktion für ein Gerät verwendet werden soll.

Telefonie und Standorterkennung vergleichen

In der folgenden Tabelle werden die Vor- und Nachteile von statt Telefoniesignalen zur Erkennung der Zeitzone zu verwenden.

Telefonieerkennung Standorterkennung
Richtigkeit Das variiert je nach Land.

Hängt vom Kundencenter sowie von der NITZ-Richtigkeit und -Verfügbarkeit ab.
Hängt von der Funktionskonfiguration oder den Plug-in-Komponenten ab.

Die Richtigkeit variiert normalerweise in:
<ph type="x-smartling-placeholder">
    </ph>
  • Genauigkeit und Regelmäßigkeit des Standortanbieters
  • Die Qualität der Daten der Zeitzonenkarte.
Aktualisierbarkeit Die Telefonieerkennung basiert auf Dateien, die in der aktualisierbaren Time (Zeit) Zonendatenmodul (com.android.tzdata APEX). Hängt von der Funktionskonfiguration oder den Plug-in-Komponenten ab.

Die Aktualisierbarkeit hängt in der Regel davon ab, ob das Gerät einen Server oder Client verwendet Zeitzonenkartendaten.

Hinweis: Zeitzonenkartendaten werden nicht in der Zeit Zonendatenmodul, das zum Aktualisieren der TZDB-Kopie von Android und anderer Uhrzeiten verwendet wird Zoneninformationen.

Die Gerätehersteller müssen auch die Versionskonsistenz zwischen den Zeitzonenregeln und Zeitzonenkartendaten.
Stromverbrauch Kein Energieverbrauch oder geringerer Energieverbrauch Abhängig von den Standorteinstellungen des Nutzers, den verwendeten Plug-ins und in der Regel welche anderen Apps den Standort anfordern.
Verfügbarkeit Nur Telefoniegeräte. Erfordert normalerweise eine funktionierende SIM-Karte. Die Standorterkennung hängt von den verfügbaren Standortanbietern ab.
Datenschutz

Die bevorzugte Zeitzone eines Nutzers wird in der Regel anhand seines geografischen Standort. Der Standort umfasst sensible Daten. Nutzende könnten besorgt sein, Kenntnis darüber, dass ihr Standort im Rahmen der Zeitzonenerkennung geteilt wird. Alle Apps, die auf einem Gerät ausgeführt werden, können unabhängig von der Zeitzonenerkennung den Wert in der aktuellen Zeitzone des Geräts angezeigt, ohne dass eine Android-Berechtigung erforderlich ist, und Apps können aus diesen Informationen eine ungenaue Vorstellung vom Gerätestandort ableiten.

Genauer gesagt kann die Zeitzonenerkennung sowohl passiv als auch aktiv sein bedeutet:

  • Passiv: Etwas in der Geräteumgebung teilt dem Gerät mit, die in dieser Umgebung verwendet werden soll.
  • Aktiv: Das Gerät muss die Zeitzone für sich selbst und je nachdem, Datenschutzeinstellungen und ihre Einwilligung Standort des Geräts verwenden. Er kann seinen Standort dann für externe . Weitere Informationen zum Datenschutz und zur Einwilligung finden Sie in den nachfolgenden Erläuterungen.

Bei der passiven Erkennung, z. B. beim Telefoniealgorithmus, sind keine zusätzlichen Auswirkungen auf den Datenschutz für Nutzer.

Bei der aktiven Erkennung, z. B. mit dem Standortalgorithmus, wird die den Standort des Geräts, dem Nutzer möglicherweise nicht zustimmen möchten, und den Standort über ein Netzwerk gesendet werden, um die Zeitzonen-ID zu ermitteln.

Der Datenschutzansatz von Android bei der Zeitzonenerkennung bietet Nutzern die Möglichkeit, Möglichkeit, Algorithmen, die wahrscheinlich aktiv sind, einzeln zu deaktivieren Außerdem bezieht sich der AOSP-Plattformcode nicht direkt auf den Standort selbst: Standorterkennung und Zuordnung des Standorts zu Zeitzonen-IDs bleiben dem Plug-in überlassen Komponenten, die von Geräteherstellern konfiguriert wurden.

Weitere Informationen zu den Datenschutzfunktionen für Nutzer finden Sie unter Zeitzone des Standorts Erkennung.

Konfiguration

Gerätehersteller können den time_zone_detector-Dienst so konfigurieren, dass er geändert wird zu verstehen. In diesem Abschnitt werden die Konfigurationsoptionen für des Dienstes time_zone_detector. Konfigurationsdetails für die Algorithmen für Telefonie und Zeitzonenerkennung, Zeitzonenerkennung per Telefon und Zeitzonenerkennung des Standorts:

Die AOSP-Basiskonfiguration befindet sich frameworks/base/core/res/res/values/config.xml

Konfigurationsschlüssel AOSP-Wert Beschreibung
config_supportTelephonyTimeZoneFallback true Wenn true, verwendet time_zone_detector Telefonie Fallback-Modus an. Diese Funktion ist für Android 13 verfügbar. und höher.

Standardverhalten des Geräts ändern

In AOSP ist die automatische Zeitzonenerkennung standardmäßig mit dem Parameter Die Einstellung „auto_time_zone“ wurde auf „true“ festgelegt. So deaktivieren Sie die automatische Zeiterkennung: Legen Sie standardmäßig den Wert von def_auto_time_zone fest, der in frameworks/base/packages/SettingsProvider/res/values/defaults.xml an false.

Wenn eine Sicherung von einem anderen Gerät wiederhergestellt wird, aktualisiert das Framework den Wert der Einstellung auto_time_zone standardmäßig. Wenn Sie sicherstellen möchten, Einstellung wird nicht aus einer Sicherung wiederhergestellt. Fügen Sie auto_time_zone in den Array restore_blocked_global_settings definiert in frameworks/base/packages/SettingsProvider/res/values/blocked_settings.xml

Fehlerbehebung und Tests in Zeitzonen

Dieser Abschnitt enthält Informationen zum Debuggen und Testen des Verhaltens den Dienst time_zone_detector und andere Komponenten, die von allen Algorithmen.

Gerät mit dem Dienst „device_config“ konfigurieren

Der Dienst device_config ist ein Mechanismus, mit dem unter Android Änderbares Verhalten mit Werten, die in der Regel von einem Remoteserver abgerufen werden durch proprietären Code (kein AOSP-Code) erfolgen. Wenn Sie device_config-Werte zu Testzwecken verwenden, Besonders bei lang andauernden manuellen Tests synchronisiert das Gerät möglicherweise Flags, wodurch die Flags zurückgesetzt und die für den Test festgelegten Werte gelöscht werden.

Unter Android 12 oder höher können Sie die Meldung für die Synchronisierung:

adb shell cmd device_config set_sync_disabled_for_tests persistent

Um die Flag-Synchronisierung nach Tests wiederherzustellen, verwenden Sie:

adb shell cmd device_config set_sync_disabled_for_tests none

Starten Sie das Gerät nach dem Wiederherstellen der Flag-Synchronisierung neu.

Weitere Informationen erhalten Sie mit $ adb shell cmd device_config help.

Mit dem Dienst „time_zone_detector“ interagieren

Zum Aufrufen der time_zone_detector-Konfiguration und des Status der Dienst „time_zone_detector“, verwenden:

adb shell cmd time_zone_detector dump

Zusätzliche Befehle zum Debugging und Testen der Zeitzonenerkennung finden Sie hier:

adb shell cmd time_zone_detector help

Die Hilfeausgabe beschreibt auch die device_config-Dienstattribute, die Wird verwendet, um das Verhalten des time_zone_detector-Dienstes für Tests zu beeinflussen oder in der Produktion ist. Weitere Informationen finden Sie unter Gerät mit dem Dienst „device_config“ konfigurieren

Um die Zeitzonenerkennung zu validieren, müssen Tester wissen, welchen Algorithmus time_zone_detector verwendet. Den aktuellen Algorithmus verstehen und beeinflussen des time_zone_detector eine der folgenden Optionen verwenden:

  • Sehen Sie sich die Einstellungen in den Einstellungen an. Weitere Informationen finden Sie unter Zeitzoneneinstellungen
  • Verwenden Sie die Befehlszeile über ADB:

    • Zum Dump des Status time_zone_detector verwenden Sie adb shell cmd time_zone_detector dump
    • Verwenden Sie andere time_zone_detector-Befehle, um die Geräteeinstellungen zu ändern. Weitere Informationen erhalten Sie mit adb shell cmd time_zone_detector help.

Das folgende Beispiel zeigt die Ausgabe des Befehls adb shell cmd time_zone_detector dump mit den Informationen zum aktuellen Algorithmus und Dienststatus in Fettdruck:

$ 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:
...

Die Informationen können folgendermaßen interpretiert werden:

Key Wert
mUserConfigAllowed Ob der Nutzer daran gehindert wird, die Datums- und Uhrzeiteinstellungen zu steuern, indem er: die Device Policy Controller
mTelephonyDetectionSupported Gibt an, ob das Gerät die Zeitzonenerkennung über Telefonie hat.
mGeoDetectionSupported Gibt an, ob das Gerät die Zeitzonenerkennung unterstützt Dies ist die effektiver Zustand basierend auf der Konfiguration und dem Vorhandensein mindestens einem LTZP.
mAutoDetectionEnabled Gibt an, ob die automatische Zeitzonenerkennung aktiviert ist.
mLocationEnabled Ein/Aus-Schaltfläche für den Hauptstandort
mGeoDetectionEnabled Der Algorithmuswechsel: false gibt den Telefoniealgorithmus an, und true den Standortalgorithmus angibt.

In den Informationen zum Vorschlagsverlauf sehen Sie, welche Vorschläge gemacht wurden. Einstellungen (manuell) sowie durch Telefonie- und Standortalgorithmen.