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

Abbildung 1. Auf dem Bildschirm „Änderungen der App-Kompatibilität“ in den Entwickleroptionen werden die Änderungen aufgeführt, die ein-/ausgeschaltet werden können.

Auf dieser Seite werden ein-/ausschaltbare Änderungen beschrieben, die Teil des Kompatibilitäts-Frameworks von Android 15 (API-Level 35) sind. Verwende diese Liste zusammen mit den Entwickleroptionen und ADB-Befehlen, um deine App zu testen und zu debuggen, während du die Unterstützung für Android 15 vorbereitest.

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

  • Zielgerichtete Änderungen testen, ohne die targetSdkVersion der App tatsächlich zu ändern Mit den Ein-/Aus-Schaltflächen können Sie die Aktivierung bestimmter gezielter Verhaltensänderungen erzwingen, um die Auswirkungen auf Ihre vorhandene Anwendung zu bewerten.
  • Konzentrieren Sie sich beim Testen ausschließlich auf bestimmte Änderungen. Mit den Ein-/Aus-Schaltflächen können Sie alle Zieländerungen deaktivieren, mit Ausnahme derer, die Sie testen möchten.
  • Ein/Aus-Schaltfläche über ADB verwalten Mit ADB-Befehlen können Sie die ein- und ausschaltbaren Änderungen in Ihrer automatisierten Testumgebung aktivieren und deaktivieren.
  • Beschleunigen Sie die Fehlerbehebung mit Standard-Änderungs-IDs. Umschaltbare Änderungen haben jeweils eine eindeutige ID und einen eindeutigen Namen, mit denen Sie die Ursache in der Logausgabe schnell beheben können.

Ausführliche Informationen zur Verwendung der Tools in den einzelnen Anwendungsfällen finden Sie unter Kompatibilitäts-Framework-Tools.

Verhaltensänderungen im Kompatibilitäts-Framework

In der Liste in diesem Abschnitt werden die umschaltenden Änderungen beschrieben, die im Kompatibilitätsframework für Änderungen in Bezug auf Android 15 enthalten sind, sowie die ein-/ausschaltbaren Änderungen, die für allgemeine App-Tests hilfreich sind.

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

Ein/Aus-Schaltfläche für Änderungen im Kompatibilitäts-Framework unter Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

Gibt an, dass dieses Gerät Kamera- und Mikrofonanzeigen 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, wenn sie vom HAL unterstützt werden.

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 einer PendingIntent standardmäßig den Start von Hintergrundaktivitäten.

Weitere Informationen zu dieser Änderung findest du auf der Seite zu Android 15-Verhaltensänderungen im Abschnitt zum Starten von sicheren 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 elegantTextHeight TextView aktiviert ist, wird es standardmäßig auf true gesetzt, wenn deine App auf Geräten mit Android 15 oder höher ausgeführt wird. Die standardmäßig verwendete kompakte Schriftart wird durch einige Skripts mit großen vertikalen Messwerten durch ein deutlich besser lesbares ersetzt.

Weitere Informationen zu dieser Änderung findest du auf der Seite zu den Verhaltensänderungen bei Android 15 im Abschnitt über den Standardwert für eleganteTextHeight-Attribute auf „true“.

DOWNSCALED

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

Diese Änderung ist der Gatekeeper für alle App-internen Änderungen zum Herunterskalieren des Zwischenspeichers. Wenn Sie diese Änderung aktivieren, können die folgenden Skalierungsfaktoren angewendet werden:

Wenn diese Änderung für ein Anwendungspaket aktiviert ist, wird die Größe der Anwendung zwangsweise auf den höchsten aktivierten Skalierungsfaktor angepasst. Beispielsweise wird 80% verwendet, wenn sowohl 80% als auch 70 % (DOWNSCALE_80 und DOWNSCALE_70) aktiviert sind. 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 der Gatekeeper für alle inversen Herunterskalierungsänderungen pro App-Zwischenspeicher. 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 Anwendungspaket aktiviert ist, wird die Größe der Anwendung zwangsweise auf den niedrigsten aktivierten Skalierungsfaktor angepasst. Beispielsweise wird 80% verwendet, wenn sowohl 80% als auch 70 % (DOWNSCALE_80 und DOWNSCALE_70) aktiviert sind, da bei umgekehrter Anwendung ein Skalierungsfaktor von 80% gleich 125 % ist, was kleiner als die Skalierung von 142,86% ist, die angewendet wird, wenn ein Skalierungsfaktor von 70% umgekehrt 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 und diese Änderung für ein Paket aktiviert ist, wird die App davon ausgegangen, dass sie auf einem Display mit 30% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 333,33% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_35

