Uyumluluk çerçevesiyle ilgili değişiklikler (Android>12)

Şekil 1. Geliştirici seçeneklerindeki Uygulama Uyumluluğu Değişiklikleri ekranında, geçiş yapabileceğiniz değişiklikler listelenir.

Bu sayfada, Android 12'deki (API düzeyi 31) uyumluluk çerçevesinin bir parçası olan her bir davranış değişikliği açıklanmaktadır. Android 12'yi desteklemeye ve hedeflemeye hazırlanırken uygulamanızı test etmek ve hata ayıklamak için bu listeyi geliştirici seçenekleri ve ADB komutları ile birlikte kullanın.

Uyumluluk çerçevesi araçlarını kullanarak yapabileceğiniz bazı işlemler şunlardır:

  • Hedeflenen değişiklikleri, uygulamanın targetSdkVersion değerini değiştirmeden test edin. Mevcut uygulamanız üzerindeki etkisini değerlendirmek amacıyla, hedeflenen belirli davranış değişikliklerini etkinleştirmeye zorlamak için açma/kapatma düğmelerini kullanabilirsiniz.
  • Testinizde yalnızca belirli değişikliklere odaklanın. Hedeflenen tüm değişiklikleri tek seferde ele almak yerine, test yapmak istedikleriniz dışındaki tüm hedeflenen değişiklikleri devre dışı bırakmanıza olanak tanır.
  • Adb aracılığıyla açma/kapatma düğmelerini yönetin. Otomatik test ortamınızda değiştirilebilen değişiklikleri etkinleştirmek ve devre dışı bırakmak için adb komutlarını kullanabilirsiniz.
  • Standart değişiklik kimliklerini kullanarak daha hızlı hata ayıklayın. Geçiş yapılabilir değişikliklerin her birinin benzersiz bir kimliği ve adı vardır. Günlük çıktısının temel nedenini hızlıca ayıklamak için bu değişiklikleri kullanabilirsiniz.

Bu kullanım alanlarının her birinde araçların kullanımıyla ilgili ayrıntılı bilgi için Uyumluluk çerçevesi araçları bölümüne bakın.

Uyumluluk çerçevesine dahil edilen davranış değişiklikleri

Bu bölümdeki listede, Android 12'deki uyumluluk çerçevesine dahil edilen her davranış değişikliği açıklanmaktadır.

Değişiklikler listesini Varsayılan Durum'a göre filtreleyebilirsiniz.

Android 12'de uyumluluk çerçevesine eklenen davranış değişiklikleri

ALWAYS_SANDBOX_DISPLAY_APIS

Değişiklik Kimliği: 185004937
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Etkinleştirildiğinde, pencere modu ne olursa olsun Display API korumalı alanını bir pakete uygular. Display API'leri her zaman uygulama sınırlarını sağlar.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 12 davranış değişiklikleri sayfasının Kullanımdan kaldırılan görüntüleme yöntemleri ile ilgili bölümüne bakın.

AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER

Değişiklik Kimliği: 163400105
Varsayılan Durum: Android 12 (API düzeyi 32) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12'den itibaren platform, artırılmış otomatik doldurma çerçevesini (bkz. otomatik doldurma hizmetleri) kullanarak metin olmayan öneriler (resimler gibi) sunabilir. Bir uygulamanın bu önerileri işleyebilmesi için OnReceiveContentListener API'yi uygulaması gerekir.

Daha önce InputConnection.commitContent(InputContentInfo, int, Bundle) API'yi uygulayan uygulamalarda bu API'nin benimsenmesini daha kolay hale getirmek için OnReceiveContentListener uygulama tarafından henüz kullanılmadıysa bu API'yi yedek olarak yeniden kullanırız. Bu yedek yalnızca Android 12'de (API düzeyi 31) etkinleştirilir. Bu değişiklik kimliği, yedeği devre dışı bırakır. Böylece, Android 12 (API düzeyi 32) ve sonraki sürümleri hedefleyen uygulamaların, metin olmayan önerileri kabul etmek için OnReceiveContentListener API'yi uygulaması gerekir.

BLOCK_FLAG_SLIPPERY

Değişiklik Kimliği: 157929241
Varsayılan Durum: Tüm uygulamalar için etkindir.

