Änderungen am Kompatibilitäts-Framework (Android 14)

Abbildung 1: Auf dem Bildschirm „Änderungen bei der App-Kompatibilität“ in den Entwickleroptionen sind die Änderungen aufgeführt, die Sie aktivieren können.

Auf dieser Seite werden umschaltbare Änderungen beschrieben, die Teil des Kompatibilitätsframeworks in Android 14 (API-Ebene 34) sind. Verwende diese Liste in Verbindung mit den Entwickleroptionen und ADB-Befehlen, um deine App zu testen und zu debuggen, während du dich auf die Unterstützung und Ausrichtung auf Android 14 vorbereitest.

Mit den Tools des Kompatibilitäts-Frameworks können Sie beispielsweise Folgendes tun:

  • Zielgerichtete Änderungen testen, ohne die targetSdkVersion der App zu ändern Mit den Ein-/Aus-Schaltflächen können Sie bestimmte Änderungen am Verhalten erzwingen, um die Auswirkungen auf Ihre vorhandene App zu bewerten.
  • Konzentrieren Sie sich bei Ihren Tests nur auf bestimmte Änderungen. Anstatt alle gezielten Änderungen auf einmal zu bearbeiten, können Sie mit den Ein-/Aus-Schaltflächen alle ausgerichteten Änderungen deaktivieren, mit Ausnahme derer, die Sie testen möchten.
  • Schalter über adb verwalten Mithilfe von adb-Befehlen können Sie die umschaltbaren Änderungen in Ihrer automatisierten Testumgebung aktivieren und deaktivieren.
  • Mithilfe von Standard-Änderungs-IDs schneller Fehler beheben Ein-/Aus-Änderungen haben jeweils eine eindeutige ID und einen Namen, mit denen Sie die Ursache schnell in der Protokollausgabe beheben können.

Ausführliche Informationen zur Verwendung der Tools für die einzelnen Anwendungsfälle finden Sie unter Tools für das Compatibility Framework.

Verhaltensänderungen im Rahmen des Kompatibilitäts-Frameworks

In der Liste in diesem Abschnitt werden umschaltbare Änderungen beschrieben, die im Kompatibilitäts-Framework von Android 14 enthalten sind.

Sie können die Liste der Änderungen nach dem Standardstatus filtern.

Aktivierbare Änderungen im Kompatibilitäts-Framework in Android 14

ACCESS_SHARED_IDENTITY

Change-ID:259743961
Standardstatus: Für alle Apps aktiviert.

Gewährt Zugriff auf die Identität der startenden Anwendung, wenn die Anwendung der Freigabe ihrer Identität zugestimmt hat, indem diese Aktivität mit einer Instanz von ActivityOptions gestartet wird, auf der ActivityOptions.setShareIdentityEnabled(boolean) mit dem Wert true aufgerufen wurde, oder wenn die UID der gestarteten Aktivität mit der der startenden Anwendung übereinstimmt. Wenn diese Änderung aktiviert ist und eine dieser Anforderungen erfüllt ist, kann die Aktivität mit Activity.getLaunchedFromUid() und Activity.getLaunchedFromPackage() auf die UID und den Paketnamen der gestarteten App zugreifen.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

Änderungs-ID:258236856
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, wird die Meldung „Die Anwendung reagiert nicht“ (ANR) ausgelöst, wenn Apps langsam auf APIs und Funktionen von Android 13 (API-Level 33) oder niedriger reagieren.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

Änderungs-ID:207133734
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Ermöglicht für Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind, die Prüfung des Berechtigungszugriffs für die aufrufende UID bei allen synchronisierungsbezogenen APIs.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Change-ID:162547999
Standardstatus: Für alle Apps deaktiviert.

Gibt an, dass dieses Gerät Kamera- und Mikrofonsymbole unterstützt. Der Wert ist false, falls vorhanden, da die Methode CompatChanges#isChangeEnabled true zurückgibt, wenn die Änderungs-ID nicht vorhanden ist.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Änderungs-ID:244637991
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn eine App eine PendingIntent mit PendingIntent#send() oder ähnlichen Methoden sendet, muss die App jetzt aktiviert werden, wenn sie Berechtigungen zum Starten von Hintergrundaktivitäten gewähren möchte, um den ausstehenden Intent zu starten.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Verhaltensänderungen in Android 14 im Abschnitt zu zusätzlichen Einschränkungen beim Starten von Aktivitäten aus dem Hintergrund.

