Zmiany w systemie sprawdzania zgodności (Android 13)

Rysunek 1. Na ekranie Zmiany dotyczące zgodności aplikacji w opcjach programisty znajdziesz listę zmian, które możesz przełączać.

Na tej stronie opisujemy zmiany, które można przełączać i które są częścią systemu sprawdzania zgodności w Androidzie 13 (poziom API 33). Użyj tej listy w połączeniu z opcjami programisty i poleceniami ADB, aby przetestować i debugować aplikację podczas przygotowywania jej do obsługi Androida 13 i kierowania na tę wersję.

Oto kilka rzeczy, które możesz zrobić za pomocą narzędzi systemu sprawdzania zgodności:

  • Testuj zmiany ukierunkowane bez faktycznej zmiany wartości targetSdkVersion aplikacji. Możesz użyć przełączników, aby wymusić włączenie określonych zmian zachowania, i ocenić ich wpływ na dotychczasową aplikację.
  • Skup się na testowaniu tylko konkretnych zmian. Zamiast wprowadzać wszystkie zmiany kierowania naraz, możesz za pomocą przełączników wyłączyć wszystkie zmiany kierowania oprócz tych, które chcesz przetestować.
  • Zarządzanie przełącznikami za pomocą adb Możesz używać poleceń adb, aby włączać i wyłączać zmiany w środowisku testów automatycznych.
  • Szybsze debugowanie dzięki standardowym identyfikatorom zmian Każda zmiana, którą można przełączać, ma unikalny identyfikator i nazwę, dzięki którym można szybko debugować główną przyczynę w danych wyjściowych logu.

Szczegółowe informacje o korzystaniu z narzędzi w każdym z tych przypadków znajdziesz w artykule o narzędziach systemu sprawdzania zgodności.

Zmiany zachowania uwzględnione w systemie sprawdzania zgodności

Lista w tej sekcji zawiera zmiany, które można przełączać i które są uwzględnione w systemie sprawdzania zgodności w Androidzie 13.

Listę zmian możesz filtrować według stanu domyślnego.

Zmiany, które można przełączać w systemie sprawdzania zgodności w Androidzie 13

ACCOUNT_ACCESS_CHECK_CHANGE_ID

Identyfikator zmiany: 201794303
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje umożliwia sprawdzanie dostępu do konta dla wywołującego identyfikatora UID we wszystkich interfejsach API związanych z synchronizacją.

ALLOW_COPY_SOLID_COLOR_VIEW

Identyfikator zmiany: 205907456
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego umożliwia aplikacji otrzymywanie wywołania zwrotnego SplashScreen.OnExitAnimationListener.onSplashScreenExit(SplashScreenView), nawet jeśli ekran powitalny wyświetla tylko jednolity kolor.

ALLOW_SECURE_ACTIVITY_DISPLAY_ON_REMOTE_DEVICE

Identyfikator zmiany: 201712607
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego umożliwia wyświetlanie bezpiecznej aktywności na urządzeniach zdalnych, jeśli jest to wymagane.

BORINGLAYOUT_FALLBACK_LINESPACING

Identyfikator zmiany: 210923482
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje włącza zastępcze odstępy między wierszami tekstu (wysokość wiersza) dla języka BoringLayout.

CALL_REDIRECTION_AUDIO_MODES

Identyfikator zmiany: 189472651
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje umożliwia korzystanie z trybów audio do przekierowywania dźwięku połączenia.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Identyfikator zmiany: 162547999
Stan domyślny: wyłączone we wszystkich aplikacjach.

Wskazuje, że to urządzenie obsługuje wskaźniki kamery i mikrofonu. Jeśli jest obecny, będzie to false, ponieważ metoda CompatChanges#isChangeEnabled zwraca true, jeśli identyfikator zmiany nie jest obecny.

CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING

Identyfikator zmiany: 214016041
Stan domyślny: włączone w przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje uniemożliwia działanie flagi SHOW_FORCED, chyba że element wywołujący jest obecnie zaznaczony.

DEFER_BOOT_COMPLETED_BROADCAST_CHANGE_ID

Identyfikator zmiany: 203704822
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje odraczaj transmisje LOCKED_BOOT_COMPLETED i BOOT_COMPLETED do momentu pierwszego uruchomienia dowolnego procesu w UID.

