| Identyfikator zmiany: 185004937ALWAYS_SANDBOX_DISPLAY_APIS
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Po włączeniu stosuje piaskownicę interfejsu Display API do pakietu niezależnie od trybu okienkowego. Interfejsy Display API zawsze będą podawać granice aplikacji. Więcej informacji o tej zmianie znajdziesz w sekcji na stronie dotyczącej zmian w zachowaniu Androida 12, która opisuje 
           wycofane metody wyświetlania. | 
      
        | Identyfikator zmiany: 163400105AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 32) lub nowszego.
 
 Od Androida 12 platforma może udostępniać sugestie inne niż tekstowe (np. obrazy) za pomocą rozszerzonego autouzupełniania (patrz usługi autouzupełniania). Aby aplikacja mogła obsługiwać te sugestie, musi zwykle implementować interfejs API OnReceiveContentListener. Aby ułatwić wdrożenie tego interfejsu API w aplikacjach, które wcześniej implementowały interfejs API
             InputConnection.commitContent(InputContentInfo, int, Bundle), używamy tego interfejsu API jako rezerwy, jeśli aplikacja nie implementuje jeszcze interfejsuOnReceiveContentListener. Ta rezerwa jest włączona tylko na Androidzie 12 (poziom interfejsu API 31). Ten identyfikator zmiany wyłącza rezerwę, co oznacza, że aplikacje kierowane na Androida 12 (API na poziomie 32) i nowsze wersje muszą wdrożyć interfejsOnReceiveContentListenerAPI, aby akceptować sugestie inne niż tekstowe. | 
      
        | Identyfikator zmiany: 157929241BLOCK_FLAG_SLIPPERY
Stan domyślny:  włączony dla wszystkich aplikacji.
 
 W przypadku aplikacji działających na Androidzie 12 (poziom interfejsu API 31) sprawdza, czy
             FLAG_SLIPPERYjest używane w jakichkolwiek oknach aplikacji. Oczekujemy, że ta flaga będzie prawdopodobnie używana tylko przez komponenty systemu, ponieważ jest to nieobsługiwane pole. Jeśli tak, zostanie on objęty ograniczeniami. | 
      
        | Identyfikator zmiany: 144027538BLOCK_GPS_STATUS_USAGE
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wszystkie wywołania interfejsu GpsStatusAPI muszą zostać zastąpione wywołaniami interfejsuGnssStatusAPI. | 
      
        | Identyfikator zmiany: 171317480BLOCK_IMMUTABLE_PENDING_INTENTS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego niezmienne obiekty PendingIntent, które są przekazywane do interfejsów API lokalizacji, będą generowaćIllegalArgumentException.. | 
      
        | Identyfikator zmiany: 169887240BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze LocationRequestinterfejsów API systemu nie można używać zPendingIntentżądaniami lokalizacji. | 
      
        | Identyfikator zmiany: 158002302BLOCK_UNTRUSTED_TOUCHES