DETACH_THROWS_ISE_ONLY

Change ID:236825255
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Flag zum Gattern der korrekten Ausnahme, die von #detachImage ausgelöst wird.

#detachImage soll bei einem Fehler IllegalStateException zurückgeben. Eine native Hilfsmethode dazu hat RuntimeException zurückgegeben, wenn die Oberfläche beim Entfernen des Image verlassen wurde.

Dieses bisher nicht dokumentierte Ausnahmeverhalten gilt auch für Android 13 (API-Level 33).

Nach Android 13 (API-Level 33) wirft die native Hilfsmethode gemäß der Dokumentation nur IllegalStateExceptions.

Wenn diese Änderung aktiviert ist, gibt #detachImage nur dann einen IllegalStateException zurück, wenn beim Entfernen des Bildes Fehler auftreten. Für Apps, die auf Android 13 (API-Level 33) oder niedriger ausgerichtet sind, ändert sich nichts.

DOWNSCALED

Change-ID:168419799
Standardstatus: Für alle Apps deaktiviert.

Diese Änderung ist der Gatekeeper für alle Änderungen am App-spezifischen Puffer-Downscaling. Wenn Sie diese Änderung aktivieren, können die folgenden Skalierungsfaktoren angewendet werden:

Wenn diese Änderung für ein App-Paket aktiviert ist, wird die App gezwungenermaßen auf den höchsten aktivierten Skalierungsfaktor verkleinert. Beispiel: Wenn sowohl 80% als auch 70 % (DOWNSCALE_80 und DOWNSCALE_70) aktiviert sind, wird 80 % verwendet. Wenn sowohl diese Änderung als auch DOWNSCALED_INVERSE aktiviert sind, hat DOWNSCALED_INVERSE Vorrang und der Skalierungsfaktor wird umgekehrt angewendet.

DOWNSCALED_INVERSE

Change-ID:273564678
Standardstatus: Deaktiviert für alle Apps.

Diese Änderung ist der Gatekeeper für alle Änderungen am inversen Downscaling des App-spezifischen Buffers. Wenn Sie diese Änderung aktivieren, können die folgenden Skalierungsfaktoren umgekehrt angewendet werden, d. h., die Auflösung wird hochskaliert:

Wenn diese Änderung für ein App-Paket aktiviert ist, wird die App auf den niedrigsten aktivierten Skalierungsfaktor verkleinert. Beispiel: Wenn sowohl 80% als auch 70 % (DOWNSCALE_80 und DOWNSCALE_70) aktiviert sind, wird 80 % verwendet, da ein 80% iger Skalierungsfaktor bei umgekehrter Anwendung 125 % entspricht, was weniger ist als die Skalierung von 142,86 %, die bei umgekehrter Anwendung eines 70% igen Skalierungsfaktors angewendet wird. Wenn sowohl diese Änderung als auch DOWNSCALED aktiviert sind, hat DOWNSCALED_INVERSE Vorrang und der Skalierungsfaktor wird umgekehrt angewendet.

DOWNSCALE_30

Change-ID:189970040
Standardstatus: Für alle Apps deaktiviert.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 30% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 333,33% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_35

Änderungs-ID:189969749
Standardstatus: Deaktiviert für alle Apps.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 35% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 285,71% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_40

Change-ID:189970038
Standardstatus: Deaktiviert für alle Apps.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 40% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 250% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_45

Änderungs-ID:189969782
Standardstatus: Für alle Apps deaktiviert.

Wenn DOWNSCALED ebenfalls aktiviert ist und diese Änderung für ein Paket aktiviert ist, wird die App davon ausgegangen, dass sie auf einem Display mit 45% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 222,22% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_50

Change-ID:176926741
Standardstatus: Für alle Apps deaktiviert.

Wenn DOWNSCALED ebenfalls aktiviert ist und diese Änderung für ein Paket aktiviert ist, wird die App davon ausgegangen, dass sie auf einem Display mit 50% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 200% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_55

