Perubahan framework kompatibilitas (AndroidIAP 14)

Gambar 1. Layar Perubahan Kompatibilitas Aplikasi di opsi developer mencantumkan perubahan yang dapat Anda ubah.

Halaman ini menjelaskan perubahan yang dapat diganti statusnya sebagai bagian dari framework kompatibilitas di Android 14 (level API 34). Gunakan daftar ini bersama dengan opsi developer dan perintah ADB untuk menguji dan men-debug aplikasi saat Anda bersiap untuk mendukung dan menargetkan Android 14.

Beberapa hal yang dapat Anda lakukan menggunakan alat framework kompatibilitas:

  • Menguji perubahan yang ditargetkan tanpa benar-benar mengubah targetSdkVersion aplikasi. Anda dapat menggunakan tombol alih untuk mengaktifkan paksa setiap perubahan perilaku yang ditargetkan, guna mengevaluasi dampaknya terhadap aplikasi yang ada.
  • Memfokuskan pengujian pada perubahan tertentu. Dengan tombol alih ini, Anda dapat menonaktifkan beberapa perubahan yang ditargetkan, sehingga dapat melakukan pengujian sesuai kebutuhan tanpa perlu menangani semua perubahan yang ditargetkan sekaligus.
  • Mengelola tombol alih melalui adb. Anda dapat menggunakan perintah adb untuk mengaktifkan atau menonaktifkan perubahan yang dapat diganti statusnya di lingkungan pengujian otomatis.
  • Men-debug lebih cepat menggunakan ID perubahan standar. Setiap perubahan yang dapat diganti statusnya memiliki ID dan nama unik yang dapat Anda gunakan untuk men-debug root masalah dalam output log dengan cepat.

Untuk mengetahui detail lengkap penggunaan fitur untuk setiap kasus penggunaan tersebut, lihat Alat framework kompatibilitas.

Perubahan perilaku yang disertakan dalam framework kompatibilitas

Daftar di bagian ini menjelaskan perubahan yang dapat diganti statusnya dan disertakan dalam framework kompatibilitas di Android 14.

Anda dapat memfilter daftar perubahan menurut Status Defaultnya.

Perubahan yang dapat dialihkan dalam framework kompatibilitas di Android 14

ACCESS_SHARED_IDENTITY

ID Perubahan: 259743961
Status Default: Diaktifkan untuk semua aplikasi.

Memberikan akses ke identitas aplikasi yang diluncurkan jika aplikasi memilih untuk membagikan identitasnya dengan meluncurkan aktivitas ini dengan instance ActivityOptions tempat ActivityOptions.setShareIdentityEnabled(boolean) dipanggil dengan nilai true, atau jika UID aktivitas yang diluncurkan sama dengan aplikasi yang diluncurkan. Jika perubahan ini diaktifkan dan salah satu persyaratan ini terpenuhi, aktivitas dapat mengakses UID dan nama paket aplikasi yang diluncurkan dengan masing-masing Activity.getLaunchedFromUid() dan Activity.getLaunchedFromPackage().

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

ID Perubahan: 258236856
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Jika diaktifkan, pesan "Aplikasi Tidak Merespons" (ANR) akan terpicu saat aplikasi lambat merespons API dan fungsi dari Android 13 (API level 33) atau yang lebih rendah.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

ID Perubahan: 207133734
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, memungkinkan pemeriksaan akses otoritas untuk UID panggilan pada semua API terkait sinkronisasi.

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID Perubahan: 162547999
Status Default: Dinonaktifkan untuk semua aplikasi.

Menunjukkan bahwa perangkat ini mendukung indikator kamera dan mikrofon. Nilainya adalah false jika ada, karena metode CompatChanges#isChangeEnabled menampilkan true jika ID Perubahan tidak ada.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

ID Perubahan: 244637991
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Saat mengirim PendingIntent menggunakan PendingIntent#send() atau metode serupa, aplikasi kini harus memilih ikut serta jika ingin memberikan hak istimewa peluncuran aktivitas latar belakangnya sendiri untuk memulai intent yang tertunda.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 14 tentang pembatasan tambahan terkait memulai aktivitas dari latar belakang.

DETACH_THROWS_ISE_ONLY

ID Perubahan: 236825255
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Tanda untuk menandai pengecualian yang benar dan ditampilkan oleh #detachImage.

#detachImage didokumentasikan sebagai menampilkan IllegalStateException jika terjadi error; metode helper native untuk hal ini menampilkan RuntimeException jika platform diabaikan saat melepaskan Image.

Perilaku pengecualian yang sebelumnya tidak terdokumentasi ini berlanjut hingga Android 13 (API level 33).