Änderungs-ID:189969749
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 35% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 285,71% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_40

Änderungs-ID:189970038
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 Bildschirm mit 40% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 250% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 Bildschirm mit 45% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 Bildschirm ausgeführt wird, der 222,22% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms entspricht.

DOWNSCALE_50

Änderungs-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 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 200% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird.

DOWNSCALE_55

Änderungs-ID:189970036
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 55% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 181,82% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_60

Änderungs-ID:176926771
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 60% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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

Änderungs-ID:189969744
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 65% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 153,85% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_70

Änderungs-ID:176926829
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 70% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 142,86% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird.

DOWNSCALE_75

Änderungs-ID:189969779
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 75% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 133,33% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_80

Änderungs-ID:176926753
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 80% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird. Wenn DOWNSCALED_INVERSE ebenfalls aktiviert ist und diese Änderung für ein Paket aktiviert ist, wird die App davon ausgegangen, dass sie auf einem Display mit 125% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms ausgeführt wird.

DOWNSCALE_85

Änderungs-ID:189969734
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 85% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 117,65% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms auszuführen.

DOWNSCALE_90

Änderungs-ID:182811243
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 90% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 111,11% der vertikalen und horizontalen Auflösung des tatsächlichen Bildschirms 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 und Arrays.asList(...).toArray() verwendet wird, ist der Komponententyp des resultierenden Arrays jetzt ein Object und nicht der Typ der Elemente des zugrunde liegenden Arrays. Daher wird mit dem folgenden Code ClassCastException ausgelöst:

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 zu den Änderungen von OpenJDK 17 auf der Seite zu Verhaltensänderungen bei Android 15.

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, lassen Sie nur die Bündelung von LaunchActivityItem zu, um zu verhindern, dass bestehende Apps App-Kompatibilitätsprobleme mit der Nicht-SDK-Verwendung von ClientTransaction#getActivityToken() haben.

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, empfangen Apps standardmäßig Netzwerk-Callbacks von lokalen Netzwerken. Für Apps, die auf Android 14 (API-Level 34) oder niedriger ausgerichtet sind, muss noch NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK zu NetworkCapabilities von NetworkRequest hinzugefügt werden, um ConnectivityManager.NetworkCallback aus lokalen Netzwerken zu erhalten.

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, ist die Validierung von Argumentindex, Flags, Breite und Genauigkeit bei Verwendung der String.format() und Formatter.format() APIs jetzt strenger.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu den Änderungen von OpenJDK 17 auf der Seite zu Verhaltensänderungen bei Android 15.

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, sind Apps auf Geräten mit Android 15 oder höher standardmäßig Edge-to-Edge-Apps.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu Android 15-Verhaltensänderungen im Abschnitt zur Edge-to-Edge-Erzwingung.

ENFORCE_STRICT_QUERY_BUILDER

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

Wenn diese Option aktiviert ist, prüft SQLiteQueryBuilder die gesamte CalendarProvider2-Abfrageauswahl anhand schädlicher Argumente.

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 ab BOOT_COMPLETED-Broadcasts für alle Typen deaktiviert, mit Ausnahme von:

Weitere Informationen zu dieser Änderung findest du auf der Seite zu Android 15-Verhaltensänderungen im Abschnitt über Einschränkungen für BOOT_COMPLETED-Broadcast-Empfänger, die Dienste im Vordergrund 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 bestimmte Typen von Diensten im Vordergrund ein Zeitlimit. Wenn der Dienst im Vordergrund des betreffenden Typs nicht innerhalb der vorgesehenen Zeit gestoppt wird, erhält er einen Callback über Service.onTimeout(int, int) und muss dann innerhalb weniger Sekunden beendet werden. Wenn dies bei einer App nicht der Fall ist, wird dies als ANR-Fehler deklariert.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite „Android 15-Verhaltensänderungen“ in den Abschnitten zum Zeitlimit für die Typen Datensynchronisierung und Medienverarbeitung im Vordergrund.

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, wird die Hintergrundwiedergabe von Diensten im Vordergrund im Systembenachrichtigungsfenster für alle Typen deaktiviert, sofern nicht bereits ein System-Overlay-Fenster vorhanden ist.