Android 12'de (API düzeyi 31) çalışan uygulamalar için FLAG_SLIPPERY'in uygulamadaki herhangi bir pencereyle kullanılıp kullanılmadığını kontrol edin. Bu işaretin, desteklenmeyen bir alan olduğundan büyük olasılıkla yalnızca sistem bileşenleri tarafından kullanılmasını bekliyoruz. Bu durumda videonuz kısıtlanır.

BLOCK_GPS_STATUS_USAGE

Değişiklik Kimliği: 144027538
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda tüm GpsStatus API kullanımı GnssStatus API'leriyle değiştirilmelidir.

BLOCK_IMMUTABLE_PENDING_INTENTS

Değişiklik Kimliği: 171317480
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için konum API'lerine geçirilen sabit PendingIntent nesneleri IllegalArgumentException. oluşturur

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

Değişiklik Kimliği: 169887240
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için LocationRequest sistem API'leri PendingIntent konum istekleriyle kullanılamaz.

BLOCK_UNTRUSTED_TOUCHES

Change ID: 158002302
Varsayılan Durum: Tüm uygulamalar için etkindir.

Android 12, sistem güvenliğini ve iyi bir kullanıcı deneyimini korumak için uygulamaların, yer paylaşımının güvenli olmayan bir şekilde engellendiği dokunma etkinliklerini tüketmesini engeller.

Bu değişiklik hakkında daha fazla bilgi edinmek için Güvenilmeyen dokunma etkinlikleri engellendi başlıklı makaleyi inceleyin.

CALL_ACTIVITY_RESULT_BEFORE_RESUME

Değişiklik Kimliği: 78294732
Varsayılan Durum: Android 12 (API düzeyi 32) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 32) ve sonraki sürümleri hedefleyen uygulamalarda, bir etkinliğin devam ettirilmeden hemen önce etkinlik sonucunu almasını garanti etmek için etkinlik sonucunun yaşam döngüsünü düzeltir.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Değişiklik Kimliği: 162547999
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu cihazın kamera ve mikrofon göstergelerini desteklediğini belirtir. Değişiklik Kimliği mevcut değilse CompatChanges#isChangeEnabled yöntemi true değerini döndürdüğünden, varsa false değerini alır.

CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS

Değişiklik Kimliği: 146211400
Varsayılan Durum: Android 12 (API düzeyi 32) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 32) ve sonraki sürümleri hedefleyen uygulamalarda, hatalı biçimlendirilmiş izin grupları varsa paket yöneticisi paket yüklemez. İzin grupları yalnızca sertifika paylaşan uygulamalar arasında paylaşılmalıdır. İzin bir gruba aitse bu grubun da tanımlanması gerekir.

CHANGE_ID_AUTH_STATE_DENIED

Değişiklik Kimliği: 181350407
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen istemci uygulamaları için yetkilendirme reddedildi durumundayken ve bir nano uygulamaya mesaj göndermeye çalıştığında SecurityException gönderilir.

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

Değişiklik Kimliği: 136069189
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda HIGH_SAMPLING_RATE_SENSORS izni olmayan, hata ayıklama modunda çalışan ve 200 Hz'den yüksek örnekleme hızları isteyen uygulamalar SecurityException gönderilir.

DELIVER_HISTORICAL_LOCATIONS

Değişiklik Kimliği: 73144566
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için konum istemcileri bazı durumlarda geçmiş konumları (şu anki zamandan önceki) alabilir.

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

Değişiklik Kimliği: 181658987
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar söz konusu olduğunda TelephonyDisplayInfo'teki değişiklikler için geriye dönük uyumluluk sağlar.

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

Değişiklik Kimliği: 170503758
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, platform daha tercih edilirse uygulamanın kare hızını yenileme hızının bölenine düşürebilir (örneğin, uygulama Surface.setFrameRate(float, int) çağırıyorsa). Uygulamalar, kısıtlanmış kare hızında Choreographer.postFrameCallback(Choreographer.FrameCallback) geri çağırma ve geri baskıyla karşılaşır. Uygulamalar, ekran yenileme hızını bilmek için Display.getRefreshRate() ve Display.Mode.getRefreshRate() kullanır. Display.getRefreshRate() uygulamaların kare hızını doğru şekilde yapmasını sağlamak için fiziksel ekran yenileme hızını değil, her zaman uygulama kare hızını döndürür. Display.Mode.getRefreshRate(), önceki bir sürüme derlenmişse uygulama kare hızını, Android 12'den (API düzeyi 31) itibaren ise fiziksel ekran yenileme hızını döndürür.