Setelah Android 13 (API level 33), metode helper native hanya menampilkan IllegalStateExceptions sesuai dengan dokumentasi.

Jika perubahan ini diaktifkan, #detachImage hanya akan menampilkan IllegalStateException jika terjadi error saat melepaskan image. Perilaku tetap tidak berubah untuk aplikasi yang menargetkan Android 13 (API level 33) dan versi lebih rendah.

DOWNSCALED

ID Perubahan: 168419799
Status Default: Dinonaktifkan untuk semua aplikasi.

Perubahan ini adalah penyeleksi semua perubahan penurunan skala buffering per aplikasi. Mengaktifkan perubahan ini memungkinkan faktor penskalaan berikut diterapkan:

Jika perubahan ini diaktifkan untuk paket aplikasi, ukuran aplikasi akan diubah secara paksa ke faktor penskalaan tertinggi yang diaktifkan. Misalnya, 80% digunakan jika 80% dan 70% (DOWNSCALE_80 dan DOWNSCALE_70) diaktifkan. Jika perubahan ini dan DOWNSCALED_INVERSE diaktifkan, DOWNSCALED_INVERSE akan diprioritaskan dan faktor penskalaan diterapkan secara terbalik.

DOWNSCALED_INVERSE

ID Perubahan: 273564678
Status Default: Dinonaktifkan untuk semua aplikasi.

Perubahan ini adalah penyeleksi semua perubahan penurunan skala buffering per aplikasi. Mengaktifkan perubahan ini memungkinkan faktor penskalaan berikut diterapkan secara terbalik (yaitu, resolusi ditingkatkan skalanya):

Jika perubahan ini diaktifkan untuk paket aplikasi, ukuran aplikasi akan diubah secara paksa ke faktor penskalaan terendah yang diaktifkan. Misalnya, 80% digunakan jika 80% dan 70% (DOWNSCALE_80 dan DOWNSCALE_70) diaktifkan karena jika diterapkan secara terbalik, faktor penskalaan 80% sama dengan 125%, yang kurang dari penskalaan 142,86% yang diterapkan saat menerapkan faktor penskalaan 70% secara terbalik. Jika perubahan ini dan DOWNSCALED diaktifkan, DOWNSCALED_INVERSE akan diprioritaskan dan faktor penskalaan diterapkan secara terbalik.

DOWNSCALE_30

ID Perubahan: 189970040
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan resolusi vertikal dan horizontal 30% dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan resolusi vertikal dan horizontal 333,33% dari tampilan sebenarnya.

DOWNSCALE_35

ID Perubahan: 189969749
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan resolusi vertikal dan horizontal 35% dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 285,71% resolusi vertikal dan horizontal dari layar sebenarnya.

DOWNSCALE_40

ID Perubahan: 189970038
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan 40% resolusi vertikal dan horizontal dari layar sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 250% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_45

ID Perubahan: 189969782
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan resolusi vertikal dan horizontal 45% dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 222,22% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_50

ID Perubahan: 176926741
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan 50% resolusi vertikal dan horizontal dari layar sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 200% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_55

ID Perubahan: 189970036
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan 55% resolusi vertikal dan horizontal dari layar sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 181,82% resolusi vertikal dan horizontal dari layar sebenarnya.

DOWNSCALE_60

ID Perubahan: 176926771
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan resolusi vertikal dan horizontal 60% dari tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 166,67% resolusi vertikal dan horizontal tampilan sebenarnya.

DOWNSCALE_65

ID Perubahan: 189969744
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 65% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 153,85% resolusi vertikal dan horizontal dari layar sebenarnya.

DOWNSCALE_70

ID Perubahan: 176926829
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 70% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 142,86% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_75

ID Perubahan: 189969779
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan 75% resolusi vertikal dan horizontal dari layar sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 133,33% resolusi vertikal dan horizontal dari tampilan sebenarnya.

DOWNSCALE_80

ID Perubahan: 176926753
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 80% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan resolusi vertikal dan horizontal 125% dari tampilan sebenarnya.

DOWNSCALE_85

ID Perubahan: 189969734
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 85% resolusi vertikal dan horizontal tampilan sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 117,65% resolusi vertikal dan horizontal dari layar sebenarnya.

DOWNSCALE_90

ID Perubahan: 182811243
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika DOWNSCALED juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggap aplikasi berjalan pada layar dengan 90% resolusi vertikal dan horizontal dari layar sebenarnya. Jika DOWNSCALED_INVERSE juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan memaksa aplikasi menganggapnya berjalan pada layar dengan 111,11% resolusi vertikal dan horizontal dari tampilan sebenarnya.