Änderungs-ID:189970036
Standardstatus: Für alle Apps deaktiviert.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 55% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 181,82% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_60

Änderungs-ID:176926771
Standardstatus: Für alle Apps deaktiviert.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 60% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird durch das Aktivieren dieser Änderung für ein Paket die App dazu gezwungen, sie auf einem Display mit 166,67% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_65

Change-ID:189969744
Standardstatus: Für alle Apps deaktiviert.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 65% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird durch das Aktivieren dieser Änderung für ein Paket die App davon ausgegangen, dass sie auf einem Display mit 153,85% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird.

DOWNSCALE_70

Änderungs-ID:176926829
Standardstatus: Deaktiviert für alle Apps.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 70% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 142,86% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_75

Änderungs-ID:189969779
Standardstatus: Deaktiviert für alle Apps.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 75% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 133,33% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_80

Änderungs-ID:176926753
Standardstatus: Für alle Apps deaktiviert.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 80% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 125% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_85

Änderungs-ID:189969734
Standardstatus: Für alle Apps deaktiviert.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 85% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 117,65% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_90

Change-ID:182811243
Standardstatus: Deaktiviert für alle Apps.

Wenn auch DOWNSCALED aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 90% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn auch DOWNSCALED_INVERSE aktiviert ist, wird die App durch diese Änderung für ein Paket gezwungen anzunehmen, dass sie auf einem Display mit 111,11% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

ENABLE_PLATFORM_MDNS_BACKEND

Änderungs-ID:270306772
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Anwendungen, die auf Android 14 oder höher ausgerichtet sind, verwenden eine plattformintegrierte mDNS-Implementierung als Backend. Anwendungen, die auf frühere Versionen abzielen, nutzen weiterhin ein Legacy-Backend für die Netzwerkdiensterkennung (Network Service Discovery, NSD) mit einem nativen Legacy-Daemon als NsdManager-Backend.

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

Änderungs-ID:266524688
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Die Prüfung der selbstzertifizierten Funktionen ist für Apps aktiviert, die auf Android 14 oder höher ausgerichtet sind. Weitere Informationen finden Sie unter NetworkCapabilities.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

Change ID:154726397
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Für Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind, müssen im Manifest die Anforderungen an die Sichtbarkeit von Paketen deklariert werden, um auf die AccountManager APIs zuzugreifen.

ENFORCE_READ_ONLY_JAVA_DCL

Änderungs-ID:218865702
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Bei Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind, müssen alle dynamisch geladenen Dateien als schreibgeschützt markiert sein. So wird verhindert, dass dynamisch geladene Dateien von böswilligen Akteuren unerwartet überschrieben werden.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Verhaltensänderungen in Android 14 im Abschnitt Sichereres Laden dynamischen Codes.

ENFORCE_STRICT_QUERY_BUILDER

Änderungs-ID:143231523
Standardstatus: Für alle Apps deaktiviert.

Wenn diese Option aktiviert ist, werden alle CalendarProvider2-Abfrageauswahlen auf schädliche Argumente geprüft.SQLiteQueryBuilder

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

Änderungs-ID:265195908
Standardstatus: Für alle Apps aktiviert.

Exakte Alarme, die einen AlarmManager.OnAlarmListener-Callback erwarten, werden verworfen, wenn die aufrufende App in den Cache-Status wechselt.

Weitere Informationen zu den Änderungen an exakten Alarmen in Android 14 findest du unter Exakte Alarme werden standardmäßig abgelehnt.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

Change ID:261055255
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, müssen Instant-Apps geeignete Diensttypen im Vordergrund für alle Dienste angeben, die in der Manifestdatei der App deklariert sind.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu den Änderungen an Diensttypen im Vordergrund.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

Änderungs-ID:255042465
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, wird bei Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind und einen Dienst im Vordergrund mit dem verworfenen Typ FOREGROUND_SERVICE_TYPE_NONE starten, eine Warnung im Log angezeigt.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu den Änderungen an Diensttypen im Vordergrund.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