DOWNSCALED

Değişiklik Kimliği: 168419799
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu değişiklik, uygulama başına tampon küçültme ile ilgili tüm değişikliklerin kontrolündedir. Bu değişikliğin etkinleştirilmesi aşağıdaki ölçeklendirme faktörlerinin uygulanmasına olanak tanır:

Bu değişiklik bir uygulama paketi için etkinleştirildiğinde, uygulama zorla en yüksek ve etkinleştirilen ölçeklendirme faktörüne yeniden boyutlandırılır. Örneğin, hem% 80 hem de% 70 (DOWNSCALE_80 ve DOWNSCALE_70) etkinleştirilirse %80 kullanılır.

DOWNSCALE_30

Değişiklik Kimliği: 189970040
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 30'u dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_35

Değişiklik Kimliği: 189969749
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 35'i dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_40

Değişiklik Kimliği: 189970038
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 40'ı dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_45

Değişiklik Kimliği: 189969782
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 45'i dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_50

Değişiklik Kimliği: 176926741
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 50'si dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_55

Değişiklik Kimliği: 189970036
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın dikey ve yatay çözünürlüğünün% 55'ine sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_60

Değişiklik Kimliği: 176926771
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın% 60'ı dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_65

Değişiklik Kimliği: 189969744
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın dikey ve yatay çözünürlüğünün% 65'ine sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_70

Değişiklik Kimliği: 176926829
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 70'i dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_75

Değişiklik Kimliği: 189969779
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 75'i dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_80

Değişiklik Kimliği: 176926753
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 80'i dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_85

Değişiklik Kimliği: 189969734
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı, gerçek ekranın% 85'i dikey ve yatay çözünürlüğe sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_90

Değişiklik Kimliği: 182811243
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın% 90'ı dikey ve yatay çözünürlüklü bir ekranda çalıştığını varsaymaya zorlar.

DO_NOT_DOWNSCALE_TO_1080P_ON_TV

Değişiklik Kimliği: 157629738
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen Android TV uygulamalarının, 1080p'den büyük Pencere boyutları da dahil olmak üzere tüm Pencere boyutlarını işlemesi beklenir. Android'in önceki sürümlerini hedefleyen uygulamalar 1080p'den daha büyük Windows'ları almayı beklemez. Bu nedenle, Windows'u gerektiğinde 1080p'ye düşürülür.

DROP_CLOSE_SYSTEM_DIALOGS

Değişiklik Kimliği: 174664120
Varsayılan Durum: Tüm uygulamalar için etkindir.

Uygulamalar ve sistemle etkileşimde kullanıcı kontrolünü iyileştirmek için ACTION_CLOSE_SYSTEM_DIALOGS intent işlemi Android 12 itibarıyla kullanımdan kaldırılmıştır.

Bu değişiklik hakkında daha fazla bilgi edinmek için Uygulamalar sistem iletişim kutularını kapatamıyor başlıklı makaleye bakın.

ENABLE_CHECKS_FOR_PRIVATE_FILES

Değişiklik Kimliği: 172100307
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar, medya sağlayıcıyı kullanarak gizli dosyaları ekleyemez veya güncelleyemez.

ENABLE_DEFERRED_SCAN

Değişiklik Kimliği: 180326732
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

MediaProvider#update() işleminin bir parçası olarak tetiklenen taramayı ertelemek için bu seçeneği etkinleştirin.

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

Değişiklik Kimliği: 157233955
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, çağrı durumunu sorgulayan ve bilgilendiren API'lerde (ör. TelecomManager#getCallState, TelephonyManager.getCallStateForSubscription() ve TelephonyCallback.CallStateListener) READ_PHONE_STATE koruması etkinleştirilir.

ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION

Değişiklik Kimliği: 183407956
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için getPhoneAccount(PhoneAccountHandle)'da READ_PHONE_NUMBERS veya READ_PRIVILEGED_PHONE_STATE korumalarını etkinleştirin.

ENABLE_INCLUDE_ALL_VOLUMES

Değişiklik Kimliği: 182734110
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