ENABLE_PLATFORM_MDNS_BACKEND

ID Perubahan: 270306772
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Aplikasi yang menargetkan Android 14 atau yang lebih tinggi menggunakan implementasi mDNS yang terintegrasi platform sebagai backend, sementara aplikasi yang menargetkan versi sebelumnya akan terus menggunakan backend Penemuan layanan jaringan lama (NSD) (dengan daemon native lama sebagai backend NsdManager).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

ID Perubahan: 266524688
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Pemeriksaan kemampuan penilaian mandiri diaktifkan untuk aplikasi yang menargetkan Android 14 atau yang lebih tinggi. Lihat NetworkCapabilities untuk detail selengkapnya.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

ID Perubahan: 154726397
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, mengharuskan aplikasi mendeklarasikan kebutuhan visibilitas paket dalam manifes untuk mengakses AccountManager API.

ENFORCE_READ_ONLY_JAVA_DCL

ID Perubahan: 218865702
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, mengharuskan semua file yang dimuat secara dinamis ditandai sebagai hanya baca. Tindakan ini mencegah file yang dimuat secara dinamis agar tidak ditimpa secara tidak terduga oleh pelaku kejahatan.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 14 tentang pemuatan kode dinamis yang lebih aman.

ENFORCE_STRICT_QUERY_BUILDER

ID Perubahan: 143231523
Status Default: Dinonaktifkan untuk semua aplikasi.

Saat dinonaktifkan, SQLiteQueryBuilder akan memverifikasi semua pilihan kueri CalendarProvider2 terhadap argumen berbahaya.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

ID Perubahan: 265195908
Status Default: Diaktifkan untuk semua aplikasi.

Alarm yang tepat yang mengharapkan callback AlarmManager.OnAlarmListener dihapus saat aplikasi panggilan masuk ke status cache.

Untuk mempelajari lebih lanjut perubahan pada alarm yang tepat di Android 14, lihat Menjadwalkan alarm yang tepat ditolak secara default.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

ID Perubahan: 261055255
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Jika diaktifkan, aplikasi instan harus menentukan jenis layanan latar depan yang sesuai untuk setiap layanan yang dideklarasikan dalam file manifes aplikasi.

Untuk mempelajari perubahan ini lebih lanjut, lihat halaman yang menjelaskan perubahan pada jenis layanan latar depan.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

ID Perubahan: 255042465
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Jika diaktifkan, aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi yang memulai layanan latar depan menggunakan jenis FOREGROUND_SERVICE_TYPE_NONE yang tidak digunakan lagi akan menghasilkan peringatan dalam log.

Untuk mempelajari perubahan ini lebih lanjut, lihat halaman yang menjelaskan perubahan pada jenis layanan latar depan.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

ID Perubahan: 255038118
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Jika diaktifkan, aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi yang memulai layanan latar depan menggunakan jenis FOREGROUND_SERVICE_TYPE_NONE yang tidak digunakan lagi akan menghasilkan pengecualian.

Untuk mempelajari perubahan ini lebih lanjut, lihat halaman yang menjelaskan perubahan pada jenis layanan latar depan.

FGS_TYPE_PERMISSION_CHANGE_ID

ID Perubahan: 254662522
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Jika diaktifkan, aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi yang memulai layanan latar depan tanpa izin yang diperlukan terkait jenis layanan latar depan tersebut akan menghasilkan SecurityException.

Untuk mempelajari perubahan ini lebih lanjut, lihat halaman yang menjelaskan perubahan pada jenis layanan latar depan.

FORCE_DISABLE_HEVC_SUPPORT

ID Perubahan: 174227820
Status Default: Dinonaktifkan untuk semua aplikasi.

Menonaktifkan aplikasi secara paksa agar tidak mendukung kemampuan media HEVC. Aplikasi harus mendeklarasikan kemampuan media yang didukung dalam manifesnya, tetapi tanda ini dapat digunakan untuk memaksa aplikasi agar tidak mendukung HEVC, sehingga memaksa transcoding saat mengakses media yang dienkode di HEVC. Menyetel tanda ini akan mengganti setiap setelan default aplikasi tingkat OS. Fitur ini dinonaktifkan secara default, yang berarti setelan default OS lebih diutamakan. Jika tanda ini dan FORCE_ENABLE_HEVC_SUPPORT diaktifkan, OS akan mengabaikan kedua tanda.

FORCE_ENABLE_HEVC_SUPPORT