Änderungs-ID:255038118
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, wird für Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind und einen Dienst im Vordergrund mit dem verworfenen Typ FOREGROUND_SERVICE_TYPE_NONE starten, eine Ausnahme ausgelöst.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite mit den Änderungen an den Typen von Diensten im Vordergrund.

FGS_TYPE_PERMISSION_CHANGE_ID

Change ID:254662522
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn diese Funktion aktiviert ist, führen Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind und einen Dienst im Vordergrund starten, ohne die erforderlichen Berechtigungen für den Typ dieses Dienstes, zu einer SecurityException.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite mit den Änderungen an den Typen von Diensten im Vordergrund.

FORCE_DISABLE_HEVC_SUPPORT

Change-ID:174227820
Standardstatus: Für alle Apps deaktiviert.

Sie können die Unterstützung der HEVC-Medienfunktion für eine App erzwingen. Apps sollten ihre unterstützten Medienfunktionen in ihrem Manifest deklarieren. Mit diesem Flag kann jedoch erzwungen werden, dass eine App HEVC nicht unterstützt, was eine Transcodierung beim Zugriff auf in HEVC codierte Medien erzwingt. Wenn Sie dieses Flag setzen, werden alle Standardeinstellungen auf Betriebssystemebene für Apps überschrieben. Sie ist standardmäßig deaktiviert, sodass die Standardeinstellungen des Betriebssystems Vorrang haben. Wenn sowohl dieses Flag als auch FORCE_ENABLE_HEVC_SUPPORT aktiviert sind, ignoriert das Betriebssystem beide Flags.

FORCE_ENABLE_HEVC_SUPPORT

Change-ID:174228127
Standardstatus: Deaktiviert für alle Apps.

Erzwingt die Unterstützung der HEVC-Medienfunktion für eine App. Apps müssen ihre unterstützten Medienfunktionen in ihrem Manifest angeben. Mit diesem Flag kann jedoch erzwungen werden, dass eine App HEVC unterstützt, um so eine Transcodierung beim Zugriff auf in HEVC codierte Medien zu vermeiden. Wenn Sie dieses Flag setzen, werden alle Standardeinstellungen für Apps auf Betriebssystemebene überschrieben. Sie ist standardmäßig deaktiviert, was bedeutet, dass die Standardeinstellungen des Betriebssystems Vorrang haben. Wenn sowohl dieses Flag als auch FORCE_DISABLE_HEVC_SUPPORT aktiviert sind, ignoriert das Betriebssystem beide Flags.

FORCE_NON_RESIZE_APP

Change-ID:181146395
Standardstatus: Für alle Apps deaktiviert.

Die Größe der Pakete, auf die er angewendet wird, kann nicht geändert werden.

FORCE_RESIZE_APP

Änderungs-ID:174042936
Standardstatus: Für alle Apps deaktiviert.

Erzwingt, dass die Größe der Pakete, auf die er angewendet wird, angepasst werden kann. Wir erlauben nur die Größenänderung im Vollbildmodus, aber nicht die Umstellung der App in den Mehrfenstermodus mit änderbarer Größe.

GWP_ASAN

Änderungs-ID:145634846
Standardstatus: Für alle Apps deaktiviert.

Aktiviert die Stichprobenerhebung von Fehlern im nativen Arbeitsspeicher in Apps.

Weitere Informationen zur Verwendung von GWP-ASan finden Sie im GWP-ASan-Leitfaden.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

Änderungs-ID:229362273
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Bei Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind, müssen Komponenten exportiert werden, damit sie über implizite Intents aufgerufen werden können. Wenn eine Komponente nicht exportiert und aufgerufen wird, wird sie aus der Liste der Empfänger entfernt. Das gilt insbesondere für Aktivitäten und Übertragungen.

Weitere Informationen zu dieser Änderung findest du auf der Seite zu Android 14-Verhaltensänderungen im Abschnitt über Einschränkungen für implizite und ausstehende Intents.

Change ID:266201607
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Bei Apps, die für Android 14 (API-Level 34) und höher bestimmt sind, muss der Nutzer vor jeder MediaProjection-Aufnahmesitzung um seine Einwilligung gebeten werden.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Verhaltensänderungen bei Android 14 im Abschnitt zur erforderlichen Einwilligung der Nutzer für jede MediaProjection-Aufnahmesitzung.