MediaProvider#query içindeki kısa süre önce bağlantısı kesilmiş bir birimdeki dosyaların veritabanı satırlarını dahil etmek için bu seçeneği etkinleştirin.

ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS

Değişiklik Kimliği: 178209446
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Manifest.permission.MANAGE_EXTERNAL_STORAGE iznine sahip uygulamaların ham harici depolama erişimi istemesine izin vermek için bu seçeneği etkinleştirin.

ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS

Değişiklik Kimliği: 185199076
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için tam olmayan tüm alarmların minimum pencere boyutu olması gerekir. Bu süre tahmini olarak birkaç dakikayı aşmamalıdır. Pratikte, daha küçük pencerelere ihtiyaç duyan alarmlar, tam alarmlarla aynıdır ve sağlanan ilgili API'leri (ör. setExact(int, long, PendingIntent)) kullanmalıdır. Daha kısa pencerelere sahip olan ve değişken olmayan alarmların pencereleri sistem tarafından uzatılır.

ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES

Değişiklik Kimliği: 142191088
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamaların, cihaz üreticisinin AndroidManifest.xml içindeki uses-native-library etiketini kullanarak tanımladığı herkese açık yerel paylaşılan kitaplıklara bağımlılık bildirmesi gerekir. Bağımlılıklardan herhangi biri karşılanamazsa (örneğin, bağımlılıklardan biri mevcut değilse) paket yöneticisi uygulamayı yüklemez. Bağımlılık, etikette android:required özelliği kullanılarak isteğe bağlı olarak belirtilebilir. Bu durumda bağımlılığın karşılanmaması yükleme işlemini durdurmaz.

Uygulama yüklendikten sonra, yalnızca uygulama manifestinde belirtilen yerel paylaşılan kitaplıklarla birlikte sağlanır. Uygulama manifest dosyasında görünmeyen, yerel bir paylaşılan kitaplıkta dlopen çağrılması, gerçekte cihazda mevcut olsa bile başarısız olur.

ENFORCE_STRICT_QUERY_BUILDER

Değişiklik Kimliği: 143231523
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Etkinleştirildiğinde SQLiteQueryBuilder, tüm CalendarProvider2 sorgu seçimlerini kötü amaçlı bağımsız değişkenlere karşı doğrular.

FGS_BG_START_RESTRICTION_CHANGE_ID

Değişiklik Kimliği: 170668199
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için uygulamaların arka planda çalışırken ön plan hizmetlerini başlatabileceği durumlar kısıtlanır.

FGS_START_EXCEPTION_CHANGE_ID

Değişiklik Kimliği: 174041399
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, bir uygulama arka planda çalışırken ön plan hizmeti başlatmaya çalıştığında sistemin IllegalStateException uyarısı vermesine izin verilir.

FINISH_INPUT_NO_FALLBACK_CONNECTION

Değişiklik Kimliği: 156215187
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için cihaz non-interactive olduğunda InputConnection işlemini tamamlayın.

Geçerli input method tarafından etkinleştirilirse cihazların etkileşimsiz hale gelmesi durumunda geçerli giriş bağlantısı finished olur.

Etkinleştirilmezse cihazlar etkileşimsiz hale geldiğinde geçerli giriş bağlantısı sessizce devre dışı bırakılır ve cihaz tekrar etkileşimli hale geldiğinde bir onFinishInput() ile onStartInput() çifti dağıtılır.

FORCE_DISABLE_HEVC_SUPPORT

Değişiklik Kimliği: 174227820
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bir uygulamanın, HEVC medya özelliğini desteklemesini zorla devre dışı bırakın. Uygulamalar, desteklenen medya özelliklerini manifest dosyalarında belirtmelidir. Ancak bu işaret, bir uygulamanın HEVC'yi desteklememesini ve bunun sonucunda HEVC'de kodlanmış medyaya erişirken kod dönüştürmeyi zorunlu kılmak için kullanılabilir. Bu işaretin ayarlanması, uygulamalar için işletim sistemi düzeyindeki varsayılan değerleri geçersiz kılar. Politika varsayılan olarak devre dışıdır. Yani, işletim sistemi varsayılanları önceliklidir. Hem bu işaret hem de FORCE_ENABLE_HEVC_SUPPORT etkinleştirilirse işletim sistemi her iki işareti de yoksayar.