Weitere Informationen zu dieser Änderung findest du auf der Seite zu Android 15-Verhaltensänderungen im Abschnitt Einschränkungen beim Starten von Diensten im Vordergrund, während 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-Medienfunktion nicht unterstützt. Für Apps sollten die unterstützten Medienfunktionen in ihrem Manifest deklariert werden. Dieses Flag kann jedoch verwendet werden, um eine App dazu zu zwingen, HEVC nicht zu unterstützen. Dadurch wird die Transcodierung beim Zugriff auf in HEVC codierte Medien erzwungen. Durch das Festlegen dieses Flags werden alle Standardeinstellungen für Apps auf Betriebssystemebene überschrieben. Sie ist standardmäßig deaktiviert, d. h., die Standardeinstellungen des Betriebssystems haben Vorrang. 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-Medienfunktion unterstützt. Apps sollten die unterstützten Medienfunktionen in ihrem Manifest deklarieren. Dieses Flag kann jedoch verwendet werden, um eine App zur Unterstützung von HEVC zu zwingen. Dadurch wird die Transcodierung beim Zugriff auf in HEVC codierte Medien vermieden. Durch das Festlegen dieses Flags werden alle Standardeinstellungen auf Betriebssystemebene für Apps ü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

Ä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. Die Größenanpassung ist nur im Vollbildfenstermodus zulässig, die App wird jedoch nicht in den Mehrfenstermodus mit anpassbarer Größe erzwungen.

GWP_ASAN

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

Aktiviert die Fehlererkennung im gestaffelten 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, verwendet die Methode isDeviceOwnerApp(String) den im Kontext enthaltenen Nutzer. Für 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 „Bitte nicht stören“ auf einem Gerät nicht mehr ändern – entweder durch Ändern der Nutzereinstellungen oder durch Deaktivieren des Modus „Nicht stören“. Stattdessen müssen Apps einen AutomaticZenRule bereitstellen, der vom System in eine globale Richtlinie mit dem bestehenden Schema der strengsten Richtliniengewinne kombiniert wird.

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

NATIVE_HEAP_ZERO_INIT

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

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 Prüfung von asynchronen Speicher-Tags (ASYNC). Dieses Flag betrifft nur Hardware, die die ARM Memory Tagging Extension (MTE) unterstützt.

NATIVE_MEMTAG_SYNC

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

Aktiviert die synchrone Überprüfung von Speicher-Tags (SYNC) in diesem Prozess. Dieses Flag betrifft nur 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 ist im SYNC-Modus aktiviert.

OVERRIDE_ANY_ORIENTATION

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

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

Wenn diese Option aktiviert ist, wird SCREEN_ORIENTATION_USER aktiviert. Dadurch werden alle von der Aktivität angeforderten Ausrichtungen überschrieben. Apps mit fester Ausrichtung können auf Geräten mit großen Bildschirmen im Vollbildmodus überschrieben werden, wenn ignoreOrientationRequest durch diese Überschreibung aktiviert ist.

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, aus der Kamerakompatibilität im Freiform-Fenstermodus für Apps mit fester Ausrichtung ausgeschlossen.

Im Freiform-Fenstermodus emuliert die Kompatibilität die Ausführung auf einem Gerät im Hochformat, indem das App-Fenster mit Letterbox-Balken dargestellt wird und die Kameraeigenschaften so geändert werden, was Apps im Hochformat normalerweise erwarten: Sensordrehung um 90 Grad bzw. 270 Grad für Rück- und Frontkameras und Einstellung der Displaydrehung auf 0.

Verwenden Sie dieses Flag, um die Kompatibilitätsbehandlung für Apps zu 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 erzwungen, dass die angewendeten Pakete den aktuellen Wert von android:resizeableActivity sowie das Ziel-SDK, das Android 6.0 oder niedriger als Android 6.0 (API-Level 23) ist, ignorieren und die Aktivität als nicht veränderbar betrachten. In diesem Fall hängt der Wert von „Camera Drehen“ und „Zuschneiden“ nur von der erforderlichen Kompensation in Anbetracht der aktuellen Displaydrehung ab.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