Stan domyślny:  włączony w przypadku wszystkich aplikacji.
 
 Aby zachować bezpieczeństwo systemu i zapewnić użytkownikom komfort, Android 12 uniemożliwia aplikacjom korzystanie z zdarzeń dotykowych, gdy nakładka blokuje aplikację w niebezpieczny sposób. Więcej informacji o tej zmianie znajdziesz w artykule Zablokowane niezaufane zdarzenia dotyku. | 
      
        | Identyfikator zmiany: 78294732CALL_ACTIVITY_RESULT_BEFORE_RESUME
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 32) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 32) lub nowszego poprawia cykl życia wyniku działania, aby zagwarantować, że działanie otrzyma wynik działania tuż przed wznowieniem. | 
      
        | Identyfikator zmiany: 162547999CAMERA_MIC_INDICATORS_NOT_PRESENT
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Wskazuje, że to urządzenie obsługuje wskaźniki kamery i mikrofonu. Wartość falsebędzie obecna, ponieważ metodaCompatChanges#isChangeEnabledzwracatrue, jeśli identyfikator zmiany nie jest obecny. | 
      
        | Identyfikator zmiany: 146211400CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 32) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 32) i nowsze wersje menedżer pakietów nie zainstaluje pakietu, jeśli zawiera on nieprawidłowe grupy uprawnień.
             Grupy uprawnień powinny być udostępniane tylko między aplikacjami, które mają wspólny certyfikat. Jeśli uprawnienie należy do grupy, musi być ona również zdefiniowana. | 
      
        | Identyfikator zmiany: 181350407CHANGE_ID_AUTH_STATE_DENIED
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom 31 interfejsu API) lub nowszego.
 
 W przypadku aplikacji klienckich kierowanych na Androida 12 (poziom API 31) i nowsze, gdy są one w stanie odmowy autoryzacji i próbują wysłać wiadomość do nanoaplikacji, zgłaszany jest wyjątek SecurityException. | 
      
        | Identyfikator zmiany: 136069189CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego, które nie mają uprawnień, działają w trybie debugowania i żądają częstotliwości próbkowania wyższych niż 200 Hz, zgłaszany jest wyjątek SecurityException.HIGH_SAMPLING_RATE_SENSORS | 
      
        | Identyfikator zmiany: 73144566DELIVER_HISTORICAL_LOCATIONS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) i nowsze w określonych okolicznościach klienci lokalizacji mogą otrzymywać historyczne dane o lokalizacji (sprzed obecnego czasu). | 
      
        | Identyfikator zmiany: 181658987DISPLAY_INFO_NR_ADVANCED_SUPPORTED
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje zapewnia zgodność wsteczną ze zmianami w TelephonyDisplayInfo. | 
      
        | Identyfikator zmiany: 170503758DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego platforma może obniżyć liczbę klatek na sekundę do dzielnika częstotliwości odświeżania, jeśli jest to bardziej korzystne (np. jeśli aplikacja wywołała Surface.setFrameRate(float, int)). Aplikacje będą otrzymywać wywołania zwrotneChoreographer.postFrameCallback(Choreographer.FrameCallback)i odczuwać wzrost ciśnienia wstecznego przy obniżonej liczbie klatek na sekundę. Aplikacje używająDisplay.getRefreshRate()iDisplay.Mode.getRefreshRate(), aby określić częstotliwość odświeżania wyświetlacza.Display.getRefreshRate()zawsze zwraca liczbę klatek na sekundę aplikacji, a nie fizyczną częstotliwość odświeżania wyświetlacza, aby umożliwić aplikacjom prawidłowe dopasowywanie liczby klatek.Display.Mode.getRefreshRate()zwróci liczbę klatek na sekundę aplikacji, jeśli zostanie skompilowana w poprzedniej wersji, a od Androida 12 (API na poziomie 31) będzie zwracać częstotliwość odświeżania wyświetlacza. | 
      
        | Identyfikator zmiany: 168419799DOWNSCALED
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Ta zmiana jest punktem kontrolnym wszystkich zmian dotyczących zmniejszania bufora w poszczególnych aplikacjach. Włączenie tej zmiany umożliwia zastosowanie tych współczynników skalowania: Gdy ta zmiana jest włączona w przypadku pakietu aplikacji, jej rozmiar jest wymuszany do najwyższego włączonego współczynnika skalowania. Na przykład jeśli włączone są zarówno 80%, jak i 70% (DOWNSCALE_80iDOWNSCALE_70), używana jest wartość 80%. | 
      
        | Identyfikator zmiany: 189970040DOWNSCALE_30
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 30% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189969749DOWNSCALE_35
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 35% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189970038DOWNSCALE_40
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli DOWNSCALEDjest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 40% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189969782DOWNSCALE_45
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 45% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 176926741DOWNSCALE_50
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 50% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189970036DOWNSCALE_55
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 55% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 176926771DOWNSCALE_60
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 60% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189969744DOWNSCALE_65
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 65% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 176926829DOWNSCALE_70
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli funkcja DOWNSCALEDjest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 70% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189969779DOWNSCALE_75
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 75% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 176926753DOWNSCALE_80
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 80% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 189969734DOWNSCALE_85
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 85% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 182811243DOWNSCALE_90
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli opcja DOWNSCALEDjest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 90% rozdzielczości rzeczywistego wyświetlacza. | 
      
        | Identyfikator zmiany: 157629738DO_NOT_DOWNSCALE_TO_1080P_ON_TV
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Aplikacje na Androida TV kierowane na Androida 12 (API na poziomie 31) i nowsze powinny obsługiwać dowolny rozmiar okna, w tym rozmiary większe niż 1080p.
             Aplikacje przeznaczone na starsze wersje Androida nie oczekują okien o rozdzielczości większej niż 1080p, więc w razie potrzeby są one skalowane w dół do 1080p. | 
      
        | Identyfikator zmiany: 174664120DROP_CLOSE_SYSTEM_DIALOGS