DISALLOW_DEADLINES_FOR_PREFETCH_JOBS

Identyfikator zmiany: 194532703
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) i nowsze wersje uniemożliwia ustawienie terminu (za pomocą JobInfo.Builder.setOverrideDeadline(long)) dla zadań pobierania z wyprzedzeniem (JobInfo.Builder.setPrefetch(boolean)). Zadania pobierania wstępnego powinny być uruchamiane blisko następnego uruchomienia aplikacji, więc nie mogą mieć terminów. System nie odrzuca jednak ani nie anuluje żadnych wcześniej zaplanowanych zadań pobierania z wyprzedzeniem z terminem.

Aplikacja nie może mieć stale zaplanowanego zadania pobierania wstępnego z terminem. Zadania pobierania wstępnego z terminem zostaną uruchomione, a aplikacje objęte tym ograniczeniem nie będą mogły planować nowych zadań pobierania wstępnego z terminem. Jeśli zadanie zostanie przełożone przez podanie true przy użyciu wartości zwracanej przez JobService.jobFinished(JobParameters, boolean) lub JobService.onStopJob(JobParameters), termin zostanie usunięty. Zadania okresowe wymagają spełnienia wszystkich ograniczeń, więc te ograniczenia nie mają zastosowania do ich terminów.

DOWNSCALED

Identyfikator zmiany: 168419799
Stan domyślny: wyłączone we wszystkich aplikacjach.

Ta zmiana jest kluczowa dla wszystkich zmian związanych ze zmniejszaniem bufora na aplikację. Włączenie tej zmiany umożliwia zastosowanie tych współczynników skalowania:

Gdy ta zmiana jest włączona w przypadku pakietu aplikacji, rozmiar aplikacji jest wymuszany do najwyższego włączonego współczynnika skalowania. Jeśli na przykład włączone są zarówno 80%, jak i 70% (DOWNSCALE_80 i DOWNSCALE_70), używana jest wartość 80%.

DOWNSCALE_30

Identyfikator zmiany: 189970040
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 30% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_35

Identyfikator zmiany: 189969749
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 35% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_40

Identyfikator zmiany: 189970038
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 40% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_45

Identyfikator zmiany: 189969782
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 45% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_50

Identyfikator zmiany: 176926741
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 50% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_55

Identyfikator zmiany: 189970036
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 55% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_60

Identyfikator zmiany: 176926771
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 60% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_65

Identyfikator zmiany: 189969744
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 65% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_70

Identyfikator zmiany: 176926829
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 70% rzeczywistego wyświetlacza.

DOWNSCALE_75

Identyfikator zmiany: 189969779
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 75% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_80

Identyfikator zmiany: 176926753
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 80% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_85

Identyfikator zmiany: 189969734
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 85% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_90

Identyfikator zmiany: 182811243
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 90% rzeczywistego wyświetlacza.

DUMP_IGNORES_SPECIAL_ARGS

Identyfikator zmiany: 149254050
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje metoda dump(String, FileDescriptor, PrintWriter, String[]) nie jest wywoływana, jeśli metoda dumpsys activity jest wywoływana z określonymi argumentami specjalnymi.

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

Identyfikator zmiany: 161145287
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy ta opcja jest włączona, aplikacja musi wyraźnie ustawić Context.RECEIVER_EXPORTED lub Context.RECEIVER_NOT_EXPORTED podczas rejestrowania odbiorcy niechronionej transmisji w kodzie.

Więcej informacji znajdziesz w sekcji dotyczącej bezpieczniejszego eksportowania odbiorców zarejestrowanych w kontekście.

ENABLE_PENDING_INTENT_BAL_OPTION

Identyfikator zmiany: 192341120
Stan domyślny: włączone w przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego chroni PendingIntent przed nadużyciami związanymi z uruchamianiem aktywności w tle.

ENABLE_SIMPLIFIED_DARK_MODE

Identyfikator zmiany: 214741472
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje umożliwia stosowanie w treściach z internetu jasnego lub ciemnego stylu zgodnie z motywem aplikacji oraz próby przyciemniania treści z internetu przez WebView za pomocą algorytmicznego przyciemniania, gdy jest to odpowiednie. Szczegółowe informacje znajdziesz w setAlgorithmicDarkeningAllowed(boolean).

