ALWAYS_SANDBOX_DISPLAY_APIS
Değişiklik Kimliği: 185004937
Varsayılan Durum: Tüm uygulamalar için devre dışı.
Etkinleştirildiğinde, pencere modundan bağımsız olarak bir pakete Display API korumalı alanını uygular. Görüntüleme 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ında
Desteği sonlandırılan görüntüleme yöntemleri ile ilgili bölüme 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 kullanarak metin dışı öneriler (ör. resimler) sağlayabilir (otomatik doldurma hizmetleri bölümüne bakın). Bir uygulamanın bu önerileri işleyebilmesi için normalde OnReceiveContentListener API'sini uygulaması gerekir.
Daha önce InputConnection.commitContent(InputContentInfo, int, Bundle) API'sini uygulayan uygulamaların bu API'yi daha sorunsuz bir şekilde kullanabilmesi için OnReceiveContentListener henüz uygulama tarafından uygulanmamışsa 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, yedek seçeneğini devre dışı bırakır. Böylece Android 12 (API düzeyi 32) ve sonraki sürümleri hedefleyen uygulamaların, metin dışı önerileri kabul etmek için OnReceiveContentListener API'sini uygulaması gerekir.
|
BLOCK_FLAG_SLIPPERY
Değişiklik Kimliği: 157929241
Varsayılan Durum: Tüm uygulamalar için etkin.
Android 12 (API düzeyi 31) çalıştıran uygulamalarda, uygulamadaki herhangi bir pencerede FLAG_SLIPPERY kullanılıp kullanılmadığını kontrol eder. Bu işaret, desteklenmeyen bir alan olduğundan yalnızca sistem bileşenleri tarafından kullanılıyor olabilir. İhlal varsa içerik 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 uygulamalarda, konum API'lerine iletilen 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 uygulamalarda LocationRequest sistem API'leri PendingIntent konum istekleriyle kullanılamaz.
|
BLOCK_UNTRUSTED_TOUCHES
Değişiklik kimliği: 158002302
Varsayılan durum: Tüm uygulamalar için etkin.
Android 12, sistem güvenliğini ve iyi bir kullanıcı deneyimini korumak için uygulamaların, bir yer paylaşımının uygulamayı güvenli olmayan bir şekilde engellediği dokunma etkinliklerini kullanmasını engeller.
Bu değişiklik hakkında daha fazla bilgi edinmek için Güvenilmeyen dokunma etkinlikleri engellenir 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 etmeden 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ışı.
Bu cihazın kamera ve mikrofon göstergelerini desteklediğini gösterir. Varsa false olur. Değişiklik kimliği yoksa CompatChanges#isChangeEnabled yöntemi true değerini döndürü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 paketi yüklemez.
İzin grupları yalnızca sertifika paylaşan uygulamalar arasında paylaşılmalıdır. Bir izin 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ı, yetkilendirme reddedildi durumundayken bir nano uygulamaya mesaj göndermeye çalıştığında SecurityException hatası verilir.
|
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 olmadığında, hata ayıklama modunda çalıştığında ve 200 Hz'den daha hızlı örnekleme hızları istendiğinde SecurityException hatası verilir.
|
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 uygulamalarda, konum istemcileri bazı durumlarda geçmiş konumları (şu andan ö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 için TelephonyDisplayInfo'daki değişikliklerde 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 uygunsa (örneğin, uygulama Surface.setFrameRate(float, int) çağrısı yaptıysa) uygulamanın kare hızını yenileme hızının bölenine düşürebilir.
Uygulamalar, kısıtlanmış kare hızında Choreographer.postFrameCallback(Choreographer.FrameCallback)
geri çağırmalar ve geri basınç yaşar. Uygulamalar, ekran yenileme hızını öğrenmek için Display.getRefreshRate() ve Display.Mode.getRefreshRate() kullanır. Display.getRefreshRate(), uygulamaların kare hızını doğru şekilde ayarlamasına olanak tanımak için her zaman fiziksel ekran yenileme hızını değil, uygulama kare hızını döndürür. Display.Mode.getRefreshRate(), önceki bir sürüme derlenmişse uygulama kare hızını döndürür ve Android 12'den (API düzeyi 31) itibaren 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ışı.
Bu değişiklik, uygulama başına arabellek ölçeklendirme değişikliklerinin tümünü kontrol eder. 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, etkinleştirilen en yüksek ölçeklendirme faktörüne zorla 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ışı.
DOWNSCALED da etkinleştirildiğinde,
bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın
dikey ve yatay çözünürlüğünün% 30'una sahip bir ekranda çalıştığını
varsaymasına neden olur.
|
DOWNSCALE_35
Değişiklik Kimliği: 189969749
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde,
bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın
dikey ve yatay çözünürlüğünün% 35'ine sahip bir ekranda çalıştığını
varsaymasına neden olur.
|
DOWNSCALE_40
Değişiklik Kimliği: 189970038
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 40'ına sahip bir ekranda çalıştığını varsaymasına neden olur.
|
DOWNSCALE_45
Değişiklik Kimliği: 189969782
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED de etkinleştirildiğinde,
bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın
dikey ve yatay çözünürlüğünün% 45'ine sahip bir ekranda çalıştığını
varsaymasına neden olur.
|
DOWNSCALE_50
Değişiklik Kimliği: 176926741
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 50'sine sahip bir ekranda çalıştığını varsaymasına neden olur.
|
DOWNSCALE_55
Değişiklik kimliği: 189970036
Varsayılan durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 55'ine sahip bir ekranda çalıştığını varsaymasına neden olur.
|
DOWNSCALE_60
Değişiklik Kimliği: 176926771
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 60'ına sahip bir ekranda çalıştığını varsaymasına neden olur.
|
DOWNSCALE_65
Değişiklik Kimliği: 189969744
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde,
bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın
dikey ve yatay çözünürlüğünün% 65'ine sahip bir ekranda çalıştığını
varsaymasına neden olur.
|
DOWNSCALE_70
Değişiklik Kimliği: 176926829
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde,
bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın
dikey ve yatay çözünürlüğünün% 70'ine sahip bir ekranda çalıştığını
varsaymasına neden olur.
|
DOWNSCALE_75
Değişiklik Kimliği: 189969779
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED de etkinleştirildiğinde,
bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın
dikey ve yatay çözünürlüğünün% 75'ine sahip bir ekranda çalıştığını
varsaymasına neden olur.
|
DOWNSCALE_80
Değişiklik Kimliği: 176926753
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 80'ine sahip bir ekranda çalıştığını varsaymasına neden olur.
|
DOWNSCALE_85
Değişiklik Kimliği: 189969734
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 85'ine sahip bir ekranda çalıştığını varsaymasına neden olur.
|
DOWNSCALE_90
Değişiklik Kimliği: 182811243
Varsayılan Durum: Tüm uygulamalar için devre dışı.
DOWNSCALED da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 90'ına sahip bir ekranda çalıştığını varsaymasına neden olur.
|
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 büyük pencereler almayı beklemez. Bu nedenle, pencereleri gerektiğinde 1080p'ye küçültülür.
|
DROP_CLOSE_SYSTEM_DIALOGS
Değişiklik Kimliği: 174664120
Varsayılan Durum: Tüm uygulamalar için etkin.
Uygulamalar ve sistemle etkileşim kurarken kullanıcı kontrolünü iyileştirmek için ACTION_CLOSE_SYSTEM_DIALOGS intent işlemi Android 12'den itibaren 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ı kapatamaz başlıklı makaleyi inceleyin.
|
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 özel 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() kapsamında 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, arama durumunu sorgulayan ve bildiren API'lerde (ör. TelecomManager#getCallState, TelephonyManager.getCallStateForSubscription() ve TelephonyCallback.CallStateListener) READ_PHONE_STATE korumasını etkinleştirir.
|
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ştirir.
|
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çinde, yakın zamanda bağlantısı kesilen 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 alanı 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 uygulamalarda, tüm kesin olmayan alarmların minimum pencere boyutuna sahip olması gerekir. Bu boyutun birkaç dakika olması beklenir. Pratikte, daha küçük pencereler gerektiren tüm alarmlar kesin zamanlı alarmlarla aynıdır ve setExact(int, long, PendingIntent) gibi ilgili API'leri kullanmalıdır. Daha kısa aralıklar belirtilen yaklaşık alarmların aralıkları 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 üreticisi tarafından AndroidManifest.xml dosyasında uses-native-library etiketi kullanılarak tanımlanan herkese açık yerel paylaşılan kitaplıklara bağımlılıkları beyan etmesi 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, etiketteki android:required özelliği kullanılarak isteğe bağlı olarak belirtilebilir. Bu durumda, bağımlılığın karşılanamaması yüklemeyi durdurmaz.
Yüklendikten sonra bir uygulamaya yalnızca uygulama manifestinde belirtilen yerel paylaşılan kitaplıklar sağlanır. Uygulama manifestinde görünmeyen yerel bir paylaşılan kitaplıkta dlopen çağrısı yapmak, cihazda gerçekten 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ışı.
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ın arka planda çalışırken ön plan hizmetlerini ne zaman başlatabileceğini kısıtlar.
|
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, arka planda çalışırken ön plan hizmeti başlatmaya çalışan uygulamalar için sistemin IllegalStateException oluşturmasını sağlar.
|
Değişiklik Kimliği: 156215187
Varsayılan Durum: Tüm uygulamalar için devre dışı.
Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, cihaz non-interactive olduğunda InputConnection işlemini tamamlayın.
Mevcut input method tarafından etkinleştirilirse cihazlar etkileşimli olmadığında mevcut giriş bağlantısı finished olur.
Etkinleştirilmezse cihaz etkileşimli olmadığında mevcut giriş bağlantısı sessizce devre dışı bırakılır ve cihaz tekrar etkileşimli olduğunda bir onFinishInput() ve onStartInput() çifti gönderilir.
|
FORCE_DISABLE_HEVC_SUPPORT
Değişiklik Kimliği: 174227820
Varsayılan Durum: Tüm uygulamalar için devre dışı.
Uygulamaların HEVC medya özelliğini desteklemesini zorunlu olarak devre dışı bırakın.
Uygulamalar, destekledikleri medya özelliklerini manifest dosyalarında beyan etmelidir ancak bu işaret, bir uygulamayı HEVC'yi desteklememeye zorlamak için kullanılabilir. Bu nedenle, HEVC'de kodlanmış medyaya erişirken kod dönüştürme işlemi zorunlu kılınır. Bu işaretin ayarlanması, uygulamalar için işletim sistemi düzeyindeki tüm varsayılan ayarları geçersiz kılar. Varsayılan olarak devre dışıdır. Bu, işletim sistemi varsayılanlarının öncelikli olduğu anlamına gelir. 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ışı.
Uygulamayı HEVC medya özelliğini desteklemeye zorla. Uygulamalar, destekledikleri medya özelliklerini manifestlerinde beyan etmelidir ancak bu işaret, uygulamayı HEVC'yi desteklemeye zorlamak için kullanılabilir. Böylece HEVC'de kodlanmış medyaya erişirken kod dönüştürme işlemi yapılmaz. Bu işaretin ayarlanması, uygulamalar için işletim sistemi düzeyindeki tüm varsayılan ayarları geçersiz kılar. Varsayılan olarak devre dışıdır. Bu durumda işletim sistemi varsayılanları öncelikli olur. 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ışı.
Uygulandığı paketlerin yeniden boyutlandırılamamasını zorunlu kılar.
|
FORCE_RESIZE_APP
Değişiklik Kimliği: 174042936
Varsayılan Durum: Tüm uygulamalar için devre dışı.
Uygulandığı paketlerin yeniden boyutlandırılabilir olmasını zorunlu kılar. Yalnızca tam ekran pencere modunda yeniden boyutlandırmaya izin verilir. Uygulamanın yeniden boyutlandırılabilir çoklu pencere moduna geçmesi zorunlu tutulmaz.
|
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 özelliğine 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 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda, cihazlar arası (D2D) taşıma işlemleri sırasında uygulamalar için android:allowBackup 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 uygulamalarda, android:fullBackupContent kullanılarak belirtilen dahil etme ve hariç tutma kuralları, cihazlar arası (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.
Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda getSupportedLocales(), ayarlanmadığında varsayılan sistem yerel ayarı yerine boş bir yerel ayar listesi döndürür.
|
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 uygulamasında istemci tarafı yerine hizmet tarafında zorunlu kılınır.
|
KEYSTORE_OPERATION_CREATION_MAY_FAIL
Değişiklik kimliği: 169897160
Varsayılan durum: Tüm uygulamalar için devre dışı.
Etkinleştirildiğinde, yeni budama stratejisine göre anahtar deposu işlemi oluşturma başarısız olabilir. Keystore, şifreleme işlemlerinin her zaman başarılı olduğu varsayımıyla çalışırdı.
Ancak KeyMint arka ucunda yalnızca sınırlı sayıda işlem yuvası vardır.
"Sonsuz" işlem yuvası görünümünü korumak için Keystore arka plan programı, kullanılabilir işlem yuvası yoksa en eski işlemleri budar. Sonuç olarak, iyi işlemler erken sonlandırılabilir. Bu durum, AndroidKeystore'u hizmet reddi (DoS) ve istenmeyen canlı kilitlenmeye açık hale getiriyordu. Örneğin, güç yönetimi optimizasyonları nedeniyle birden fazla uygulama aynı anda uyanır ve kripto işlemleri gerçekleştirmeye çalışırsa herhangi bir ilerleme kaydetmeden birbirlerinin işlemlerini sonlandırmaya başlarlar.
Canlı kilitlenmeleri önlemek ve DoS girişimlerini engellemek için budama stratejisini, kısa süreliğine az sayıda işlem yuvası kullanan istemcileri tercih edecek şekilde değiştirdik. Sonuç olarak, 5 saniyeden uzun süre boyunca etkin olmayan tek işlemler neredeyse her zaman budama stratejisi tarafından engellenmeden tamamlanır. Dosya sistemi şifrelemesiyle ilgili olarak bu işlemleri bile budayabilen bazı işlemler vardır ancak bu durumlar son derece nadirdir. Bu yeni budama stratejisi işleminin yan etkisi olarak, istemcinin budama gücü mevcut tüm işlemlerden daha düşükse oluşturma işlemi artık başarısız olabilir.
Budama stratejisi: Uygun bir aday bulmak için
arayan ve mevcut her işlem için malusu hesaplarız. Malus, budama gücünün (arayan) veya budama direncinin (mevcut işlem) tersidir. Arayanın bir işlemi budayabilmesi için kendi malusundan daha yüksek bir malusa sahip bir işlem bulması gerekir. Budama stratejisi hakkında daha fazla bilgi için operation.rs uygulamasını inceleyin.
Android 11 (API düzeyi 30) ve önceki sürümlerde KeyStore2, boş bir işlem yuvası için Keystore arka plan programını sorgular. Android 11 (API düzeyi 30) ve önceki sürümleri hedefleyen uygulamalarda, şifre ve imza nesnesi başlatma işlemi her zaman başarılı olur ancak işlem daha uzun sürebilir. Tüm Android sürümleri, daha adil işlem alanı planlamasından ve bir işlemi başarıyla tamamlama şansından yararlanı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, uygulama android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS iznine de sahip olmadığı sürece Intent.ACTION_CLOSE_SYSTEM_DIALOGS gönderilemez. Bu, uygulamanın Android 12 (API düzeyi 31) veya sonraki sürümleri hedeflemeye başladığında Intent.ACTION_CLOSE_SYSTEM_DIALOGS intent'ini göndermeyi durdurmasını bekleyen daha kısıtlayıcı #DROP_CLOSE_SYSTEM_DIALOGS sürümüdür.
|
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 durumdan yararlanı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, düşük güç olarak işaretlenen tüm LocationRequest nesneleri, arayanın LOCATION_HARDWARE izni yoksa isteğin düşük güç kısmını sessizce bırakmak yerine istisnalar oluşturur.
|
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 intent 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ı makaleyi inceleyin.
|
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 uygulamalarda, AppZygote işlemi 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ışı.
Yerel yığın bellek ayırmalarının otomatik sıfır başlatmasını etkinleştirin.
|
NATIVE_MEMTAG_ASYNC
Değişiklik kimliği: 135772972
Varsayılan durum: Tüm uygulamalar için devre dışı.
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ımları etkiler.
|
NATIVE_MEMTAG_SYNC
Değişiklik Kimliği: 177438394
Varsayılan Durum: Tüm uygulamalar için devre dışı.
Bu işlemde eşzamanlı (SYNC) bellek etiketi kontrolünü etkinleştirir. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımları etkiler. Hem NATIVE_MEMTAG_ASYNC hem de bu seçenek etkinleştirilirse bu seçenek öncelikli olur ve MTE, SYNC modunda etkinleştirilir.
|
NEVER_SANDBOX_DISPLAY_APIS
Değişiklik Kimliği: 184838306
Varsayılan Durum: Tüm uygulamalar için devre dışı.
Etkinleştirildiğinde, Display API korumalı alanının sinemaskop veya SCM etkinliğine uygulanmasını engeller. Display API'leri, DisplayArea sınırlarını sağlamaya devam eder.
Bu değişiklik hakkında daha fazla bilgi edinmek için Android 12 davranış değişiklikleri sayfasındaki
Desteği sonlandırılan görüntüleme yöntemleri 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 olan yeni iptal nedenlerini anlamasına olanak tanır.
|
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ı bildirim trampolini olarak kullanamaz.
Bu değişiklik hakkında daha fazla bilgi edinmek için Bildirim trampolinleri hizmetlerden veya yayın alıcılardan oluşturulamaz başlıklı makaleyi inceleyin.
|
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.
Mevcut işlem için hedef SDK sürümünün Android 12 (API düzeyi 31) veya daha yeni 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ışı.
Bu değişiklik, belirli bir minimum en boy oranını zorunlu kılan tüm değişikliklerin bekçisidir. 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 dosyasında belirtilen minimum en boy oranı, uygulamanın manifest değeri daha yüksek olmadığı sürece etkinleştirilen en büyük en boy oranıyla 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ışı.
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ışı.
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ımlanan orta bir 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 uygulamalarda, uygulamanızın oluşturduğu her PendingIntent nesnesinin değişkenliğini belirtmeniz gerekir. Bu ek şart, uygulamanızın güvenliğini artırır.
Bu değişiklik hakkında daha fazla bilgi edinmek için Beklemede olan intent'ler değiştirilebilirliği beyan etmelidir başlıklı makaleyi 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ılarak elde edilen DevicePolicyManager örneğinde şifre kalitesini ayarlamak için DevicePolicyManager.setPasswordQuality(ComponentName, int) kullanamaz.
Bunun yerine, cihaz genelinde kaba şifre gereksinimleri ayarlamak için DevicePolicyManager.setRequiredPasswordComplexity(int) kullanmaları gerekir.
|
RATE_LIMIT_TOASTS
Değişiklik Kimliği: 174840628
Varsayılan Durum: Bu değişiklik açılıp kapatılamaz. Yalnızca uyumluluk çerçevesi tarafından günlüğe kaydedilir.
Sınırlı bir süre içinde kullanıcıya çok fazla bilgi mesajı gösterilmesini önlemek için Toast.show() çağrılarının sayısına sıklık sınırlaması getirir. Belirli bir zaman aralığında izin verilenden daha fazla bilgi mesajı gösterme girişimi, bilgi 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, setExactAndAllowWhileIdle(int, long, PendingIntent) ve setAlarmClock(AlarmClockInfo, PendingIntent) gibi kesin zamanlı alarmları ayarlamak için API'leri kullanabilmesi amacıyla 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 yöntemini çağırabilmesi 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 yöntemini çağırabilmesi 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 yöntemini çağırabilmesi 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ştirildi.
Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda adb backup, hata ayıklanabilir olarak çalışan uygulamalar (android:debuggable, true olarak ayarlanır) için otomatik olarak etkinleştirilir ve diğer uygulamalar tarafından 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 uygulamalarda, uygulama bağlantıları doğrulama API'sinin güncellenmiş biçimi gerekir. Bu şart, bir uygulamanın aşağıdakilerin tümünü içeren bir intent filtresi içinde alanları beyan etmesi gerektiği anlamına gelir:
android:autoVerify="true"
Intent.ACTION_VIEW
Intent.CATEGORY_BROWSABLE
Intet.CATEGORY_DEFAULT
- Yalnızca
IntentFilter.SCHEME_HTTP ve/veya IntentFilter.SCHEME_HTTPS (başka şema yok)
Android'in önceki sürümlerinde Intent.CATEGORY_BROWSABLE zorunlu değildi, diğer şemalara izin veriliyordu ve herhangi bir intent filtresinde autoVerify değerini true olarak ayarlamak, tüm intent 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 uygulamalarda, noteOp(String, int, String),
noteProxyOp(String, String),
ve startOp(String, int, String)
öğelerine gönderilen tüm attributionTags öğelerinin, 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) yöntemini çağıran pakette hem de yöntemin parametresi olarak belirtilen pakette bu değişikliğin etkinleştirilmesi gerekir.
|
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. Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen bir uygulama için bu değişikliği devre dışı bırakmak herhangi bir işlem yapmaz. Paylaşılan kullanıcı kimliği kullanan uygulamalar üzerinde herhangi bir etkisi yoktur.
|
SETTINGS_API_V2
Değişiklik Kimliği: 178111421
Varsayılan Durum: Tüm uygulamalar için etkin.
AndroidManifest.xml intent filtrelerinde autoVerify=true olarak işaretlenen alanları doğrulamak için kullanılan yeni kullanıcı tercihi API'si, mevcut platform önizlemesinde henüz uygulanmamıştır. Şimdilik bu ChangeId'yi etkinleştirerek ve adb shell pm set-app-links-user-selection ile benzer komutları kullanarak yeni kullanıcı tercihi değişikliklerini önizleyebilirsiniz.
|
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 uygulamalarda, uygulamalar bir ön plan hizmeti başlattığında bekleme grubunu ACTIVE değerine yükseltmeden önce daha kısa bir zaman aşımı süresi kullanılıp kullanılmayacağını belirler.
|