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

Abbildung 1: Auf dem Bildschirm „Änderungen bei der Kompatibilität von Apps“ in den Entwickleroptionen werden die Änderungen aufgeführt, die Sie aktivieren oder deaktivieren können.

Auf dieser Seite werden umschaltbare Änderungen beschrieben, die Teil des Kompatibilitätsframeworks in Android 15 (API-Level 35) sind. Verwenden Sie diese Liste in Verbindung mit den Entwickleroptionen und ADB-Befehlen, um Ihre App zu testen und zu debuggen, während Sie die Unterstützung und Ausrichtung auf Android 15 vorbereiten.

Mit den Tools des Kompatibilitätsframeworks können Sie unter anderem Folgendes tun:

  • Gezielte Änderungen testen, ohne die targetSdkVersion der App tatsächlich zu ändern: Mit den Ein/Aus-Schaltern können Sie bestimmte Änderungen des Zielverhaltens erzwingen, um die Auswirkungen auf Ihre bestehende App zu bewerten.
  • Konzentrieren Sie sich beim Testen nur auf bestimmte Änderungen. Anstatt alle Änderungen auf einmal vornehmen zu müssen, können Sie mit den Ein/Aus-Schaltern alle Änderungen deaktivieren, die Sie nicht testen möchten.
  • Schalter über adb verwalten Mit adb-Befehlen können Sie die umschaltbaren Änderungen in Ihrer automatisierten Testumgebung aktivieren und deaktivieren.
  • Fehler mithilfe von Standard-Änderungs-IDs schneller beheben: Jede umschaltbare Änderung hat eine eindeutige ID und einen eindeutigen Namen, mit denen Sie die Ursache in der Protokollausgabe schnell debuggen können.

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

Verhaltensänderungen im Kompatibilitäts-Framework

In der Liste in diesem Abschnitt werden umschaltbare Änderungen beschrieben, die im Kompatibilitäts-Framework für Android 15-bezogene Änderungen enthalten sind, sowie umschaltbare Änderungen, die beim allgemeinen App-Testen hilfreich sein können.

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

Umschaltbare Änderungen im Kompatibilitäts-Framework in Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

Änderungs-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.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

Änderungs-ID:320741775
Standardstatus: Aktiviert für Apps, die auf Android 15 (API‑Level 35) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, prüft isSessionConfigurationSupported auch die Kompatibilität von Sitzungsparametern, sofern dies vom HAL unterstützt wird.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

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

Wenn diese Option aktiviert ist, blockiert der Ersteller eines PendingIntent standardmäßig Starts von Hintergrundaktivitäten.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Verhaltensänderungen in Android 15 im Abschnitt Sichere Starts von Hintergrundaktivitäten.

DEPRECATE_UI_FONT

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

Wenn das Attribut aktiviert ist, wird elegantTextHeight TextView standardmäßig zu true, wenn Ihre App auf einem Gerät mit Android 15 oder höher ausgeführt wird. Dadurch wird die standardmäßig verwendete kompakte Schriftart für einige Schriftsysteme mit großen vertikalen Messwerten durch eine Schriftart ersetzt, die viel besser lesbar ist.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Verhaltensänderungen in Android 15 im Abschnitt Standardwert für das Attribut „elegantTextHeight“ ist „true“.

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

Diese Änderung ist die Voraussetzung für alle Änderungen am inversen Downscaling des Puffers pro App. Wenn Sie diese Änderung aktivieren, können die folgenden Skalierungsfaktoren umgekehrt angewendet werden. Das bedeutet, dass die Auflösung hochskaliert wird:

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

DOWNSCALE_30

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

Wenn DOWNSCALED ebenfalls aktiviert ist, wird die App durch Aktivieren dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 30% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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: Für alle Apps deaktiviert.

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

DOWNSCALE_40

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

Wenn DOWNSCALED ebenfalls aktiviert ist, wird die App durch Aktivieren dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 45% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 222,22% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_50

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

Wenn DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 50% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 55% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 166,67% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_65

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

Wenn DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 153,85% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_70

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

Wenn DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 70% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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: Für alle Apps deaktiviert.