ENABLE_TOUCH_OPAQUE_ACTIVITIES

Identyfikator zmiany: 194480991
Stan domyślny: włączone we wszystkich aplikacjach.

W przypadku aplikacji działających na Androidzie 13 (API na poziomie 33) lub nowszym sprawia, że aktywności wykorzystują wszystkie dotknięcia w granicach zadania.

ENABLE_USE_EXACT_ALARM

Identyfikator zmiany: 218533173
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje umożliwia niektórym rodzajom aplikacji używanie uprawnienia Manifest.permission.USE_EXACT_ALARM do planowania alarmów precyzyjnych.

ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS

Identyfikator zmiany: 161252188
Stan domyślny: włączone we wszystkich aplikacjach.

Komponenty przestaną otrzymywać intencje od rozmówców zewnętrznych, które nie pasują do zadeklarowanych filtrów intencji. Gdy aplikacja rejestruje wyeksportowany komponent w swoim pliku manifestu i dodaje filtr intencji, komponent może zostać uruchomiony przez dowolną intencję, nawet taką, która nie pasuje do filtra intencji. Dla wielu deweloperów jest to sprzeczne z intuicją. Jeśli intencja nie zostanie sprawdzona podczas uruchamiania komponentu, w niektórych okolicznościach może to umożliwić aplikacjom innych firm uruchamianie funkcji przeznaczonych tylko do użytku wewnętrznego.

ENFORCE_STRICT_QUERY_BUILDER

Identyfikator zmiany: 143231523
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy ta opcja jest włączona, SQLiteQueryBuilder sprawdza wszystkie zapytania CalendarProvider2 pod kątem szkodliwych argumentów.

FORCE_DISABLE_HEVC_SUPPORT

Identyfikator zmiany: 174227820
Stan domyślny: wyłączone we wszystkich aplikacjach.

Wymuś wyłączenie obsługi funkcji multimedialnych HEVC przez aplikację. Aplikacje powinny deklarować obsługiwane funkcje multimedialne w pliku manifestu, ale tej flagi można użyć, aby wymusić brak obsługi HEVC przez aplikację, co wymusi transkodowanie podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tej flagi zastępuje wszystkie domyślne ustawienia aplikacji na poziomie systemu operacyjnego. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli włączona jest zarówno ta flaga, jak i FORCE_ENABLE_HEVC_SUPPORT, system operacyjny ignoruje obie flagi.

FORCE_ENABLE_HEVC_SUPPORT

Identyfikator zmiany: 174228127
Stan domyślny: wyłączone we wszystkich aplikacjach.

Wymuś włączenie obsługi formatu HEVC w aplikacji. Aplikacje powinny deklarować obsługiwane formaty multimediów w pliku manifestu, ale ta flaga może służyć do wymuszenia obsługi formatu HEVC, co pozwala uniknąć transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w tym formacie. Ustawienie tej flagi zastępuje wszystkie domyślne ustawienia aplikacji na poziomie systemu operacyjnego. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli włączona jest zarówno ta flaga, jak i FORCE_DISABLE_HEVC_SUPPORT, system operacyjny ignoruje obie flagi.

FORCE_NON_RESIZE_APP

Identyfikator zmiany: 181136395
Stan domyślny: wyłączone we wszystkich aplikacjach.

Wymusza, aby pakiety, do których jest stosowana, nie miały możliwości zmiany rozmiaru.

FORCE_RESIZE_APP

Identyfikator zmiany: 174042936
Stan domyślny: wyłączone we wszystkich aplikacjach.

Wymusza możliwość zmiany rozmiaru pakietów, do których jest stosowana. Zezwalamy na zmianę rozmiaru tylko w trybie okna pełnoekranowego, ale nie wymuszamy na aplikacji trybu wielu okien z możliwością zmiany rozmiaru.

GET_API_SIGNATURES_FROM_UICC_PORT_INFO

Identyfikator zmiany: 202110963
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego umożliwia karcie SIM posiadanie więcej niż 1 aktywnego identyfikatora ICCID jednocześnie. Obsługę tej funkcji zapewnia technologia Multiple Enabled Profiles (MEP).

GWP_ASAN

Identyfikator zmiany: 135634846
Stan domyślny: wyłączone we wszystkich aplikacjach.

Umożliwia wykrywanie błędów pamięci natywnej w aplikacjach na podstawie próbek.