Stan domyślny:  włączony w przypadku wszystkich aplikacji.
 
 Aby zwiększyć kontrolę użytkowników podczas interakcji z aplikacjami i systemem, działanie intencji ACTION_CLOSE_SYSTEM_DIALOGSzostało wycofane w Androidzie 12. Więcej informacji o tej zmianie znajdziesz w artykule Aplikacje nie mogą zamykać okien systemowych. | 
      
        | Identyfikator zmiany: 172100307ENABLE_CHECKS_FOR_PRIVATE_FILES
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom 31 interfejsu API) lub nowszego.
 
 Aplikacje kierowane na Androida 12 (API na poziomie 31) i nowsze nie mogą wstawiać ani aktualizować plików prywatnych za pomocą dostawcy multimediów. | 
      
        | Identyfikator zmiany: 180326732ENABLE_DEFERRED_SCAN
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Włącz tę opcję, aby odłożyć skanowanie wywoływane w ramach MediaProvider#update(). | 
      
        | Identyfikator zmiany: 157233955ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze włącza ochronę READ_PHONE_STATEw interfejsach API, które wysyłają zapytania o stan połączenia i powiadamiają o nim, np.TelecomManager#getCallState,TelephonyManager.getCallStateForSubscription()iTelephonyCallback.CallStateListener. | 
      
        | Identyfikator zmiany: 183407956ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego włącza ochronę READ_PHONE_NUMBERSlubREAD_PRIVILEGED_PHONE_STATEw przypadkugetPhoneAccount(PhoneAccountHandle). | 
      
        | Identyfikator zmiany: 182734110ENABLE_INCLUDE_ALL_VOLUMES
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Włącz tę opcję, aby uwzględnić w MediaProvider#querywiersze bazy danych plików z ostatnio odmontowanego woluminu. | 
      
        | Identyfikator zmiany: 178209446ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Włącz tę opcję, aby zezwolić aplikacjom z uprawnieniem Manifest.permission.MANAGE_EXTERNAL_STORAGEna żądanie nieprzetworzonego dostępu do pamięci zewnętrznej. | 
      
        | Identyfikator zmiany: 185199076ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom 31 interfejsu API) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego wszystkie niedokładne alarmy muszą mieć minimalny okres, który powinien wynosić kilka minut. Praktycznie wszystkie alarmy wymagające mniejszych okien są takie same jak alarmy precyzyjne i powinny korzystać z odpowiednich interfejsów API, takich jak setExact(int, long, PendingIntent). W przypadku nieprecyzyjnych alarmów z określonymi krótszymi przedziałami czasu system wydłuży te przedziały. | 
      
        | Identyfikator zmiany: 142191088ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego.
 
 Aplikacje kierowane na Androida 12 (poziom API 31) i nowsze muszą deklarować zależności od publicznych natywnych bibliotek współdzielonych, które są zdefiniowane przez producenta urządzenia za pomocą tagu uses-native-libraryw plikuAndroidManifest.xml. Jeśli nie można spełnić żadnego z wymagań wstępnych, np. jedno z nich nie istnieje, menedżer pakietów nie zainstaluje aplikacji. Wymaganie wstępne można określić jako opcjonalne za pomocą atrybutuandroid:requiredw tagu. W takim przypadku niespełnienie wymagania wstępnego nie spowoduje przerwania instalacji. Po zainstalowaniu aplikacja ma dostęp tylko do natywnych bibliotek udostępnionych określonych w jej pliku manifestu. Wywołanie dlopenw przypadku natywnej biblioteki współdzielonej, która nie występuje w pliku manifestu aplikacji, zakończy się niepowodzeniem, nawet jeśli w rzeczywistości znajduje się na urządzeniu. | 
      
        | Identyfikator zmiany: 143231523ENFORCE_STRICT_QUERY_BUILDER
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Gdy ta opcja jest włączona, SQLiteQueryBuilderweryfikuje wszystkie wybory zapytańCalendarProvider2pod kątem złośliwych argumentów. | 
      
        | Identyfikator zmiany: 170668199FGS_BG_START_RESTRICTION_CHANGE_ID
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje ogranicza możliwość uruchamiania usług działających na pierwszym planie podczas działania aplikacji w tle. | 
      
        | Identyfikator zmiany: 174041399FGS_START_EXCEPTION_CHANGE_ID
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) i nowsze wersje umożliwia systemowi zgłaszanie wyjątku IllegalStateException, jeśli aplikacja próbuje uruchomić usługę działającą na pierwszym planie podczas działania w tle. | 
      
        | Identyfikator zmiany: 156215187 Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego należy zakończyć InputConnection, gdy urządzenie stanie sięnon-interactive. Jeśli bieżący input methodjest włączony, bieżące połączenie wejściowe będziefinished, gdy urządzenie stanie się nieinteraktywne. Jeśli ta opcja nie jest włączona, bieżące połączenie wejściowe zostanie po cichu dezaktywowane, gdy urządzenie stanie się nieinteraktywne, a para onFinishInput()ionStartInput()zostanie wysłana, gdy urządzenie znów stanie się interaktywne. | 
      
        | Identyfikator zmiany: 174227820FORCE_DISABLE_HEVC_SUPPORT
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Wymuś wyłączenie obsługi HEVC w aplikacji.
           Aplikacje powinny deklarować obsługiwane funkcje multimedialne w pliku manifestu, ale ta flaga może wymusić, aby aplikacja nie obsługiwała HEVC, a tym samym wymusić transkodowanie podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tego flagi zastępuje wszystkie domyślne ustawienia systemu operacyjnego w przypadku aplikacji. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli włączone są zarówno ta flaga, jak i FORCE_ENABLE_HEVC_SUPPORT, system operacyjny ignoruje obie flagi. | 
      
        | Identyfikator zmiany: 174228127FORCE_ENABLE_HEVC_SUPPORT
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Wymuszanie włączenia obsługi formatu HEVC w aplikacji. Aplikacje powinny deklarować obsługiwane funkcje multimedialne w pliku manifestu, ale ta flaga może służyć do wymuszania obsługi formatu HEVC w aplikacji, a tym samym do unikania transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w tym formacie. Ustawienie tego flagi zastępuje wszelkie domyślne ustawienia aplikacji na poziomie systemu operacyjnego. Jest ona domyślnie wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli ta flaga i flaga FORCE_DISABLE_HEVC_SUPPORTsą włączone, system operacyjny ignoruje obie flagi. | 
      
        | Identyfikator zmiany: 181136395FORCE_NON_RESIZE_APP
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Wymusza, aby pakiety, do których jest stosowany, nie miały możliwości zmiany rozmiaru. | 
      
        | Identyfikator zmiany: 174042936FORCE_RESIZE_APP
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Wymusza zmianę rozmiaru pakietów, do których jest stosowany. Zezwalamy na zmianę rozmiaru tylko w trybie pełnoekranowym, ale nie na wymuszanie trybu wielu okien z możliwością zmiany rozmiaru. | 
      
        | Identyfikator zmiany: 171979766HIDE_PROP_ICUBINARY_DATA_PATH
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje usuwa dostęp do właściwości android.icu.impl.ICUBinary.dataPath. | 
      
        | Identyfikator zmiany: 183147249IGNORE_ALLOW_BACKUP_IN_D2D
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego element android:allowBackupjest ignorowany podczas migracji aplikacji z urządzenia na urządzenie. | 
      
        | Identyfikator zmiany: 180523564IGNORE_FULL_BACKUP_CONTENT_IN_D2D
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) i nowsze wersje reguły uwzględniania i wykluczania określone za pomocą android:fullBackupContentsą ignorowane podczas przesyłania danych między urządzeniami (D2D). | 
      
        | Identyfikator zmiany: 169273070IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje funkcja getSupportedLocales()zwraca teraz pustą listę ustawień regionalnych, gdy nie jest ona ustawiona, zamiast domyślnych ustawień regionalnych systemu. | 
      
        | Identyfikator zmiany: 158482162IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje uprawnienia BACKUPpotrzebne doisBackupServiceActive()są egzekwowane po stronie usługi, a nie po stronie klienta wBackupManager. | 
      
        | Identyfikator zmiany: 169897160KEYSTORE_OPERATION_CREATION_MAY_FAIL
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Gdy ta opcja jest włączona, tworzenie operacji w magazynie kluczy może się nie powieść zgodnie z nową strategią przycinania. Keystore działał w założeniu, że tworzenie operacji kryptograficznych zawsze się udaje.
           Backend KeyMint ma jednak tylko ograniczoną liczbę miejsc na operacje. Aby zachować pozory „nieskończonej” liczby miejsc na operacje, demon Keystore usuwał najrzadziej używane operacje, jeśli nie było dostępnego miejsca. W efekcie dobre operacje mogą zostać przedwcześnie zakończone. Spowodowało to, że AndroidKeystore stał się podatny na ataki typu odmowa usługi (DoS) i niezamierzone zakleszczenie. Jeśli na przykład kilka aplikacji zostanie uruchomionych w tym samym czasie z powodu optymalizacji zarządzania energią i spróbuje wykonać operacje kryptograficzne, zaczną przerywać sobie nawzajem te operacje, nie osiągając żadnych postępów. Aby zapobiegać zakleszczeniom i zniechęcać do prób ataków typu DoS, zmieniliśmy strategię przycinania w taki sposób, aby preferowała klientów, którzy krótko korzystają z niewielkiej liczby miejsc na operacje. Dzięki temu pojedyncze operacje, które nie pozostają nieaktywne dłużej niż 5 sekund, prawie zawsze zakończą się bez przeszkód wynikających ze strategii przycinania. Istnieją jeszcze pewne operacje związane z szyfrowaniem systemu plików, które mogą wykluczyć nawet te operacje, ale zdarzają się one niezwykle rzadko. Skutkiem ubocznym tej nowej strategii przycinania jest to, że tworzenie może się teraz nie powieść, jeśli klient ma mniejszą moc przycinania niż wszystkie istniejące operacje. Strategia przycinania: aby znaleźć odpowiedniego kandydata, obliczamy karę dla wywołującego i każdej istniejącej operacji. Wartość malus jest odwrotnością siły przycinania (wywołującego) lub odporności na przycinanie (istniejącej operacji). Aby wywołujący mógł usunąć operację, musi znaleźć operację z większym ujemnym współczynnikiem niż jego własny. Więcej informacji o strategii przycinania znajdziesz w sekcji dotyczącej implementacji operation.rs.
          Na Androidzie 11 (poziom interfejsu API 30) i starszym KeyStore2 będzie odpytywać demona Keystore o wolne miejsce na operację. W przypadku aplikacji kierowanych na Androida 11 (API na poziomie 30) lub starszego inicjowanie szyfru i obiektu podpisu nadal będzie wyglądać na udane, ale uzyskanie operacji może zająć więcej czasu. Wszystkie wersje Androida korzystają z bardziej sprawiedliwego harmonogramu przydzielania czasu na operacje i mają większą szansę na ich pomyślne zakończenie. | 
      
        | Identyfikator zmiany: 174664365LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje nie można wysyłać Intent.ACTION_CLOSE_SYSTEM_DIALOGS, chyba że aplikacja ma też uprawnieniaandroid.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS. Pamiętaj, że jest to bardziej restrykcyjna wersja#DROP_CLOSE_SYSTEM_DIALOGS, która wymaga, aby aplikacja przestała wysyłać intencjęIntent.ACTION_CLOSE_SYSTEM_DIALOGS, gdy zacznie być kierowana na Androida 12 (API na poziomie 31) lub nowszego. | 
      
        | Identyfikator zmiany: 173031413LOCK_DOWN_COLLAPSE_STATUS_BAR
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wersje ze względów bezpieczeństwa wymagane jest uprawnienie Manifest.permission.STATUS_BAR, aby zwinąć panele paska stanu. Złośliwe oprogramowanie wykorzystywało to do uniemożliwiania użytkownikowi dostępu do ważnych powiadomień. | 
      
        | Identyfikator zmiany: 168936375LOW_POWER_EXCEPTIONS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) i nowszych wszystkie obiekty LocationRequestoznaczone jako wymagające małej mocy zgłaszają wyjątki, jeśli wywołujący nie ma uprawnieniaLOCATION_HARDWARE, zamiast cicho pomijać część żądania związaną z małą mocą. | 
      
        | Identyfikator zmiany: 150232615MISSING_EXPORTED_FLAG
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego należy podać wyraźną wartość atrybutu android:exportedza każdym razem, gdy zdefiniowany jest filtr intencji. Więcej informacji o tej zmianie znajdziesz w artykule Bezpieczniejsze eksportowanie komponentów. | 
      
        | Identyfikator zmiany: 207557677NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 32) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 32) i nowsze wersje przydziały pamięci sterty natywnej w AppZygoteprocesie i jego elementach podrzędnych
             używają niezerowego tagu w najbardziej znaczącym bajcie. Więcej informacji o tej zmianie znajdziesz w sekcji Wskaźniki otagowane. | 
      
        | Change ID: 178038272NATIVE_HEAP_ZERO_INIT