NATIVE_HEAP_ZERO_INIT

Change-ID:178038272
Standardstatus: Deaktiviert für alle Apps.

Aktivieren Sie die automatische Null-Initialisierung von nativen Heap-Speicherzuweisungen.

NATIVE_MEMTAG_ASYNC

Änderungs-ID:145772972
Standardstatus: Für alle Apps deaktiviert.

Aktivieren Sie in diesem Prozess die asynchrone (ASYNC) Speicher-Tag-Prüfung. Dieses Flag gilt nur für Hardware, die die ARM Memory Tagging Extension (MTE) unterstützt.

NATIVE_MEMTAG_SYNC

Änderungs-ID:177438394
Standardstatus: Deaktiviert für alle Apps.

Aktiviert die synchrone Überprüfung von Speicher-Tags (SYNC) in diesem Prozess. Dieses Flag gilt nur für Hardware, die die ARM Memory Tagging Extension (MTE) unterstützt. Wenn sowohl NATIVE_MEMTAG_ASYNC als auch diese Option aktiviert sind, hat diese Option Vorrang und MTE wird im SYNC-Modus aktiviert.

OVERRIDE_ANY_ORIENTATION

Change-ID:265464455
Standardstatus: Für alle Apps deaktiviert.

Wenn diese Änderung aktiviert ist, können die folgenden Ausrichtungsüberschreibungen unabhängig von der von der Aktivität angeforderten Ausrichtung angewendet werden:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Änderungs-ID:191514214
Standardstatus: Für alle Apps deaktiviert.

Wenn diese Änderung aktiviert ist, wird bei den betroffenen Paketen der aktuelle Wert von android:resizeableActivity sowie das Ziel-SDK (maximal M) ignoriert und die Aktivität als nicht skalierbar betrachtet. In diesem Fall hängt der Wert für die Kameradrehung und -zuschneidung nur von der erforderlichen Kompensation unter Berücksichtigung der aktuellen Displaydrehung ab.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Change-ID:189229956
Standardstatus: Deaktiviert für alle Apps.

Wenn diese Änderung aktiviert ist, wird bei den betroffenen Paketen das standardmäßige Verhalten der Kameradrehung und -zuschneidung überschrieben und immer CaptureRequest.SCALER_ROTATE_AND_CROP_NONE zurückgegeben.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Change-ID:266124927
Standardstatus: Deaktiviert für alle Apps.

Aktiviert SCREEN_ORIENTATION_REVERSE_LANDSCAPE für die App, auf die es angewendet wird. Sofern OVERRIDE_ANY_ORIENTATION nicht auch aktiviert ist, wird SCREEN_ORIENTATION_REVERSE_LANDSCAPE nur verwendet, wenn für die Aktivität die Querformatausrichtung angegeben ist. Wenn du diese Änderung aktivierst, kannst du das Verhalten deiner App auf Unterschiede zwischen Geräten testen, bei denen das Querformat Surface.ROTATION_90 entspricht, und Geräten, auf denen es Surface.ROTATION_270 entspricht.

OVERRIDE_MIN_ASPECT_RATIO

Änderungs-ID:174042980
Standardstatus: Für alle Apps deaktiviert.

Diese Änderung ist der Gatekeeper für alle Änderungen, die ein bestimmtes Mindestseitenverhältnis erzwingen. Wenn Sie diese Änderung aktivieren, können die folgenden Mindestseitenverhältnisse angewendet werden:

Wenn diese Änderung für ein App-Paket aktiviert ist, wird das im Manifest der App angegebene Mindestseitenverhältnis durch das größte aktivierte Seitenverhältnis überschrieben, es sei denn, der Manifestwert der App ist höher.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Change-ID:218959984
Standardstatus: Für alle Apps deaktiviert.

Wenn diese Option aktiviert ist, wird die Einschränkung des Mindestseitenverhältnisses im Hochformat im Hochformat überschrieben, um den gesamten verfügbaren Platz auf dem Bildschirm zu nutzen.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Change-ID:180326787
Standardstatus: Für alle Apps deaktiviert.