Wenn DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 75% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 80% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, 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 DOWNSCALED ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 85% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist, wird die App durch die Aktivierung dieser Änderung für ein Paket gezwungen, davon auszugehen, dass sie auf einem Display mit 117,65% der vertikalen und horizontalen Auflösung des tatsächlichen Displays ausgeführt wird.

DOWNSCALE_90

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

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

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

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

Wenn diese Option aktiviert ist, ist der Komponententyp des resultierenden Arrays bei Verwendung von Arrays.asList(...).toArray() jetzt Object und nicht der Typ der Elemente des zugrunde liegenden Arrays. Der folgende Code löst daher eine ClassCastException aus:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

Um in diesem Fall String als Komponententyp im resultierenden Array beizubehalten, können Sie stattdessen Collection.toArray(Object[]) verwenden:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Änderungen an der OpenJDK API.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

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

Wenn diese Option aktiviert ist, um zu verhindern, dass bestehende Apps Kompatibilitätsprobleme mit Nicht-SDK-Verwendungen von ClientTransaction#getActivityToken() haben, darf nur LaunchActivityItem gebündelt werden.

ENABLE_MATCH_LOCAL_NETWORK

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

Wenn diese Option aktiviert ist, erhalten Apps standardmäßig Netzwerk-Callbacks von lokalen Netzwerken. Apps, die auf Android 14 (API‑Level 34) oder niedriger ausgerichtet sind, müssen weiterhin NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK zum NetworkCapabilities des NetworkRequest hinzufügen, um ConnectivityManager.NetworkCallback aus lokalen Netzwerken zu empfangen.

ENABLE_STRICT_FORMATTER_VALIDATION

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

Wenn diese Option aktiviert ist, wird die Validierung von Argumentindex, Flags, Breite und Genauigkeit bei Verwendung der APIs String.format() und Formatter.format() strenger gehandhabt.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Änderungen an der OpenJDK API.

ENFORCE_EDGE_TO_EDGE

Änderungs-ID:309578419
Standardstatus: Aktiviert für Apps, die auf Android 15 (API‑Level 35) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, werden Apps auf Geräten mit Android 15 oder höher standardmäßig randlos angezeigt.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Edge-to-Edge-Durchsetzung.

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

Wenn diese Option aktiviert ist, werden Hintergrundstarts von Diensten im Vordergrund über BOOT_COMPLETED-Broadcasts für alle Typen deaktiviert, mit Ausnahme der folgenden:

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Einschränkungen für BOOT_COMPLETED-Broadcast-Receiver, die Vordergrunddienste starten.

FGS_INTRODUCE_TIME_LIMITS

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

Wenn diese Option aktiviert ist, gilt für Dienste im Vordergrund bestimmter Typen ein Zeitlimit. Wenn der Dienst im Vordergrund des betreffenden Typs nicht innerhalb des zugewiesenen Zeitlimits beendet wird, erhält er einen Callback über Service.onTimeout(int, int) und muss dann innerhalb weniger Sekunden beendet werden. Wenn eine App dies nicht tut, wird ein ANR-Fehler gemeldet.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Verhaltensänderungen in Android 15 in den Abschnitten zum Zeitlimitverhalten für die Foreground Service-Typen Datensynchronisierung und Medienverarbeitung.

FGS_SAW_RESTRICTIONS

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

Wenn diese Option aktiviert ist, werden Hintergrundstarts von Diensten im Vordergrund im Systembenachrichtigungsfenster für alle Typen deaktiviert, sofern die App nicht bereits ein System-Overlay-Fenster hat.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Einschränkungen beim Starten von Vordergrunddiensten, wenn eine App die Berechtigung SYSTEM_ALERT_WINDOW hat.

FORCE_DISABLE_HEVC_SUPPORT

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

Erzwingen, dass eine App die HEVC-Mediafunktion nicht unterstützt Apps sollten ihre unterstützten Media-Funktionen in ihrem Manifest deklarieren. Dieses Flag kann jedoch verwendet werden, um zu erzwingen, dass eine App HEVC nicht unterstützt. Dadurch wird die Transcodierung beim Zugriff auf in HEVC codierte Medien erzwungen. Wenn Sie dieses Flag festlegen, 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

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