Więcej informacji o korzystaniu z GWP-ASan znajdziesz w przewodniku po GWP-ASan.

ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE

Identyfikator zmiany: 208739934
Stan domyślny: włączona w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego wyjątek jest teraz zgłaszany za każdym razem, gdy operacja zamknięcia kanału ICC zakończy się niepowodzeniem.

MEDIA_CONTROL_SESSION_ACTIONS

Identyfikator zmiany: 203800354
Stan domyślny: włączona w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje opcje sterowania multimediami oparte na powiadomieniach Notification.MediaStyle mają teraz działania oparte na PlaybackState sesji multimedialnej, a nie na działaniach powiadomienia.

Więcej informacji o tej zmianie znajdziesz w sekcji dotyczącej zmian w opcjach sterowania multimediami na stronie poświęconej zmianom w zachowaniu Androida 13.

NATIVE_HEAP_ZERO_INIT

Identyfikator zmiany: 178038272
Stan domyślny: wyłączone we wszystkich aplikacjach.

Włącz automatyczną inicjalizację zerową alokacji pamięci sterty natywnej.

NATIVE_MEMTAG_ASYNC

Identyfikator zmiany: 135772972
Stan domyślny: wyłączone we wszystkich aplikacjach.

Włącz asynchroniczne (ASYNC) sprawdzanie tagów pamięci w tym procesie. Ta flaga ma wpływ tylko na sprzęt obsługujący rozszerzenie Memory Tagging Extension (MTE) ARM.

NATIVE_MEMTAG_SYNC

Identyfikator zmiany: 177438394
Stan domyślny: wyłączone we wszystkich aplikacjach.

Włącza synchroniczne (SYNC) sprawdzanie tagów pamięci w tym procesie. Ta flaga ma wpływ tylko na sprzęt obsługujący rozszerzenie Memory Tagging Extension (MTE) ARM. Jeśli włączone są zarówno zasada NATIVE_MEMTAG_ASYNC, jak i ta opcja, ta opcja ma pierwszeństwo, a MTE jest włączone w trybie SYNC.

NOTIFICATION_LOG_ASSISTANT_CANCEL

Identyfikator zmiany: 195579280
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego umożliwia odbiorcom zrozumienie bardziej szczegółowego powodu anulowania powiadomienia przez asystenta, zamiast używania bardziej ogólnego REASON_LISTENER_CANCEL.

NOTIFICATION_PERM_CHANGE_ID

Identyfikator zmiany: 194833441
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje umożliwia zmiany zachowania związane z uprawnieniami w czasie działania aplikacji dotyczącymi powiadomień.

Więcej informacji o tej zmianie znajdziesz na stronie poświęconej nowym uprawnieniom do powiadomień w czasie działania aplikacji.

NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES

Identyfikator zmiany: 227752274
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego uruchamianie Activity z odbiorników lub usług w odpowiedzi na kliknięcia powiadomień i działań związanych z powiadomieniami jest blokowane ze względu na wygodę użytkowników i wydajność w przypadku ról, które wcześniej były wyłączone (przeglądarki).

OVERRIDABLE_COMPONENT_CALLBACKS

Identyfikator zmiany: 193247900
Stan domyślny: włączona w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego registerComponentCallbacks(ComponentCallbacks) dodaje ComponentCallbacks do Activity lub ContextWrapper.getBaseContext(), a nie zawsze do getApplicationContext().

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Identyfikator zmiany: 191513214
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy ta opcja jest włączona, ten identyfikator zmiany wymusza na pakietach, do których jest stosowany, ignorowanie bieżącej wartości android:resizeableActivity oraz docelowego pakietu SDK równego lub niższego niż M i traktowanie aktywności jako niemożliwej do zmiany rozmiaru. W takim przypadku wartość obrotu i przycięcia obrazu z kamery będzie zależeć tylko od potrzebnej kompensacji, biorąc pod uwagę bieżący obrót wyświetlacza.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Identyfikator zmiany: 189229956
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy ten identyfikator zmiany jest włączony, wymusza on, aby pakiety, do których jest stosowany, zastępowały domyślne działanie obracania i przycinania aparatu i zawsze zwracały CaptureRequest.SCALER_ROTATE_AND_CROP_NONE. Działanie domyślne oraz wszystkie możliwe kombinacje zastąpień zostały omówione w tabeli poniżej.