Wenn auch OVERRIDE_MIN_ASPECT_RATIO aktiviert ist, wird durch diese Änderung für ein Paket das Mindestseitenverhältnis der Aktivität auf einen großen Wert festgelegt, der durch OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE definiert ist.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Änderungs-ID:180326845
Standardstatus: Für alle Apps deaktiviert.

Wenn auch OVERRIDE_MIN_ASPECT_RATIO aktiviert ist, wird durch diese Änderung für ein Paket das minimale Seitenverhältnis der Aktivität auf einen mittleren Wert gemäß OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE festgelegt.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Änderungs-ID:203647190
Standardstatus: Für alle Apps aktiviert.

Wenn auch OVERRIDE_MIN_ASPECT_RATIO aktiviert ist, werden alle anderen Änderungen, die das Mindestseitenverhältnis einer Aktivität auf einen bestimmten Wert festlegen, auf Aktivitäten mit Hochformat beschränkt, z. B. OVERRIDE_MIN_ASPECT_RATIO_LARGE und OVERRIDE_MIN_ASPECT_RATIO_MEDIUM.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Änderungs-ID:236283604
Standardstatus: Für alle Apps deaktiviert.

Wenn diese Änderung aktiviert ist, werden Pakete, auf die sie angewendet wird, von den Einschränkungen für die Ausrichtung ignoriert, die Gerätehersteller festlegen können.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Change-ID:265451093
Standardstatus: Deaktiviert für alle Apps.

Aktiviert SCREEN_ORIENTATION_NOSENSOR für die App, auf die es angewendet wird. Sofern OVERRIDE_ANY_ORIENTATION nicht auch aktiviert ist, wird SCREEN_ORIENTATION_NOSENSOR nur verwendet, wenn für die Aktivität keine andere feste Ausrichtung angegeben ist.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Change-ID:265452344
Standardstatus: Deaktiviert für alle Apps.

Aktiviert SCREEN_ORIENTATION_PORTRAIT für die App, auf die es angewendet wird. Sofern OVERRIDE_ANY_ORIENTATION nicht ebenfalls aktiviert ist, wird SCREEN_ORIENTATION_PORTRAIT nur verwendet, wenn durch die Aktivität keine andere feste Ausrichtung angegeben ist.

RATE_LIMIT_TOASTS

Änderungs-ID:174840628
Standardstatus: Diese Änderung kann nicht geändert werden. Sie wird nur vom Kompatibilitäts-Framework protokolliert.

Hiermit wird die Anzahl der Toast.show()-Aufrufe begrenzt, um zu verhindern, dass der Nutzer innerhalb kurzer Zeit zu viele Benachrichtigungen erhält. Wenn versucht wird, in einem bestimmten Zeitraum mehr Toasts anzuzeigen, als zulässig sind, wird der Toast verworfen.

REJECT_NEGATIVE_NETWORK_ESTIMATES

Änderungs-ID:253665015
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, müssen die geschätzten Netzwerk-Byte nicht negativ sein.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Change ID:241104082
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind, muss für den Hosting-Job eine Netzwerkeinschränkung angegeben werden, wenn die enthaltene JobWorkItem die Netzwerknutzung angibt.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

Änderungs-ID:271850009
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Bei Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind, müssen beim Planen eines Jobs mit einer Verbindungseinschränkung sowohl die Berechtigungen INTERNET als auch ACCESS_NETWORK_STATE angegeben werden.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

Änderungs-ID:255371817
Standardstatus: Aktiviert für Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind.

Bei Apps, die auf Android 14 (API-Level 34) und höher ausgerichtet sind, wirft das System eine Ausnahme aus, wenn eine App bei der Angabe eines vom Nutzer initiierten Datenübertragungsjobs nicht alle erforderlichen APIs für die Datenübertragung implementiert.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite, auf der beschrieben wird, wie Sie Dienste im Vordergrund zu vom Nutzer initiierten Datenübertragungsjobs migrieren.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Change-ID:196254758
Standardstatus: Für alle Apps deaktiviert.

Wenn diese Option aktiviert ist, kann das Paket „android“ Komponentenaliasse verwenden.