Erzwingen, dass eine App die HEVC-Mediafunktion unterstützt: Apps sollten ihre unterstützten Mediafunktionen in ihrem Manifest deklarieren. Mit diesem Flag kann jedoch erzwungen werden, dass eine App HEVC unterstützt. So wird das Transcodieren beim Zugriff auf in HEVC codierte Medien vermieden. Wenn Sie dieses Flag festlegen, 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_DISABLE_HEVC_SUPPORT aktiviert sind, werden beide Flags vom Betriebssystem ignoriert.

FORCE_NON_RESIZE_APP

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

Erzwingt, dass die Größe der Pakete, auf die es angewendet wird, nicht geändert werden kann.

FORCE_RESIZE_APP

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

Erzwingt, dass die Größe der Pakete, auf die es angewendet wird, angepasst werden kann. Wir erlauben das Ändern der Größe nur im Vollbildmodus, erzwingen aber nicht, dass die App in den Mehrfenstermodus mit anpassbarer Größe wechselt.

GWP_ASAN

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

Aktiviert die Erkennung von Fehlern im nativen Arbeitsspeicher in Apps.

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

IS_DEVICE_OWNER_USER_AWARE

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

Wenn diese Option aktiviert ist, wird bei der Methode isDeviceOwnerApp(String) der Nutzer im Kontext verwendet. Bei Apps, die auf Android 14 (API‑Level 34) oder niedriger ausgerichtet sind, wird der Nutzer des aufrufenden Prozesses verwendet (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

Änderungs‑ID:308670109
Standardstatus: Aktiviert für Apps, die auf Android 15 (API‑Level 35) oder höher ausgerichtet sind.

Wenn diese Option aktiviert ist, können Apps den globalen Status oder die Richtlinie für den Modus „Bitte nicht stören“ auf einem Gerät nicht mehr ändern. Dies gilt sowohl für Änderungen an den Nutzereinstellungen als auch für das Deaktivieren des Modus „Bitte nicht stören“. Stattdessen müssen Apps eine AutomaticZenRule beitragen, die das System mit dem vorhandenen Schema „Strengste Richtlinie gewinnt“ zu einer globalen Richtlinie kombiniert.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Änderungen daran, wann Apps den globalen Status des Modus „Bitte nicht stören“ ändern können.

NATIVE_HEAP_ZERO_INIT

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

Aktivieren Sie die automatische Nullinitialisierung von Zuweisungen für den nativen Heap-Speicher.

NATIVE_MEMTAG_ASYNC

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

Aktivieren Sie die asynchrone (ASYNC) Prüfung von Speicher-Tags in diesem Prozess. Dieses Flag wirkt sich nur auf Hardware aus, die die ARM Memory Tagging Extension (MTE) unterstützt.

NATIVE_MEMTAG_SYNC

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

Aktiviert die synchrone (SYNC) Überprüfung von Speicher-Tags in diesem Prozess. Dieses Flag wirkt sich nur auf Hardware aus, 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

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

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

OVERRIDE_ANY_ORIENTATION_TO_USER

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

Wenn diese Option aktiviert ist, wird SCREEN_ORIENTATION_USER aktiviert. Dadurch wird jede von der Aktivität angeforderte Ausrichtung überschrieben. Bei Apps mit fester Ausrichtung kann die Vollbilddarstellung auf Geräten mit großen Displays mit aktiviertem ignoreOrientationRequest überschrieben werden.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

Wenn diese Option aktiviert ist, werden die Pakete, auf die die Überschreibung angewendet wird, im Freiformfenstermodus für Apps mit fester Ausrichtung von der Behandlung der Kamerakompatibilität ausgeschlossen.

Im Freiformfenstermodus wird die Kompatibilitätsbehandlung durch Letterboxing des App-Fensters und Ändern der Kameraeigenschaften so emuliert, dass die App auf einem Gerät im Hochformat ausgeführt wird. Die Sensorrotation wird für die Rück- bzw. Frontkamera auf 90 und 270 Grad festgelegt und die Displayrotation auf 0.

Mit diesem Flag können Sie die Kompatibilitätsbehandlung für Apps deaktivieren, die nicht gut darauf reagieren.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

Wenn diese Änderung aktiviert ist, wird für die Pakete, auf die sie angewendet wird, der aktuelle Wert von android:resizeableActivity ignoriert. Außerdem wird das SDK-Ziel auf Android 6.0 (API-Level 23) oder niedriger festgelegt und die Aktivität als nicht anpassbar betrachtet. In diesem Fall hängt der Wert für „Kamera drehen und zuschneiden“ nur von der erforderlichen Kompensation in Bezug auf die aktuelle Displaydrehung ab.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

Wenn diese Option aktiviert ist, wird das Standardverhalten für das Drehen und Zuschneiden der Kamera für die Pakete, auf die sie angewendet wird, überschrieben und es wird immer CaptureRequest.SCALER_ROTATE_AND_CROP_NONE zurückgegeben.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

Wenn diese Option aktiviert ist, wird Nutzern beim Starten einer MediaProjection-Sitzung die Möglichkeit geboten, eine einzelne App oder den gesamten Bildschirm aufzunehmen. Die Verwendung von MediaProjectionConfig#createConfigForDefaultDisplay wird dadurch überschrieben.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

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

Aktiviert SCREEN_ORIENTATION_REVERSE_LANDSCAPE für die App, auf die sie angewendet wird. Sofern OVERRIDE_ANY_ORIENTATION nicht auch aktiviert ist, wird SCREEN_ORIENTATION_REVERSE_LANDSCAPE nur verwendet, wenn für die Aktivität die Ausrichtung im Querformat angegeben ist. Wenn Sie diese Änderung aktivieren, können Sie das Verhalten Ihrer App auf Geräten testen, auf denen das Querformat Surface.ROTATION_90 entspricht, und auf Geräten, auf denen es Surface.ROTATION_270 entspricht.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

Wenn diese Option aktiviert ist, wird das Layout im Verhalten des Display-Aussparungsmodus überschrieben. Dies gilt nur, wenn die Darstellung von Inhalten von Rand zu Rand nicht erzwungen wird.

OVERRIDE_MIN_ASPECT_RATIO

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

Diese Änderung ist die Grundlage 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 App-Manifest angegebene Mindestseitenverhältnis durch das größte aktivierte Seitenverhältnis überschrieben, sofern der Wert im App-Manifest nicht höher ist.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

Wenn auch OVERRIDE_MIN_ASPECT_RATIO aktiviert ist, wird durch Aktivieren dieser Ä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 wird.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

Wenn auch OVERRIDE_MIN_ASPECT_RATIO aktiviert ist, wird durch die Aktivierung dieser Änderung für ein Paket das Mindestseitenverhältnis der Aktivität auf einen mittleren Wert festgelegt, der durch OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE definiert wird.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

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

Wenn diese Option aktiviert ist, werden Behandlungen eingeschränkt, die ein bestimmtes Mindestseitenverhältnis erzwingen. Sie werden nur angewendet, wenn eine App mit der Kamera verbunden ist.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

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

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

Aktiviert SCREEN_ORIENTATION_NOSENSOR für die App, auf die sie 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

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

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

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

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

Wenn diese Option aktiviert ist, können Content-Disposition-Header, die RFC 6266 entsprechen, geparst werden. Insbesondere können so filename*-Werte geparst werden, für die eine andere Zeichencodierung verwendet werden kann.

RATE_LIMIT_TOASTS

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

Ermöglicht die Ratenbegrenzung für die Anzahl der Toast.show()-Aufrufe, um zu verhindern, dass der Nutzer innerhalb eines begrenzten Zeitraums zu viele Benachrichtigungen erhält. Wenn in einem bestimmten Zeitraum versucht wird, mehr Benachrichtigungen als zulässig anzuzeigen, wird die Benachrichtigung verworfen.

STREAM_INT_DIFFERS_FROM_NEXT_INT

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

Wenn diese Option aktiviert ist, geben die Random.ints()-Methoden jetzt eine andere Zahlenfolge als die Random.nextInt()-Methoden zurück. Dies ergibt sich aus den Änderungen unter https://bugs.openjdk.org/browse/JDK-8301574.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Änderungen an der OpenJDK API.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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

USE_NEW_ISO_LOCALE_CODES

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

Wenn diese Option aktiviert ist, werden Sprachcodes für Hebräisch, Jiddisch und Indonesisch nicht mehr in ihre veralteten Formen konvertiert (Hebräisch: iw, Jiddisch: ji und Indonesisch: in).

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Verhaltensänderungen in Android 15“ im Abschnitt Änderungen an der OpenJDK API.