Modifications apportées au framework de compatibilité (Android 14)

Figure 1. L'écran "Modifications de compatibilité de l'application" dans les options pour les développeurs répertorie les modifications que vous pouvez activer.

Cette page décrit les modifications pouvant être activées par le biais du framework de compatibilité sous Android 14 (niveau d'API 34). Utilisez cette liste conjointement avec les options pour les développeurs et les commandes ADB pour tester et déboguer votre application en vue de prendre en charge et de cibler Android 14.

Voici quelques exemples d'utilisation des outils du framework de compatibilité :

  • Tester les modifications ciblées sans réellement modifier la targetSdkVersion de l'application. Vous pouvez utiliser les boutons d'activation/de désactivation pour forcer l'activation de certaines modifications du comportement afin d'évaluer l'impact sur votre application.
  • Axer votre test sur des modifications spécifiques. Plutôt que d'avoir à traiter toutes les modifications ciblées en même temps, les boutons d'activation/de désactivation vous permettent de désactiver toutes les modifications ciblées, à l'exception de celles que vous souhaitez tester.
  • Gérer les boutons d'activation/de désactivation via adb. Vous pouvez utiliser les commandes adb pour activer et désactiver les modifications à activer/désactiver dans votre environnement de test automatisé.
  • Déboguer plus rapidement grâce aux ID de modification standards. Les modifications pouvant être activées/désactivées possèdent un ID et un nom uniques que vous pouvez utiliser pour déboguer rapidement l'origine du problème dans la sortie du journal.

Pour obtenir des informations complètes sur l'utilisation des outils pour chacun de ces cas d'utilisation, consultez la page sur les outils du framework de compatibilité.

Modifications de comportement inclus dans le framework de compatibilité

La liste de cette section décrit les modifications pouvant être activées par le framework de compatibilité dans Android 14.

Vous pouvez filtrer la liste des modifications en fonction de leur Default State (État par défaut).

Modifications pouvant être activées dans le framework de compatibilité sous Android 14

ACCESS_SHARED_IDENTITY

ID de modification : 259743961
État par défaut : Activé pour toutes les applications.

Accorde l'accès à l'identité de l'application de lancement si l'application a accepté de partager son identité en lançant cette activité avec une instance de ActivityOptions sur laquelle ActivityOptions.setShareIdentityEnabled(boolean) a été appelée avec la valeur true, ou si l'UID de l'activité lancée est identique à celui de l'application de lancement. Lorsque cette modification est activée et que l'une de ces conditions est remplie, l'activité peut accéder à l'UID et au nom du package de l'application de lancement avec Activity.getLaunchedFromUid() et Activity.getLaunchedFromPackage(), respectivement.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

ID de modification: 258236856
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsque cette modification est activée, le message "L'application ne répond pas" (ANR) s'affiche lorsque les applications mettent du temps à répondre sur les API et les fonctionnalités d'Android 13 (niveau d'API 33) ou version antérieure.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

ID de modification: 207133734
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, cette option permet de vérifier l'accès des autorités pour l'UID appelant sur toutes les API liées à la synchronisation.

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID de modification : 162547999
État par défaut : Désactivé pour toutes les applications.

Indique que cet appareil est compatible avec les indicateurs d'appareil photo et de micro. La valeur est false si elle est présente, car la méthode CompatChanges#isChangeEnabled renvoie true si l'ID de modification n'est pas présent.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

ID de modification: 244637991
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsqu'une application envoie un PendingIntent à l'aide de PendingIntent#send() ou de méthodes similaires, l'application doit désormais l'activer si elle veut accorder ses propres privilèges de lancement d'activité en arrière-plan pour déclencher l'intent en attente.

Pour en savoir plus sur cette modification, consultez la section Restrictions supplémentaires concernant le démarrage d'activités en arrière-plan de la page dédiée aux modifications de comportement d'Android 14.

DETACH_THROWS_ISE_ONLY

ID de modification: 236825255
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Indicateur permettant de bloquer l'exception correcte envoyée par #detachImage.

#detachImage est documentée comme générant IllegalStateException en cas d'erreur. Une méthode d'assistance native générait RuntimeException si la surface était abandonnée lors de la dissociation de Image.

Ce comportement d'exception non documenté persiste avec Android 13 (niveau d'API 33).

Après Android 13 (niveau d'API 33), la méthode d'assistance native ne génère IllegalStateExceptions que conformément à la documentation.

Lorsque cette modification est activée, #detachImage ne génère une classe IllegalStateException que s'il rencontre des erreurs lors de la dissociation de l'image. Le comportement reste inchangé pour les applications ciblant Android 13 (niveau d'API 33) et versions antérieures.

DOWNSCALED

ID de modification : 168419799
État par défaut : Désactivé pour toutes les applications.

Cette modification contrôle toutes les modifications de réduction de la taille de la mémoire tampon par application. L'activation de cette modification permet d'appliquer les facteurs de scaling suivants:

Lorsque cette modification est activée pour un package d'application, l'application est automatiquement redimensionnée au facteur de scaling le plus élevé et activé. Par exemple, la valeur 80% est utilisée si les valeurs 80% et 70 % (DOWNSCALE_80 et DOWNSCALE_70) sont activées. Lorsque cette modification et DOWNSCALED_INVERSE sont activés, DOWNSCALED_INVERSE est prioritaire, et le facteur de scaling est appliqué à l'envers.

DOWNSCALED_INVERSE

ID de modification: 273564678
État par défaut: Désactivé pour toutes les applications.

Cette modification contrôle toutes les modifications de réduction de taille inverses du tampon par application. L'activation de cette modification permet d'appliquer les facteurs de scaling à l'inverse (c'est-à-dire que la résolution est améliorée à la place):

Lorsque cette modification est activée pour un package d'application, l'application est automatiquement redimensionnée au facteur de scaling le plus bas et activé. Par exemple, la valeur 80% est utilisée si les valeurs 80% et 70 % (DOWNSCALE_80 et DOWNSCALE_70) sont activées.En effet, lorsque l'application est inverse, un facteur de scaling de 80% est égal à 125%, ce qui est inférieur au facteur de scaling de 142,86% appliqué avec un facteur de scaling inverse de 70 %. Lorsque cette modification et DOWNSCALED sont activés, DOWNSCALED_INVERSE est prioritaire, et le facteur de scaling est appliqué à l'envers.

DOWNSCALE_30

ID de modification : 189970040
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 30% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 333,33% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_35

ID de modification : 189969749
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 35% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 285,71% de l'affichage réel.

DOWNSCALE_40

ID de modification : 189970038
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 40% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 250% de l'affichage réel.

DOWNSCALE_45

ID de modification : 189969782
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 45% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 222,22% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_50

ID de modification : 176926741
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 50% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 200% de l'affichage réel.

DOWNSCALE_55

ID de modification : 189970036
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 55% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 181,82% de l'affichage réel.

DOWNSCALE_60

ID de modification : 176926771
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 60% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 166,67% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_65

ID de modification : 189969744
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 65% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 153,85% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_70

ID de modification : 176926829
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 70% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 142,86% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_75

ID de modification : 189969779
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 75% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 133,33% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_80

ID de modification : 176926753
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 80% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 125% de l'affichage réel.

DOWNSCALE_85

ID de modification : 189969734
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 85% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 117,65% de la résolution verticale et horizontale de l'écran réel.

DOWNSCALE_90

ID de modification : 182811243
État par défaut : Désactivé pour toutes les applications.

Si DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 90% de l'affichage réel. Si DOWNSCALED_INVERSE est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 111,11% de la résolution verticale et horizontale de l'écran réel.

ENABLE_PLATFORM_MDNS_BACKEND

ID de modification: 270306772
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Les applications ciblant Android 14 ou version ultérieure utilisent une implémentation mDNS intégrée à la plate-forme comme backend, tandis que les applications qui ciblent des versions antérieures continuent à utiliser un ancien backend de détection de services réseau (NSD) (avec un ancien daemon natif comme backend NsdManager).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

ID de modification: 266524688
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

La vérification des fonctionnalités autocertifiées est activée pour les applications ciblant Android 14 ou version ultérieure. Pour en savoir plus, consultez NetworkCapabilities.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

ID de modification: 154726397
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, les applications doivent déclarer les besoins en visibilité des packages dans le fichier manifeste afin d'accéder aux API AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

ID de modification: 218865702
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, tous les fichiers chargés dynamiquement doivent être marqués en lecture seule. Cela évite que ces fichiers ne soient écrasés de manière inattendue par des acteurs malveillants.

Pour en savoir plus sur cette modification, consultez la section sur le chargement de code dynamique plus sûr de la page dédiée aux modifications de comportement d'Android 14.

ENFORCE_STRICT_QUERY_BUILDER

ID de modification : 143231523
État par défaut : Désactivé pour toutes les applications.

Lorsque cette modification est activée, le SQLiteQueryBuilder vérifie toutes les sélections de requêtes de CalendarProvider2 par rapport à des arguments malveillants.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

ID de modification: 265195908
État par défaut: Activé pour toutes les applications.

Les alarmes exactes qui attendent un rappel AlarmManager.OnAlarmListener sont supprimées lorsque l'application appelante passe à l'état mis en cache.

Pour en savoir plus sur les modifications apportées aux alarmes exactes dans Android 14, consultez Programmer les alarmes exactes par défaut.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

ID de modification: 261055255
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsque cette modification est activée, les applis instantanées doivent spécifier les types de services de premier plan appropriés pour tous les services déclarés dans le fichier manifeste de l'application.

Pour en savoir plus sur cette modification, consultez la page sur les modifications apportées aux types de services de premier plan.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

ID de modification: 255042465
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsque cette option est activée, les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure qui lancent un service de premier plan à l'aide du type obsolète FOREGROUND_SERVICE_TYPE_NONE génèrent un avertissement dans le journal.

Pour en savoir plus sur cette modification, consultez la page sur les modifications apportées aux types de services de premier plan.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

ID de modification: 255038118
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsque cette option est activée, les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure qui lancent un service de premier plan à l'aide du type obsolète FOREGROUND_SERVICE_TYPE_NONE génèrent une exception.

Pour en savoir plus sur cette modification, consultez la page sur les modifications apportées aux types de services de premier plan.

FGS_TYPE_PERMISSION_CHANGE_ID

ID de modification: 254662522
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsque cette option est activée, les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure qui lancent un service de premier plan sans les autorisations requises associées à ce type de service de premier plan génèrent une SecurityException.

Pour en savoir plus sur cette modification, consultez la page sur les modifications apportées aux types de services de premier plan.

FORCE_DISABLE_HEVC_SUPPORT

ID de modification : 174227820
État par défaut : Désactivé pour toutes les applications.

Forcer la désactivation de la compatibilité d'une application avec les fonctionnalités multimédias HEVC. Les applications doivent déclarer leurs fonctionnalités multimédias compatibles dans leur fichier manifeste, mais cet indicateur peut être utilisé pour forcer une application à ne pas prendre en charge HEVC, forçant ainsi le transcodage tout en accédant aux contenus multimédias encodés en HEVC. L'utilisation de cet indicateur remplace toutes les valeurs par défaut au niveau de l'OS pour les applications. Il est désactivé par défaut, ce qui signifie que les valeurs par défaut de l'OS prévalent. Si cet indicateur et FORCE_ENABLE_HEVC_SUPPORT sont tous deux activés, le système d'exploitation ignore les deux indicateurs.

FORCE_ENABLE_HEVC_SUPPORT

ID de modification : 174228127
État par défaut : Désactivé pour toutes les applications.

Forcer l'activation d'une application pour qu'elle soit compatible avec les fonctionnalités multimédias HEVC. Les applications doivent déclarer leurs fonctionnalités multimédias compatibles dans leur fichier manifeste, mais cet indicateur peut être utilisé pour forcer une application à prendre en charge HEVC, évitant ainsi le transcodage lors de l'accès aux contenus multimédias encodés en HEVC. L'utilisation de cette option remplace toutes les valeurs par défaut au niveau de l'OS pour les applications. Il est désactivé par défaut, ce qui signifie que les valeurs par défaut de l'OS prévalent. Si cet indicateur et FORCE_DISABLE_HEVC_SUPPORT sont tous deux activés, le système d'exploitation ignore les deux indicateurs.

FORCE_NON_RESIZE_APP

ID de modification : 181146395
État par défaut : Désactivé pour toutes les applications.

Empêche le non-redimensionnement des packages auxquels il est appliqué.

FORCE_RESIZE_APP

ID de modification : 174042936
État par défaut : Désactivé pour toutes les applications.

Force le redimensionnement des packages auxquels il est appliqué. Nous n'autorisons le redimensionnement qu'en mode fenêtrage plein écran, sans forcer l'application à passer en mode multifenêtre redimensionnable.

GWP_ASAN

ID de modification : 145634846
État par défaut : Désactivé pour toutes les applications.

Active la détection de bugs dans la mémoire native échantillonnée dans les applications.

Pour en savoir plus sur l'utilisation de GWP-ASan, consultez le guide GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

ID de modification: 229362273
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, les composants doivent être exportés afin de les appeler via des intents implicites. Si un composant n'est pas exporté et appelé, il est supprimé de la liste des récepteurs. Cela s'applique spécifiquement aux activités et aux diffusions.

Pour en savoir plus sur cette modification, consultez la section sur les restrictions concernant les intents implicites et en attente de la page dédiée aux modifications de comportement d'Android 14.

ID de modification: 266201607
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, les applications doivent demander à l'utilisateur de donner son autorisation avant chaque session de capture MediaProjection.

Pour en savoir plus sur cette modification, consultez la section de la page dédiée aux modifications de comportement d'Android 14 qui explique comment le consentement de l'utilisateur est requis pour chaque session de capture MediaProjection.

NATIVE_HEAP_ZERO_INIT

ID de modification : 178038272
État par défaut : Désactivé pour toutes les applications.

Activez l'initialisation automatique à zéro des allocations de mémoire du tas de mémoire natif.

NATIVE_MEMTAG_ASYNC

ID de modification : 145772972
État par défaut : Désactivé pour toutes les applications.

Active la vérification asynchrone (ASYNC) des tags de mémoire dans ce processus. Cet indicateur n'affecte que le matériel compatible avec la Memory Tagging Extension (MTE) ARM.

NATIVE_MEMTAG_SYNC

ID de modification : 177438394
État par défaut : Désactivé pour toutes les applications.

Active la vérification synchrone (SYNC) des tags de mémoire dans ce processus. Cet indicateur n'affecte que le matériel compatible avec la Memory Tagging Extension (MTE) ARM. Si NATIVE_MEMTAG_ASYNC et cette option sont activés, cette option est prioritaire et la MTE est activée en mode SYNC.

OVERRIDE_ANY_ORIENTATION

ID de modification: 265464455
État par défaut: Désactivé pour toutes les applications.

Lorsque cette modification est activée, les forçages d'orientation suivants peuvent être appliqués, quelle que soit l'orientation demandée par l'activité:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID de modification : 191514214
État par défaut : Désactivé pour toutes les applications.

Lorsqu'elle est activée, cette modification oblige les packages auxquels elle s'applique à ignorer la valeur actuelle de android:resizeableActivity ainsi que le SDK cible inférieur ou égal à M, et à considérer l'activité comme non redimensionnable. Dans ce cas, la valeur de rotation et de recadrage de la caméra ne dépend que de la compensation nécessaire, compte tenu de la rotation actuelle de l'écran.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID de modification : 189229956
État par défaut : Désactivé pour toutes les applications.

Lorsqu'elle est activée, cette modification force les packages auxquels elle s'applique à remplacer le comportement de rotation et de recadrage par défaut de la caméra, et à toujours renvoyer CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID de modification: 266124927
État par défaut: Désactivé pour toutes les applications.

Active SCREEN_ORIENTATION_REVERSE_LANDSCAPE pour l'application à laquelle il s'applique. À moins que OVERRIDE_ANY_ORIENTATION ne soit également activé, SCREEN_ORIENTATION_REVERSE_LANDSCAPE n'est utilisé que lorsque l'activité spécifie l'orientation paysage. L'activation de cette modification peut vous aider à tester le comportement de votre application afin d'identifier les différences entre les appareils où l'orientation paysage correspond à Surface.ROTATION_90 et ceux où elle correspond à Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

ID de modification : 174042980
État par défaut : Désactivé pour toutes les applications.

Cette modification contrôle toutes les modifications qui forcent un format minimal donné. L'activation de cette modification permet d'appliquer les formats minimaux suivants :

Lorsque cette modification est activée pour un package d'application, le format minimal indiqué dans le fichier manifeste de l'application est remplacé par le plus grand format activé, sauf si la valeur du fichier manifeste de l'application est plus élevée.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID de modification: 218959984
État par défaut: Désactivé pour toutes les applications.

Lorsque cette option est activée, elle remplace la restriction de format minimal en plein écran en mode portrait afin d'utiliser tout l'espace disponible à l'écran.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID de modification : 180326787
État par défaut : Désactivé pour toutes les applications.

Lorsque OVERRIDE_MIN_ASPECT_RATIO est également activé, l'activation de cette modification pour un package définit le format minimal de l'activité sur une valeur élevée, telle que définie par OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID de modification : 180326845
État par défaut : Désactivé pour toutes les applications.

Lorsque OVERRIDE_MIN_ASPECT_RATIO est également activé, l'activation de cette modification pour un package définit le format minimal de l'activité sur une valeur moyenne telle que définie par OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID de modification : 203647190
État par défaut : Activé pour toutes les applications.

Lorsque OVERRIDE_MIN_ASPECT_RATIO est également activé, cette modification limite toute autre modification qui force le format minimal d'une activité à une certaine valeur, telle que OVERRIDE_MIN_ASPECT_RATIO_LARGE et OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, aux activités qui sont également en mode portrait.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID de modification: 236283604
État par défaut: Désactivé pour toutes les applications.

Lorsque cette modification est activée, les packages appliqués sont exclus des restrictions d'orientation "Ignorer" que les fabricants d'appareils peuvent définir.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID de modification: 265451093
État par défaut: Désactivé pour toutes les applications.

Active SCREEN_ORIENTATION_NOSENSOR pour l'application à laquelle il s'applique. À moins que OVERRIDE_ANY_ORIENTATION ne soit également activé, SCREEN_ORIENTATION_NOSENSOR n'est utilisé que lorsque l'activité ne spécifie aucune autre orientation fixe.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID de modification: 265452344
État par défaut: Désactivé pour toutes les applications.

Active SCREEN_ORIENTATION_PORTRAIT pour l'application à laquelle il s'applique. À moins que OVERRIDE_ANY_ORIENTATION ne soit également activé, SCREEN_ORIENTATION_PORTRAIT n'est utilisé que lorsque l'activité ne spécifie aucune autre orientation fixe.

RATE_LIMIT_TOASTS

ID de modification : 174840628
État par défaut : Cette modification ne peut pas être activée/désactivée. Il n'est enregistré que par le framework de compatibilité.

Active la limitation du nombre d'appels Toast.show() pour éviter de surcharger l'utilisateur avec trop de toasts en peu de temps. Toute tentative d'affichage d'un nombre de toasts supérieur à celui autorisé sur une période donnée entraîne la suppression du toast.

REJECT_NEGATIVE_NETWORK_ESTIMATES

ID de modification: 253665015
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Lorsque cette modification est activée, les octets réseau estimés doivent être non négatifs.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

ID de modification: 241104082
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, la tâche d'hébergement doit spécifier une contrainte de réseau si le JobWorkItem inclus indique l'utilisation du réseau.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

ID de modification: 271850009
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, les applications doivent spécifier les autorisations INTERNET et ACCESS_NETWORK_STATE lors de la planification d'une tâche avec une contrainte de connectivité.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

ID de modification: 255371817
État par défaut: Activé pour les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure.

Pour les applications ciblant Android 14 (niveau d'API 34) ou version ultérieure, le système génère une exception si une application n'implémente pas correctement toutes les API de transfert de données nécessaires lors de la spécification d'une tâche de transfert de données déclenchée par l'utilisateur.

Pour en savoir plus sur cette modification, consultez la page expliquant comment migrer des services de premier plan vers des tâches de transfert de données déclenchées par l'utilisateur.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID de modification : 196254758
État par défaut : Désactivé pour toutes les applications.

L'activation de cette modification permet au système d'autoriser le package "android" à utiliser des alias de composants.