Default State: Disabled for all apps.
 
 Włącz automatyczne zerowanie pamięci sterty natywnej. | 
      
        | Identyfikator zmiany: 135772972NATIVE_MEMTAG_ASYNC
Stan domyślny:  wyłączony w przypadku wszystkich aplikacji.
 
 Włącz sprawdzanie tagów pamięci asynchronicznej (ASYNC) w tym procesie. Ta flaga ma wpływ tylko na sprzęt obsługujący rozszerzenie ARM Memory Tagging Extension (MTE). | 
      
        | Identyfikator zmiany: 177438394NATIVE_MEMTAG_SYNC
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Umożliwia synchroniczne sprawdzanie tagów pamięci (SYNC) w tym procesie. Ta flaga ma wpływ tylko na sprzęt obsługujący rozszerzenie ARM Memory Tagging Extension (MTE). Jeśli zarówno parametr NATIVE_MEMTAG_ASYNC, jak i ta opcja są włączone, ta opcja ma pierwszeństwo i MTE jest włączony w trybie SYNC. | 
      
        | Identyfikator zmiany: 184838306NEVER_SANDBOX_DISPLAY_APIS
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Gdy ta opcja jest włączona, zapobiega zastosowaniu piaskownicy interfejsu Display API do aktywności w przypadku letterboxa lub SCM. Interfejsy Display API nadal będą udostępniać granice DisplayArea. Więcej informacji o tej zmianie znajdziesz w sekcji na stronie dotyczącej zmian w zachowaniu Androida 12, która opisuje 
           wycofane metody wyświetlania. | 
      
        | Identyfikator zmiany: 175319604NOTIFICATION_CANCELLATION_REASONS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Umożliwia odbiorcom powiadomień poznanie nowych, bardziej szczegółowych przyczyn anulowania. | 
      
        | Identyfikator zmiany: 167676448NOTIFICATION_TRAMPOLINE_BLOCK
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom 31 interfejsu API) lub nowszego.
 
 Aby zwiększyć wydajność aplikacji i poprawić wrażenia użytkowników, aplikacje kierowane na Androida 12 nie mogą używać usług ani odbiorników transmisji
             jako trampolin powiadomień. Więcej informacji o tej zmianie znajdziesz w artykule Nie można tworzyć trampolin powiadomień z usług ani odbiorników transmisji. | 
      
        | Identyfikator zmiany: 182185642NULL_TELEPHONY_THROW_NO_CB
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Służy do sprawdzania, czy docelowa wersja pakietu SDK dla bieżącego procesu to Android 12 (API na poziomie 31) lub nowszy. Dotyczy tych metod:
              | 
      
        | Identyfikator zmiany: 174042980OVERRIDE_MIN_ASPECT_RATIO
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Ta zmiana jest warunkiem wstępnym wszystkich zmian, które wymuszają określony minimalny współczynnik proporcji. Włączenie tej zmiany umożliwia stosowanie tych minimalnych współczynników proporcji: Gdy ta zmiana zostanie włączona w przypadku pakietu aplikacji, minimalny współczynnik proporcji podany w manifeście aplikacji zostanie zastąpiony największym włączonym współczynnikiem proporcji, chyba że wartość w manifeście aplikacji jest wyższa. | 
      
        | Identyfikator zmiany: 180326787OVERRIDE_MIN_ASPECT_RATIO_LARGE
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Gdy włączona jest też funkcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w przypadku pakietu ustawia minimalny współczynnik proporcji aktywności na dużą wartość określoną przezOVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE. | 
      
        | Identyfikator zmiany: 180326845OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