FORCE_ENABLE_HEVC_SUPPORT

Değişiklik Kimliği: 174228127
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bir uygulamayı HEVC medya özelliğini destekleyecek şekilde etkinleştirmeye zorla Uygulamalar, desteklenen medya özelliklerini manifest dosyalarında beyan etmelidir. Ancak bu işaret, bir uygulamayı HEVC'yi desteklemeye zorlamak ve böylece HEVC'de kodlanmış medyaya erişirken kod dönüştürmeden kaçınmak için kullanılabilir. Bu işaretin ayarlanması, uygulamalar için işletim sistemi seviyesi varsayılanlarını geçersiz kılar. Politika varsayılan olarak devre dışıdır. Yani, işletim sistemi varsayılanları önceliklidir. Hem bu işaret hem de FORCE_DISABLE_HEVC_SUPPORT etkinleştirilirse işletim sistemi her iki işareti de yoksayar.

FORCE_NON_RESIZE_APP

Değişiklik Kimliği: 181136395
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Uygulandığı paketleri yeniden boyutlandırılamaz olmaya zorlar.

FORCE_RESIZE_APP

Değişiklik Kimliği: 174042936
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Uygulandığı paketleri yeniden boyutlandırılabilir olmaya zorlar. Yalnızca tam ekran pencere modunda yeniden boyutlandırmaya izin verilir, uygulamayı yeniden boyutlandırılabilir çoklu pencere moduna zorlamayız.

HIDE_PROP_ICUBINARY_DATA_PATH

Değişiklik Kimliği: 171979766
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için android.icu.impl.ICUBinary.dataPath mülküne erişimi kaldırır.

IGNORE_ALLOW_BACKUP_IN_D2D

Değişiklik Kimliği: 183147249
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

android:allowBackup, Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, cihazdan cihaza (D2D) taşıma işlemleri sırasında uygulamalar için yoksayılır.

IGNORE_FULL_BACKUP_CONTENT_IN_D2D

Değişiklik Kimliği: 180523564
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için, android:fullBackupContent kullanılarak belirtilen dahil etme ve hariç tutma kuralları cihazdan cihaza (D2D) aktarımlar sırasında yoksayılır.

IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY

Değişiklik Kimliği: 169273070
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

getSupportedLocales(), Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için ayarlanmadığında artık varsayılan sistem yerel ayarı yerine boş bir yerel ayar listesi döndürüyor.

IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE

Değişiklik Kimliği: 158482162
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda isBackupServiceActive() için gereken BACKUP izni, BackupManager için istemci tarafında değil, hizmet tarafında uygulanır.

KEYSTORE_OPERATION_CREATION_MAY_FAIL

Değişiklik Kimliği: 169897160
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Etkinleştirildiğinde, anahtar deposu oluşturma işlemi yeni budama stratejisine göre başarısız olabilir. Anahtar deposu, şifreleme işlemleri oluşturmanın her zaman başarılı olduğu varsayımıyla çalışıyordu. Ancak KeyMint arka ucunun yalnızca sınırlı sayıda işlem yuvası vardır.

Anahtar deposu arka plan programı, "sonsuz" işlem alanlarının görünümünü korumak için kullanılabilir işlem slotu olmaması durumunda en son kullanılan işlemleri ayıklar. Sonuç olarak, başarılı işlemler zamanından önce sonlandırılabilir. Bu, AndroidKeystore'u hizmet reddine (DoS) ve istenmeyen canlı kilitlemeye kadar açmıştır. Örneğin, güç yönetimi optimizasyonları nedeniyle aynı anda birden fazla uygulama uyanırsa ve kripto işlemleri gerçekleştirmeye çalışırsa bu uygulamalar hiçbir ilerleme kaydetmeden birbirlerinin işlemlerini sonlandırmaya başlar.

Canlı kilitleri ortadan kaldırmak ve DoS girişimlerini caydırmak için kısaltma stratejisini, kısa süreliğine az sayıda işlem alanı kullanan müşterileri tercih edecek şekilde değiştirdik. Sonuç olarak, 5 saniyeden uzun süre etkinlik dışı kalmayan tek işlemler, neredeyse her zaman budama stratejisi tarafından engellenmeden sonuçlanacaktır. Dosya sistemi şifrelemesiyle ilgili olan ve bu işlemleri bile ortadan kaldırabilecek bazı işlemler vardır ancak bu tür durumlar son derece nadirdir. Bu yeni ayıklama stratejisi işleminin yan etkisi olarak, istemcinin mevcut tüm işlemlerden daha düşük bir ayıklama gücüne sahip olması durumunda oluşturma işlemi artık başarısız olabilir.