ID Perubahan: 174228127
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan aplikasi secara paksa untuk mendukung kemampuan media HEVC Aplikasi harus mendeklarasikan kemampuan media yang didukung dalam manifesnya tetapi tanda ini dapat digunakan untuk memaksa aplikasi agar mendukung HEVC sehingga menghindari transcoding saat mengakses media yang dienkode di HEVC. Menetapkan tanda ini akan mengganti setiap setelan default aplikasi tingkat OS. Fitur ini dinonaktifkan secara default, yang berarti setelan default OS akan lebih diutamakan. Jika tanda ini dan FORCE_DISABLE_HEVC_SUPPORT diaktifkan, OS akan mengabaikan kedua tanda.

FORCE_NON_RESIZE_APP

ID Perubahan: 181146395
Status Default: Dinonaktifkan untuk semua aplikasi.

Memaksa paket yang diterapkan agar ukurannya tidak dapat diubah.

FORCE_RESIZE_APP

ID Perubahan: 174042936
Status Default: Dinonaktifkan untuk semua aplikasi.

Memaksa paket yang diterapkan agar ukurannya dapat diubah. Kami hanya mengizinkan pengubahan ukuran dalam mode jendela layar penuh, tetapi tidak memaksa aplikasi berubah menjadi mode multi-aplikasi yang dapat diubah ukurannya.

GWP_ASAN

ID Perubahan: 145634846
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan deteksi bug memori native yang diambil sampelnya dalam aplikasi.

Untuk mempelajari lebih lanjut cara menggunakan GWP-ASan, lihat panduan GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

ID Perubahan: 229362273
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, komponen harus diekspor agar dapat memanggilnya melalui intent implisit. Jika komponen tidak diekspor dan dipanggil, komponen tersebut akan dihapus dari daftar penerima. Ini berlaku khususnya untuk aktivitas dan siaran.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian halaman perubahan perilaku Android 14 tentang pembatasan terhadap intent implisit dan tertunda.

ID Perubahan: 266201607
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, aplikasi harus meminta pengguna untuk memberikan izin sebelum setiap sesi pengambilan MediaProjection.

Untuk mempelajari perubahan ini lebih lanjut, lihat bagian di halaman perubahan perilaku Android 14 tentang cara izin pengguna diperlukan untuk setiap sesi pengambilan MediaProjection.

NATIVE_HEAP_ZERO_INIT

ID Perubahan: 178038272
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan zero-inisialisasi otomatis untuk alokasi memori heap native.

NATIVE_MEMTAG_ASYNC

ID Perubahan: 145772972
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan pemeriksaan tag memori asinkron (ASYNC) dalam proses ini. Tanda ini hanya memengaruhi hardware yang mendukung Ekstensi Pemberian Tag Memori ARM (MTE).

NATIVE_MEMTAG_SYNC

ID Perubahan: 177438394
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan pemeriksaan tag memori sinkron (SINKRONISASI) dalam proses ini. Tanda ini hanya memengaruhi hardware yang mendukung Ekstensi Pemberian Tag Memori (MTE) ARM. Jika NATIVE_MEMTAG_ASYNC dan opsi ini diaktifkan, opsi ini akan diutamakan dan MTE akan diaktifkan dalam mode SINKRONISASI.

OVERRIDE_ANY_ORIENTATION

ID Perubahan: 265464455
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini memungkinkan penggantian orientasi berikut diterapkan, terlepas dari orientasi yang diminta oleh aktivitas:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID Perubahan: 191514214
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini akan memaketkan paket yang diterapkan untuk mengabaikan nilai saat ini android:resizeableActivity serta SDK target yang sama dengan atau di bawah M dan menganggap aktivitas sebagai tidak dapat diubah ukurannya. Dalam hal ini, nilai putar dan pangkas kamera hanya bergantung pada kompensasi yang diperlukan, mengingat rotasi tampilan saat ini.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID Perubahan: 189229956
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini akan memaksa paket yang diterapkan untuk mengganti perilaku rotasi dan pemangkasan kamera default serta selalu menampilkan CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID Perubahan: 266124927
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan SCREEN_ORIENTATION_REVERSE_LANDSCAPE untuk aplikasi yang diterapkan. Kecuali OVERRIDE_ANY_ORIENTATION juga diaktifkan, SCREEN_ORIENTATION_REVERSE_LANDSCAPE hanya digunakan saat aktivitas menentukan orientasi lanskap. Mengaktifkan perubahan ini dapat membantu Anda menguji perilaku aplikasi untuk mengetahui perbedaan antara perangkat yang orientasi lanskapnya sesuai dengan Surface.ROTATION_90 dan perangkat yang sesuai dengan Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

ID Perubahan: 174042980
Status Default: Dinonaktifkan untuk semua aplikasi.