Stan domyślny:  wyłączony dla wszystkich aplikacji.
 
 Jeśli włączona jest też funkcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w przypadku pakietu ustawia minimalny współczynnik proporcji aktywności na średnią wartość określoną przezOVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE. | 
      
        | Identyfikator zmiany: 160794467PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego musisz określić zmienność każdego obiektu PendingIntenttworzonego przez aplikację. Ten dodatkowy wymóg zwiększa bezpieczeństwo aplikacji. Więcej informacji o tej zmianie znajdziesz w artykule Pending intents must declare mutability (Intencje oczekujące muszą deklarować zmienność). | 
      
        | Identyfikator zmiany: 165573442PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 Aplikacje administracyjne kierowane na Androida 12 (poziom interfejsu API 31) i nowsze nie mogą używać DevicePolicyManager.setPasswordQuality(ComponentName, int)do ustawiania jakości hasła w instancjiDevicePolicyManageruzyskanej przez wywołanieDevicePolicyManager.getParentProfileInstance(ComponentName).
             Zamiast tego powinni używaćDevicePolicyManager.setRequiredPasswordComplexity(int), aby ustawić ogólne wymagania dotyczące haseł na całym urządzeniu. | 
      
        | Identyfikator zmiany: 174840628RATE_LIMIT_TOASTS