Budama stratejisi: Uygun bir aday bulmak amacıyla, arayan kişi ve mevcut her işlem için malus değerini hesaplarız. Malus, budama gücünün (caller) veya budama direncinin (mevcut işlem) tersidir. Arayanın bir işlemi ayıklayabilmesi için kendinden daha yüksek malus değerine sahip bir işlem bulması gerekir. Budama stratejisiyle ilgili daha fazla bilgi için operation.rs uygulamasını inceleyin. Android 11 (API düzeyi 30) ve önceki sürümlerde KeyStore2, ücretsiz bir işlem alanı için Anahtar deposu arka plan programını yoklar. Android 11 (API düzeyi 30) ve önceki sürümleri hedefleyen uygulamalar için şifre ve imza nesnesi başlatma her zaman başarılıymış gibi görünür. Ancak işlemin tamamlanması daha uzun sürebilir. Tüm Android sürümleri, daha adil işlem aralığı planlamasından ve bir işlemi başarıyla tamamlama şansından faydalanır.

LOCK_DOWN_CLOSE_SYSTEM_DIALOGS

Değişiklik Kimliği: 174664365
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS izni de yoksa Intent.ACTION_CLOSE_SYSTEM_DIALOGS gönderilemez. Bunun, uygulama başladıktan sonra Android 12 (API düzeyi 31) veya sonraki sürümleri hedeflediğinde uygulamanın Intent.ACTION_CLOSE_SYSTEM_DIALOGS amacını göndermeyi durdurmasını bekleyen daha kısıtlayıcı #DROP_CLOSE_SYSTEM_DIALOGS sürümü olduğunu unutmayın.

LOCK_DOWN_COLLAPSE_STATUS_BAR

Değişiklik Kimliği: 173031413
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda güvenlik nedeniyle durum çubuğu panellerini daraltmak için Manifest.permission.STATUS_BAR izni gerekir. Kötü amaçlı yazılımlar, kullanıcının önemli bildirimlere erişmesini engellemek için bu bilgileri kötüye kullanıyordu.

LOW_POWER_EXCEPTIONS

Değişiklik Kimliği: 168936375
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, çağrıda bulunan LOCATION_HARDWARE izni yoksa isteğin düşük güç tüketen kısmını sessizce bırakmak yerine, düşük güç atımı istisnaları olarak işaretlenmiş tüm LocationRequest nesneleri kullanılır.

MISSING_EXPORTED_FLAG

Değişiklik Kimliği: 150232615
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda bir amaç filtresi tanımlandığında android:exported özelliği için açık bir değer belirtilmelidir.

Bu değişiklik hakkında daha fazla bilgi edinmek için Bileşenleri daha güvenli bir şekilde dışa aktarma başlıklı makaleye bakın.

NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE

Değişiklik Kimliği: 207557677
Varsayılan Durum: Android 12 (API düzeyi 32) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 32) ve sonraki sürümleri hedefleyen uygulamalar için AppZygote işlemindeki ve alt öğelerindeki yerel yığın ayırmalar, en önemli baytta sıfır olmayan bir etiket kullanır.

Bu değişiklik hakkında daha fazla bilgi edinmek için Etiketli İşaretçiler başlıklı makaleyi inceleyin.

NATIVE_HEAP_ZERO_INIT

Değişiklik Kimliği: 178038272
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Yerel yığın bellek ayırmalarının otomatik olarak sıfır başlatma özelliğini etkinleştirin.

NATIVE_MEMTAG_ASYNC

Değişiklik Kimliği: 135772972
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu işlemde eşzamansız (ASYNC) bellek etiketi kontrolünü etkinleştirin. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımı etkiler.

NATIVE_MEMTAG_SYNC

Değişiklik Kimliği: 177438394
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu işlemde eşzamanlı (SENKRONİZASYON) bellek etiketi kontrolünü etkinleştirir. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımı etkiler. Hem NATIVE_MEMTAG_ASYNC hem de bu seçenek etkinleştirilirse bu seçenek öncelikli olur ve SENKRONİZASYON modunda MTE etkinleştirilir.