Wenn diese Änderung aktiviert ist, wird erzwungen, dass die angewendeten Pakete das Standardverhalten zum Drehen und Zuschneiden von Kamera überschreiben und immer CaptureRequest.SCALER_ROTATE_AND_CROP_NONE zurückgeben.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

Wenn diese Option aktiviert ist, können Nutzer beim Starten einer MediaProjection-Sitzung wahlweise eine einzelne App oder den gesamten Bildschirm aufnehmen. 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 Anwendung, auf die es angewendet wird. Sofern OVERRIDE_ANY_ORIENTATION nicht ebenfalls aktiviert ist, wird SCREEN_ORIENTATION_REVERSE_LANDSCAPE nur verwendet, wenn für die Aktivität das Querformat 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_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

Wenn diese Option aktiviert ist, wird das Layout im Modus „Display-Aussparung“ überschrieben. Dies gilt nur, wenn Edge-to-Edge nicht erzwungen wird.

OVERRIDE_MIN_ASPECT_RATIO

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

Diese Änderung bestimmt alle Änderungen, die ein bestimmtes minimales Seitenverhä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 mit dem größten aktivierten Seitenverhältnis überschrieben, es sei denn, der Manifestwert der App ist höher.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

Wenn diese Option aktiviert ist, wird die Beschrä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

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

Wenn OVERRIDE_MIN_ASPECT_RATIO ebenfalls aktiviert ist und diese Änderung für ein Paket aktiviert wird, wird das Mindestseitenverhältnis der Aktivität auf einen hohen 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 OVERRIDE_MIN_ASPECT_RATIO ebenfalls aktiviert ist und diese Änderung für ein Paket aktiviert wird, wird das Mindestseitenverhältnis der Aktivität auf einen mittleren Wert gesetzt, wie durch OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE definiert.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

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

Wenn diese Option aktiviert ist, werden Behandlungen, die das Anwenden eines bestimmten Mindestseitenverhältnisses erzwingen, so eingeschränkt, dass sie nur angewendet werden, 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 alle anderen Änderungen, die das Mindestseitenverhältnis einer Aktivität auf einen bestimmten Wert erzwingen, z. B. OVERRIDE_MIN_ASPECT_RATIO_LARGE und OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, auf Aktivitäten beschränkt, die ebenfalls im Hochformat gehalten werden.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

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

Wenn diese Änderung aktiviert ist, werden Pakete, auf die angewendet wird, von den Ausrichtungsbeschränkungen ausgeschlossen, die von Geräteherstellern festgelegt werden können.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

Aktiviert SCREEN_ORIENTATION_NOSENSOR für die Anwendung, auf die es angewendet wird. Sofern OVERRIDE_ANY_ORIENTATION nicht ebenfalls aktiviert ist, wird SCREEN_ORIENTATION_NOSENSOR nur verwendet, wenn durch 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 Anwendung, 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.

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, wird das Parsen von Content-Disposition-Headern ermöglicht, die RFC 6266-konform sind. Dadurch wird insbesondere das Parsen von filename*-Werten ermöglicht, für die eine andere Zeichencodierung verwendet werden kann.

RATE_LIMIT_TOASTS

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

Aktiviert die Ratenbegrenzung für die Anzahl von Toast.show()-Aufrufen, um zu verhindern, dass der Nutzer mit zu vielen Toasts in einem begrenzten Zeitraum überlastet wird. Wird versucht, innerhalb eines bestimmten Zeitraums mehr Toasts anzuzeigen als zulässig, wird der Toast 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 die Methoden Random.ints() aktiviert sind, geben sie jetzt eine andere Zahlenfolge als die Random.nextInt()-Methoden zurück. Dies folgt aus den Änderungen in https://bugs.openjdk.org/browse/JDK-8301574.

Weitere Informationen zu dieser Änderung finden Sie auf der Seite zu den Änderungen von OpenJDK 17 auf der Seite zu Verhaltensänderungen bei Android 15.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

Wenn diese Option aktiviert ist, kann das Paket „android“ Komponentenaliasse 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 die 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 zu den Änderungen von OpenJDK 17 auf der Seite zu Verhaltensänderungen bei Android 15.