OVERRIDE_MIN_ASPECT_RATIO

Identyfikator zmiany: 174042980
Stan domyślny: wyłączone we wszystkich aplikacjach.

Ta zmiana jest strażnikiem wszystkich zmian, które wymuszają dany minimalny format obrazu. Włączenie tej zmiany umożliwia stosowanie tych minimalnych formatów obrazu:

Gdy ta zmiana jest włączona w przypadku pakietu aplikacji, minimalny format obrazu podany w pliku manifestu aplikacji jest zastępowany największym włączonym formatem obrazu, chyba że wartość w pliku manifestu aplikacji jest większa.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Identyfikator zmiany: 180326787
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też funkcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany dla pakietu ustawia minimalny format obrazu aktywności na dużą wartość określoną przez OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Identyfikator zmiany: 180326845
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy włączona jest też opcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w pakiecie ustawia minimalny format obrazu aktywności na średnią wartość zdefiniowaną przez OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Identyfikator zmiany: 203647190
Stan domyślny: włączone we wszystkich aplikacjach.

Gdy włączona jest też flaga OVERRIDE_MIN_ASPECT_RATIO, ta zmiana ogranicza wszelkie inne zmiany, które wymuszają minimalny format obrazu aktywności o określonej wartości – takie jak OVERRIDE_MIN_ASPECT_RATIO_LARGE i OVERRIDE_MIN_ASPECT_RATIO_MEDIUM – do aktywności, które mają też orientację pionową.

RATE_LIMIT_TOASTS

Identyfikator zmiany: 174840628
Stan domyślny: tej zmiany nie można przełączyć. Jest on rejestrowany tylko przez system sprawdzania zgodności.

Włącza ograniczanie liczby żądań Toast.show(), aby nie obciążać użytkownika zbyt dużą liczbą powiadomień w ograniczonym czasie. Każda próba wyświetlenia większej liczby powiadomień, niż jest to dozwolone w określonym czasie, spowoduje odrzucenie powiadomienia.

REQUEST_LISTENING_MUST_MATCH_PACKAGE

Identyfikator zmiany: 172251878
Stan domyślny: włączone w przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje wywołanie TileService.requestListeningState(Context, ComponentName) sprawdza, czy wywołujący pakiet (UID) i pakiet docelowego ComponentName są zgodne. System sprawdza też, czy używany kontekst może wykonywać działania w imieniu bieżącego użytkownika.

RETURN_ADVANCED_VIDEO_PROFILES

Identyfikator zmiany: 206033068
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) i nowsze wersje określa typ profili wideo zwracanych przez getAll(String, int).

SHOULD_RESOLVE_PORT_INDEX_FOR_APPS

Identyfikator zmiany: 224562872
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje umożliwia kartom SIM włączenie wielu profili (MEP) na różnych portach. Aby zachować zgodność wsteczną w przypadku aplikacji operatora, gdy aplikacja kierowana na interfejs API na poziomie 32 lub niższym wywołuje interfejsy API switchToSubscription lub interfejsy API pobierania bez określania indeksu portu, system zachowuje dotychczasowe działanie, zawsze używając indeksu portu 0, nawet jeśli na urządzeniu jest włączona funkcja MEP eUICC.

SWITCH_WITHOUT_PORT_INDEX_EXCEPTION_ON_DISABLE

Identyfikator zmiany: 218393363
Stan domyślny: włączona w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje system zgłasza wyjątek, gdy metoda switchToSubscription() jest wywoływana bez parametru portIndex, aby wyłączyć subskrypcję.

THROW_ON_INVALID_PRIORITY_VALUE

Identyfikator zmiany: 140852299
Stan domyślny: włączone w aplikacjach kierowanych na Androida 13 (API na poziomie 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i nowsze wersje system zgłasza wyjątek, gdy aplikacja podaje nieprawidłową wartość priorytetu za pomocą JobInfo.Builder.setPriority(int). Starsze aplikacje mogą nieprawidłowo używać interfejsu API, więc jeśli będą nadal z niego korzystać, wywołanie zakończy się niepowodzeniem bez powiadomienia.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Identyfikator zmiany: 196254758
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy ta opcja jest włączona, system zezwala pakietowi „android” na używanie aliasów komponentów.