NEVER_SANDBOX_DISPLAY_APIS

Değişiklik Kimliği: 184838306
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Etkinleştirildiğinde, Display API korumalı alana alma işleminin bir sinemaskop veya SCM etkinliğine uygulanması engellenir. Display API'leri, DisplayArea sınırları sağlamaya devam edecek.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 12 davranış değişiklikleri sayfasının Kullanımdan kaldırılan görüntüleme yöntemleri ile ilgili bölümüne bakın.

NOTIFICATION_CANCELLATION_REASONS

Değişiklik Kimliği: 175319604
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Bildirim dinleyicilerin daha spesifik yeni iptal nedenlerini anlamasını sağlar.

NOTIFICATION_TRAMPOLINE_BLOCK

Değişiklik Kimliği: 167676448
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12'yi hedefleyen uygulamalar, uygulama performansını ve kullanıcı deneyimini iyileştirmek için hizmetleri veya yayın alıcılarını bildirim trambolinleri olarak kullanamaz.

Bu değişiklikle ilgili daha fazla bilgi edinmek için Hizmetlerden veya yayın alıcılarından bildirim trambolinleri oluşturulamaz başlıklı makaleye göz atın.

NULL_TELEPHONY_THROW_NO_CB

Değişiklik Kimliği: 182185642
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Geçerli işlemin hedef SDK sürümünün Android 12 (API düzeyi 31) veya sonraki bir sürüm olup olmadığını kontrol etmek için kullanılır.

Aşağıdaki yöntemler için geçerlidir:

OVERRIDE_MIN_ASPECT_RATIO

Değişiklik Kimliği: 174042980
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu değişiklik, belirli bir minimum en boy oranını zorunlu kılan tüm değişikliklerin kontrolüdür. Bu değişikliğin etkinleştirilmesi aşağıdaki minimum en boy oranlarının uygulanmasına olanak tanır:

Bu değişiklik bir uygulama paketi için etkinleştirildiğinde, uygulamanın manifest değeri daha yüksek olmadığı sürece uygulamanın manifest dosyasında belirtilen minimum en boy oranı, etkinleştirilen en büyük en boy oranı olacak şekilde geçersiz kılınır.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Değişiklik Kimliği: 180326787
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

OVERRIDE_MIN_ASPECT_RATIO de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, etkinliğin minimum en boy oranını OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE tarafından tanımlanan büyük bir değere ayarlar.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Değişiklik Kimliği: 180326845
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

OVERRIDE_MIN_ASPECT_RATIO de etkinleştirildiğinde bir paket için bu değişikliğin etkinleştirilmesi, etkinliğin minimum en boy oranını OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE tarafından tanımlandığı gibi orta değere ayarlar.

PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED

Değişiklik Kimliği: 160794467
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için uygulamanızın oluşturduğu her PendingIntent nesnesinin değişkenliğini belirtmeniz gerekir. Bu ek koşul, uygulamanızın güvenliğini artırır.

Bu değişiklik hakkında daha fazla bilgi edinmek için Beklemedeki amaçlar değişkenlik bildiriminde bulunmalıdır bölümünü inceleyin.

PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT

Değişiklik Kimliği: 165573442
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen yönetici uygulamaları, DevicePolicyManager.getParentProfileInstance(ComponentName) çağrısıyla alınan DevicePolicyManager örneğinde şifre kalitesini ayarlamak için DevicePolicyManager.setPasswordQuality(ComponentName, int) özelliğini kullanamaz. Bunun yerine, cihaz genelinde genel şifre gereksinimleri belirlemek için DevicePolicyManager.setRequiredPasswordComplexity(int) kullanmalıdır.

RATE_LIMIT_TOASTS

Değişiklik Kimliği: 174840628
Varsayılan Durum: Bu değişiklik değiştirilemez. Yalnızca uyumluluk çerçevesi tarafından günlüğe kaydedilir.

Sınırlı bir süre içinde kullanıcıya çok fazla durum mesajı gönderilmesini önlemek için Toast.show() çağrılarının sayısında hız sınırlamayı etkinleştirir. Belirli bir zaman aralığında izin verilenden fazla durum mesajı gösterme girişimleri, durum mesajının silinmesine neden olur.