Perubahan ini adalah penyeleksi semua perubahan yang memaksa rasio lebar tinggi minimum tertentu. Mengaktifkan perubahan ini memungkinkan rasio lebar tinggi minimum berikut diterapkan:

Jika perubahan ini diaktifkan untuk paket aplikasi, rasio aspek minimum yang diberikan dalam manifes aplikasi akan diganti ke rasio aspek terbesar yang diaktifkan kecuali nilai manifes aplikasi lebih tinggi.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID Perubahan: 218959984
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, setelan ini akan menggantikan batasan rasio aspek minimum di layar penuh potret untuk menggunakan semua ruang layar yang tersedia.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID Perubahan: 180326787
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika OVERRIDE_MIN_ASPECT_RATIO juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan menetapkan rasio aspek minimum aktivitas ke nilai besar seperti yang ditetapkan oleh OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID Perubahan: 180326845
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika OVERRIDE_MIN_ASPECT_RATIO juga diaktifkan, mengaktifkan perubahan ini untuk sebuah paket akan menetapkan rasio aspek minimum aktivitas ke nilai sedang seperti yang ditetapkan oleh OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID Perubahan: 203647190
Status Default: Diaktifkan untuk semua aplikasi.

Jika OVERRIDE_MIN_ASPECT_RATIO juga diaktifkan, perubahan ini akan membatasi perubahan lain yang memaksa rasio aspek minimum aktivitas ke nilai tertentu—seperti OVERRIDE_MIN_ASPECT_RATIO_LARGE dan OVERRIDE_MIN_ASPECT_RATIO_MEDIUM—ke aktivitas yang juga memiliki orientasi potret.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID Perubahan: 236283604
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, perubahan ini akan mengecualikan paket yang diterapkan ke dari pembatasan abaikan orientasi yang dapat ditetapkan oleh produsen perangkat.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID Perubahan: 265451093
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan SCREEN_ORIENTATION_NOSENSOR untuk aplikasi yang diterapkan. Kecuali OVERRIDE_ANY_ORIENTATION juga diaktifkan, SCREEN_ORIENTATION_NOSENSOR hanya digunakan jika aktivitas tidak menentukan orientasi tetap lainnya.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID Perubahan: 265452344
Status Default: Dinonaktifkan untuk semua aplikasi.

Mengaktifkan SCREEN_ORIENTATION_PORTRAIT untuk aplikasi yang diterapkan. Kecuali OVERRIDE_ANY_ORIENTATION juga diaktifkan, SCREEN_ORIENTATION_PORTRAIT hanya digunakan jika aktivitas tidak menentukan orientasi tetap lainnya.

RATE_LIMIT_TOASTS

ID Perubahan: 174840628
Status Default: Perubahan ini tidak dapat dialihkan. Perubahan hanya dicatat ke dalam log oleh framework kompatibilitas.

Mengaktifkan pembatasan kapasitas jumlah panggilan Toast.show() untuk mencegah beban berlebih pada pengguna yang memiliki jumlah toast yang terlalu banyak dalam waktu terbatas. Setiap upaya untuk menampilkan jumlah toast yang terlalu banyak dari jumlah yang diizinkan dalam jangka waktu tertentu akan mengakibatkan toast dihapus.

REJECT_NEGATIVE_NETWORK_ESTIMATES

ID Perubahan: 253665015
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Jika diaktifkan, estimasi byte jaringan tidak boleh negatif.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

ID Perubahan: 241104082
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, mengharuskan tugas hosting untuk menentukan batasan jaringan jika JobWorkItem yang disertakan menunjukkan penggunaan jaringan.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

ID Perubahan: 271850009
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, mengharuskan aplikasi untuk menentukan izin INTERNET dan ACCESS_NETWORK_STATE saat menjadwalkan tugas dengan batasan konektivitas.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

ID Perubahan: 255371817
Status Default: Diaktifkan untuk aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih tinggi.

Untuk aplikasi yang menargetkan Android 14 (API level 34) dan yang lebih tinggi, sistem akan menampilkan pengecualian jika aplikasi tidak menerapkan semua API transfer data yang diperlukan dengan benar saat menentukan tugas transfer data yang dimulai oleh pengguna.

Untuk mempelajari perubahan ini lebih lanjut, lihat halaman yang menjelaskan cara memigrasikan layanan latar depan ke tugas transfer data yang dimulai pengguna.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID Perubahan: 196254758
Status Default: Dinonaktifkan untuk semua aplikasi.

Jika diaktifkan, sistem akan memungkinkan paket "android" menggunakan alias komponen.