Stan domyślny:  tej zmiany nie można przełączać. Jest rejestrowany tylko przez system sprawdzania zgodności.
 
 Włącza ograniczenie liczby Toast.show()wywołań, aby zapobiec przeciążeniu użytkownika zbyt dużą liczbą komunikatów w ograniczonym czasie. Każda próba wyświetlenia większej liczby komunikatów niż dozwolona w określonym przedziale czasu spowoduje odrzucenie komunikatu. | 
      
        | Identyfikator zmiany: 171306433REQUIRE_EXACT_ALARM_PERMISSION
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego aplikacje muszą mieć uprawnienia Manifest.permission.SCHEDULE_EXACT_ALARM, aby używać interfejsów API do ustawiania alarmów precyzyjnych, takich jaksetExactAndAllowWhileIdle(int, long, PendingIntent)isetAlarmClock(AlarmClockInfo, PendingIntent). | 
      
        | Identyfikator zmiany: 182478738REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego aplikacje muszą mieć uprawnienia Manifest.permission.READ_PHONE_STATE, aby wywoływać funkcjęTelephonyCallback.ActiveDataSubscriptionIdListener. | 
      
        | Identyfikator zmiany: 184323934REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego aplikacje muszą mieć uprawnienia Manifest.permission.READ_PHONE_STATE, aby wywoływać funkcjęTelephonyCallback.CellInfoListener. | 
      
        | Identyfikator zmiany: 183164979REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego aplikacje muszą mieć uprawnienia Manifest.permission.READ_PHONE_STATE, aby wywoływać funkcjęTelephonyCallback.DisplayInfoListener. | 
      
        | Identyfikator zmiany: 171032338RESTRICT_ADB_BACKUP
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego adb backupjest automatycznie włączana w aplikacjach, które można debugować (android:debuggableustawione natrue), i niedostępna w innych aplikacjach. | 
      
        | Identyfikator zmiany: 175408749RESTRICT_DOMAINS
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego wymagana jest zaktualizowana forma interfejsu API weryfikacji linków do aplikacji. To wymaganie oznacza, że aplikacja musi deklarować domeny w filtrze intencji, który zawiera wszystkie te elementy:  
             android:autoVerify="true"Intent.ACTION_VIEWIntent.CATEGORY_BROWSABLEIntet.CATEGORY_DEFAULTTylko IntentFilter.SCHEME_HTTPlubIntentFilter.SCHEME_HTTPS, bez innych schematów W poprzednich wersjach Androida Intent.CATEGORY_BROWSABLEnie było wymagane, dozwolone były inne schematy, a ustawienieautoVerifynatruew dowolnym filtrze intencji powodowało, że wszystkie filtry intencji były traktowane jako ustawione naautoVerify="true". | 
      
        | Identyfikator zmiany: 151105954SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) i nowsze wymusza, aby wszystkie attributionTagswysyłane donoteOp(String, int, String),noteProxyOp(String, String),
             istartOp(String, int, String)były zdefiniowane w manifeście pakietu określonego jako parametr metod. Aby włączyć tę zmianę, musi ona być włączona zarówno w pakiecie wywołującym noteOp(String, int, String), jak i w pakiecie określonym jako parametr metody. | 
      
        | Identyfikator zmiany: 143539591SELINUX_LATEST_CHANGES
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom API 31) lub nowszego włącza najnowsze zmiany w SELinux. Wyłączenie tej zmiany w przypadku aplikacji kierowanej na Androida 12 (poziom API 31) lub nowszego nie ma żadnego efektu. Nie ma też wpływu na aplikacje, które używają wspólnego identyfikatora użytkownika. | 
      
        | Identyfikator zmiany: 178111421SETTINGS_API_V2
Stan domyślny:  włączony w przypadku wszystkich aplikacji.
 
 Nowy interfejs API preferencji użytkownika do weryfikowania domen oznaczonych symbolem autoVerify=truew filtrach intencji pliku AndroidManifest.xml nie został jeszcze zaimplementowany w obecnej wersji platformy. Obecnie możesz wyświetlić podgląd nowych zmian w ustawieniach użytkownika, włączając ten identyfikator zmiany i używając poleceńadb shell pm set-app-links-user-selectioni podobnych. | 
      
        | Identyfikator zmiany: 183972877USE_SHORT_FGS_USAGE_INTERACTION_TIME
Stan domyślny:  włączony w przypadku aplikacji kierowanych na Androida 12 (API na poziomie 31) lub nowszego.
 
 W przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) i nowsze wersje określa, czy przed podniesieniem poziomu gotowości do ACTIVEnależy użyć krótszego limitu czasu, gdy aplikacje uruchamiają usługę działającą na pierwszym planie. |