REQUIRE_EXACT_ALARM_PERMISSION

Değişiklik Kimliği: 171306433
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamaların, tam alarm ayarlamak üzere API'leri (ör. setExactAndAllowWhileIdle(int, long, PendingIntent) ve setAlarmClock(AlarmClockInfo, PendingIntent)) kullanabilmesi için Manifest.permission.SCHEDULE_EXACT_ALARM iznine sahip olması gerekir.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID

Değişiklik Kimliği: 182478738
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamaların TelephonyCallback.ActiveDataSubscriptionIdListener özelliğini çağırmak için Manifest.permission.READ_PHONE_STATE iznine sahip olması gerekir.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO

Değişiklik Kimliği: 184323934
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamaların TelephonyCallback.CellInfoListener özelliğini çağırmak için Manifest.permission.READ_PHONE_STATE iznine sahip olması gerekir.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO

Değişiklik Kimliği: 183164979
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamaların TelephonyCallback.DisplayInfoListener özelliğini çağırmak için Manifest.permission.READ_PHONE_STATE iznine sahip olması gerekir.

RESTRICT_ADB_BACKUP

Değişiklik Kimliği: 171032338
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

adb backup, Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda hata ayıklaması yapılabilir (android:debuggable, true olarak ayarlanmış) olarak çalışan uygulamalar için otomatik olarak etkinleştirilir ve diğer uygulamalarda kullanılamaz.

RESTRICT_DOMAINS

Değişiklik Kimliği: 175408749
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için uygulama bağlantıları doğrulama API'sinin güncellenmiş formu gerekir. Bu şart, uygulamaların aşağıdakileri içeren bir intent filtresinde alanları beyan etmesi gerektiği anlamına gelir:

  • android:autoVerify="true"
  • Intent.ACTION_VIEW
  • Intent.CATEGORY_BROWSABLE
  • Intet.CATEGORY_DEFAULT
  • Başka şema olmadan yalnızca IntentFilter.SCHEME_HTTP ve/veya IntentFilter.SCHEME_HTTPS

Android'in önceki sürümlerinde Intent.CATEGORY_BROWSABLE zorunlu değildi, diğer şemalara izin veriliyordu. Herhangi bir amaç filtresinde autoVerify değerinin true olarak ayarlanması, dolaylı yoldan tüm amaç filtrelerinin autoVerify="true" olarak ayarlandığını varsayıyordu.

SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE

Değişiklik Kimliği: 151105954
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için noteOp(String, int, String), noteProxyOp(String, String) ve startOp(String, int, String) öğelerine gönderilen tüm attributionTags, yöntemlerin parametresi olarak belirtilen paketin manifest dosyasında tanımlanmasını zorunlu kılar.

Bu değişikliğin etkinleştirilmesi için hem noteOp(String, int, String) çağrısı yapan pakette hem de yöntemin parametresi olarak belirtilen pakette bu değişiklik etkinleştirilmiş olmalıdır.

SELINUX_LATEST_CHANGES

Değişiklik Kimliği: 143539591
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için en son SELinux değişikliklerini etkinleştirir. Bu değişiklik, Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen bir uygulama için devre dışı bırakıldığında işlem yapılamaz. Paylaşılan kullanıcı kimliği kullanan uygulamalar bu değişiklikten etkilenmez.

SETTINGS_API_V2

Değişiklik Kimliği: 178111421
Varsayılan Durum: Tüm uygulamalar için etkindir.

AndroidManifest.xml amaç filtrelerinde autoVerify=true işaretli alanları doğrulamak için yeni kullanıcı tercihi API'si mevcut platform önizlemesinde henüz uygulanmamıştır. Şimdilik bu ChangeId'yi etkinleştirip adb shell pm set-app-links-user-selection ile benzer komutları kullanarak yeni kullanıcı tercihi değişikliklerini önizlemek mümkündür.

USE_SHORT_FGS_USAGE_INTERACTION_TIME

Değişiklik Kimliği: 183972877
Varsayılan Durum: Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir.

Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalar için uygulamalar ön plan hizmeti başlattığında bekleme grubunu ACTIVE seviyesine yükseltmeden önce daha kısa bir zaman aşımı kullanılıp kullanılmayacağını belirler.