Zmiany w systemie sprawdzania zgodności (Android 13)

Rysunek 1. Na ekranie Zmiany zgodności aplikacji w opcjach dla deweloperów znajdziesz listę zmian, które możesz włączyć lub wyłączyć.

Na tej stronie opisano zmiany, które można włączyć lub wyłączyć w ramach ramy zgodności w Androidzie 13 (poziom API 33). Korzystaj z tej listy w połączeniu z opcjami dla deweloperów i poleceniami ADB, aby testować i debugować aplikację podczas przygotowywania jej do obsługi i ustawienia jako docelowej wersji Android 13.

Oto kilka czynności, które możesz wykonać za pomocą narzędzi ramowych zgodności:

  • Testowanie zmian docelowych bez faktycznej zmiany wartości targetSdkVersion aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych zmian w docelowanym zachowaniu, aby ocenić ich wpływ na dotychczasową aplikację.
  • Skup się na testowaniu tylko konkretnych zmian. Zamiast modyfikować wszystkie zmiany docelowe jednocześnie, możesz wyłączyć wszystkie zmiany docelowe oprócz tych, które chcesz przetestować.
  • Zarządzaj przełącznikami za pomocą adb Za pomocą poleceń adb możesz włączać i wyłączać zmiany w automatycznym środowisku testowym.
  • Szybsze debugowanie dzięki standardowym identyfikatorom zmian. Każda zmiana, którą można włączyć lub wyłączyć, ma unikalny identyfikator i nazwę, których możesz używać do szybkiego debugowania przyczyny błędu w wyprowadzaniu z dziennika.

Szczegółowe informacje o używaniu narzędzi w przypadku każdego z tych zastosowań znajdziesz w artykule Narzędzia dotyczące ram kompatybilności.

Zmiany zachowania uwzględnione w systemie sprawdzania zgodności

Lista w tej sekcji opisuje zmiany, które można włączyć lub wyłączyć, a które są uwzględnione w ramach kompatybilności w Androidzie 13.

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

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

ACCOUNT_ACCESS_CHECK_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 13 (interfejs API na poziomie 33) lub nowszego włącza sprawdzanie dostępu do konta dla identyfikatora UID wywołującego w przypadku wszystkich interfejsów API związanych z synchronizacją.

ALLOW_COPY_SOLID_COLOR_VIEW

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego umożliwia aplikacji otrzymywanie wywołania zwrotnego SplashScreen.OnExitAnimationListener.onSplashScreenExit(SplashScreenView), nawet gdy ekran powitalny zawiera tylko jednolity kolor.

ALLOW_SECURE_ACTIVITY_DISPLAY_ON_REMOTE_DEVICE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego umożliwia wyświetlanie bezpiecznej aktywności na urządzeniach zdalnych (w razie potrzeby).

BORINGLAYOUT_FALLBACK_LINESPACING

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego włącza użycie Fallback spacing (wysokość wiersza) dla BoringLayout.

CALL_REDIRECTION_AUDIO_MODES

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego umożliwia użycie trybów audio do przekierowywania dźwięku połączeń.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

Wskaźnik, że urządzenie obsługuje wskaźniki kamery i mikrofonu. Jeśli jest obecny, zwraca wartość false, ponieważ metoda CompatChanges#isChangeEnabled zwraca wartość true, jeśli identyfikator zmiany jest nieobecny.

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 (poziom API 33) lub nowszego flaga SHOW_FORCED nie ma żadnego wpływu, chyba że wywołujący jest aktualnie w stanie skupienia.

DEFER_BOOT_COMPLETED_BROADCAST_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego opóźnij przesyłanie pakietów LOCKED_BOOT_COMPLETEDBOOT_COMPLETED do momentu rozpoczęcia pierwszego procesu w identyfikatorze UID.

DISALLOW_DEADLINES_FOR_PREFETCH_JOBS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego nie zezwala na określanie terminu (za pomocą funkcji JobInfo.Builder.setOverrideDeadline(long)) dla zadań wstępnych (JobInfo.Builder.setPrefetch(boolean)). Zadania wstępnej obsługi mają być wykonywane w pobliżu następnego uruchomienia aplikacji, dlatego nie mogą mieć terminów. System nie zwalnia ani nie anuluje jednak żadnych wcześniej zaplanowanych zadań wstępnego pobierania z terminem.

Aplikacja nie może utrzymywać stale zaplanowanego zadania wstępnego pobierania z terminem. Zadania wstępnego pobierania z terminem wykonania będą wykonywane, a aplikacje objęte tą restrykcją nie będą mogły planować nowych zadań wstępnego pobierania z terminem wykonania. Jeśli zadanie zostanie zaplanowane ponownie, podając true za pomocą wartości zwracanej przez JobService.jobFinished(JobParameters, boolean) lub JobService.onStopJob(JobParameters), termin ulega anulowaniu. Zadania okresowe wymagają spełnienia wszystkich ograniczeń, więc te ograniczenia nie mają zastosowania do terminów.

DOWNSCALED

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

Ta zmiana jest bramką dla wszystkich zmian dotyczących zmniejszania rozmiaru bufora w poszczególnych aplikacjach. Włączenie tej zmiany umożliwia zastosowanie tych czynników skalowania:

Gdy ta zmiana zostanie włączona w przypadku pakietu aplikacji, aplikacja zostanie zmuszona do zmiany rozmiaru do najwyższego, włączonego współczynnika skalowania. Na przykład 80% jest używane, jeśli włączone są ustawienia 80% i 70% (DOWNSCALE_80 i DOWNSCALE_70).

DOWNSCALE_30

Identyfikator zmiany: 189970040
Stan domyślny: wyłączone dla wszystkich aplikacji.

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu z taką zmianą aplikacja zakłada, że działa na wyświetlaczu o 30% mniejszej rozdzielczości w osiach pionowej i poziomej w porównaniu do rzeczywistego wyświetlacza.

DOWNSCALE_35

Identyfikator zmiany: 189969749
Stan domyślny: wyłączone dla wszystkich aplikacji.

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu ta zmiana spowoduje, że aplikacja będzie działać na wyświetlaczu o 35% mniejszej rozdzielczości w orientacji pionowej i poziomej niż rzeczywisty wyświetlacz.

DOWNSCALE_40

Identyfikator zmiany: 189970038
Stan domyślny: wyłączone dla wszystkich aplikacji.

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie działać z założenia, że jest uruchomiona na wyświetlaczu o rozdzielczości w poziomie i w pionie równej 40% rzeczywistej rozdzielczości wyświetlacza.

DOWNSCALE_45

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

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu z tą zmianą aplikacja zakłada, że działa na wyświetlaczu o 45% mniejszej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz.

DOWNSCALE_50

Identyfikator zmiany: 176926741
Stan domyślny: wyłączone dla wszystkich aplikacji.

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie działać z założenia, że jest uruchomiona na wyświetlaczu o rozdzielczości w poziomie i w pionie równej 50% rzeczywistej rozdzielczości.

DOWNSCALE_55

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

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu z tą zmianą aplikacja zakłada, że działa na wyświetlaczu o rozdzielczości w poziomie i w piotrze równej 55% rzeczywistej rozdzielczości.

DOWNSCALE_60

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

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie działać z założeniem, że wyświetla się na ekranie o 60% mniejszej rozdzielczości w orientacji pionowej i poziomej niż rzeczywisty ekran.

DOWNSCALE_65

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

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu z tą zmianą aplikacja zakłada, że działa na wyświetlaczu o rozdzielczości w poziomie i w pionie o 65% mniejszej od rzeczywistej.

DOWNSCALE_70

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

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu spowoduje, że aplikacja będzie zakładać, że działa na wyświetlaczu o rozdzielczości 70% w orientacji pionowej i poziomej w porównaniu z rzeczywistą rozdzielczością.

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 przypadku pakietu spowoduje, że aplikacja będzie zakładać, że działa na wyświetlaczu o rozdzielczości 75% w orientacji pionowej i poziomej w porównaniu z rzeczywistą rozdzielczością.

DOWNSCALE_80

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

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu spowoduje, że aplikacja będzie zakładać, że działa na wyświetlaczu o 80% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_85

Identyfikator zmiany: 189969734
Stan domyślny: wyłączone dla wszystkich aplikacji.

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu ta zmiana spowoduje, że aplikacja będzie zakładać, że działa na wyświetlaczu o 85% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_90

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

Jeśli włączona jest też opcja DOWNSCALED, włączenie tej zmiany w przypadku pakietu spowoduje, że aplikacja będzie zakładać, że działa na wyświetlaczu o 90% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DUMP_IGNORES_SPECIAL_ARGS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego funkcja dump(String, FileDescriptor, PrintWriter, String[]) nie jest wywoływana, jeśli funkcja dumpsys activity jest wywoływana z niektórymi argumentami specjalnymi.

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

Identyfikator zmiany: 161145287
Stan domyślny: wyłączone dla wszystkich aplikacji.

Gdy to ustawienie jest włączone, aplikacja musi wyraźnie ustawić wartość Context.RECEIVER_EXPORTED lub Context.RECEIVER_NOT_EXPORTED podczas rejestrowania odbiornika w ramach niechronionej transmisji danych w kodzie.

Więcej informacji znajdziesz w sekcji Bezpieczniejsze eksportowanie odbiorników zarejestrowanych w kontekście.

ENABLE_PENDING_INTENT_BAL_OPTION

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego chroni PendingIntent przed wykorzystywaniem do uruchamiania aktywności w tle.

ENABLE_SIMPLIFIED_DARK_MODE

Identyfikator zmiany: 214741472
Stan domyślny: włączony w przypadku aplikacji 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 treści w jasnym lub ciemnym stylu zgodnie z motywem aplikacji oraz WebView, aby w odpowiednich przypadkach ściemniać treści internetowe za pomocą algorytmu. Więcej informacji znajdziesz na stronie 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 (poziom API 33) lub nowszym czynności zużywają wszystkie dotknięcia w ramach swoich zadań.

ENABLE_USE_EXACT_ALARM

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego pozwala niektórym aplikacjom używać funkcji Manifest.permission.USE_EXACT_ALARM do planowania precyzyjnych alarmów.

ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS

Identyfikator zmiany: 161252188
Stan domyślny: włączone dla wszystkich aplikacji.

Komponenty przestaną otrzymywać intencje od zewnętrznych wywołujących, które nie pasują do zadeklarowanych filtrów intencji. Gdy aplikacja zarejestruje wyeksportowany komponent w pliku manifestu i doda filtr intencji, komponent może być uruchamiany przez dowolną intencję, nawet te, które nie pasują do filtra intencji. Wielu deweloperów uważa to za nieintuicyjne. Jeśli nie sprawdzisz intencji podczas uruchamiania komponentu, w niektórych okolicznościach aplikacje innych firm mogą wywołać funkcje przeznaczone tylko do użytku wewnętrznego.

ENFORCE_STRICT_QUERY_BUILDER

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

Jeśli ta opcja jest włączona, SQLiteQueryBuilder sprawdza wszystkie wybory zapytań CalendarProvider2 pod kątem złośliwych argumentów.

FORCE_DISABLE_HEVC_SUPPORT

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

Wymusić wyłączenie obsługi formatu HEVC przez aplikację. Aplikacje powinny deklarować obsługiwane formaty multimediów w pliku manifestu, ale ta flaga może być używana do wymuszania w aplikacji braku obsługi HEVC, co spowoduje wymuszenie transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tego parametru zastępuje wszelkie domyślne ustawienia na poziomie systemu operacyjnego dla aplikacji. Domyślnie jest ona wyłączona, co oznacza, że mają pierwszeństwo 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.

FORCE_ENABLE_HEVC_SUPPORT

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

Wymuszanie obsługi przez aplikację obsługiwanej przez nią funkcji multimediów HEVC. Aplikacje powinny deklarować obsługiwane funkcje multimediów w pliku manifestu, ale ta flaga może być używana do wymuszania obsługi HEVC, co pozwala uniknąć transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tego parametru zastępuje wszelkie domyślne ustawienia na poziomie systemu operacyjnego dla aplikacji. Domyślnie jest ona wyłączona, co oznacza, że mają zastosowanie ustawienia domyślne systemu operacyjnego. Jeśli włączone są 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 na pakietach, do których jest stosowany, niemożność 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 stosowany. Zezwalanie na zmianę rozmiaru tylko w trybie pełnoekranowym, a nie wymuszanie 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 przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego karta SIM może mieć więcej niż 1 aktywny identyfikator ICCID w tym samym czasie. Obsługa tej funkcji jest zapewniana przez wiele włączonych profili (MEP).

GWP_ASAN

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

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

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

ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego wyjątek jest teraz wywoływany, gdy operacja zamknięcia kanału ICC zakończy się niepowodzeniem.

MEDIA_CONTROL_SESSION_ACTIONS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego funkcje sterowania multimediami oparte na powiadomieniach Notification.MediaStyle są teraz oparte na sesji multimediów PlaybackState, a nie na działaniach powiadomienia.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie poświęconej zmianom w zachowaniu Androida 13 dotyczącą zmian w przyciskach multimediów.

NATIVE_HEAP_ZERO_INIT

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

Włącz automatyczną zerową inicjalizację przydzielanej pamięci natywnych stosów.

NATIVE_MEMTAG_ASYNC

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

Włącz w tym procesie asynchroniczne (ASYNC) sprawdzanie tagów pamięci. Ten parametr dotyczy tylko sprzętu obsługującego rozszerzenie Memory Tagging Extension (MTE) na ARM.

NATIVE_MEMTAG_SYNC

Identyfikator zmiany: 177438394
Stan domyślny: wyłączone dla wszystkich aplikacji.

Włącza w tym procesie synchroniczne (SYNC) sprawdzanie etykiet pamięci. Ten parametr dotyczy tylko sprzętu obsługującego rozszerzenie Memory Tagging Extension (MTE) na ARM. Jeśli włączone są opcje NATIVE_MEMTAG_ASYNC i ta opcja, ta ostatnia ma pierwszeństwo, a MTE jest włączone w trybie synchronizacji.

NOTIFICATION_LOG_ASSISTANT_CANCEL

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) i nowszych umożliwia słuchaczom uzyskanie bardziej szczegółowego powodu anulowania powiadomienia od asystenta niż ogólnego REASON_LISTENER_CANCEL.

NOTIFICATION_PERM_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) i nowszych umożliwia zachowanie zgodności z zachowaniem związanym z uprawnieniami w czasie wykonywania dotyczącymi powiadomień.

Więcej informacji o tej zmianie znajdziesz na stronie o nowym uprawnieniu dotyczącym czasu działania powiadomień.

NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego Activity starty pochodzące z odbiorników transmisji lub usług w odpowiedzi na powiadomienie i kliknięcia akcji powiadomienia są blokowane ze względów związanych z UX i wydajnością w przypadku posiadaczy ról, którzy byli wcześniej zwolnieni z obowiązku (przeglądarki).

OVERRIDABLE_COMPONENT_CALLBACKS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego, registerComponentCallbacks(ComponentCallbacks) dodaje ComponentCallbacks do Activity lub ContextWrapper.getBaseContext() zamiast zawsze dodawać do getApplicationContext().

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

Gdy to ustawienie jest włączone, powoduje, że pakiety, do których jest stosowane, ignorują bieżącą wartość android:resizeableActivity oraz docelowy pakiet SDK równy lub mniejszy niż M, a aktywność jest uważana za nierozszerzalną. W tym przypadku wartość obrotu i przycięcia kamery będzie zależeć tylko od wymaganej kompensacji uwzględniającej bieżący obrót wyświetlacza.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

Gdy to ustawienie jest włączone, powoduje ono, że pakiety, do których jest stosowane, zastępują domyślne zachowanie obracania i przycinania kamery i zawsze zwracają CaptureRequest.SCALER_ROTATE_AND_CROP_NONE. Domyślne działanie wraz ze wszystkimi możliwymi kombinacjami zastąpienia opisano w tabeli poniżej.

OVERRIDE_MIN_ASPECT_RATIO

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

Ta zmiana jest bramką dla wszystkich zmian, które wymuszają określony minimalny format obrazu. Włączenie tej zmiany pozwala zastosować te minimalne proporcje:

Gdy ta zmiana zostanie włączona w przypadku pakietu aplikacji, minimalne proporcje podane w pliku manifestu zostaną zastąpione przez największe dozwolone proporcje, chyba że wartość w pliku manifestu jest wyższa.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

Jeśli włączona jest też opcja OVERRIDE_MIN_ASPECT_RATIO, jej włączenie w przypadku pakietu powoduje ustawienie minimalnego współczynnika proporcji aktywności na dużą wartość określoną przez opcję OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Identyfikator zmiany: 180326845
Stan domyślny: wyłączone dla wszystkich aplikacji.

Gdy włączona jest również opcja OVERRIDE_MIN_ASPECT_RATIO, w przypadku pakietu zmiana ta powoduje ustawienie minimalnego współczynnika proporcji aktywności na średnią wartość określoną przez opcję OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

Gdy opcja OVERRIDE_MIN_ASPECT_RATIO jest również włączona, ogranicza to wszystkie inne zmiany, które wymuszają określony minimalny współczynnik kształtu aktywności, takie jak OVERRIDE_MIN_ASPECT_RATIO_LARGE i OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, do aktywności, które mają również orientację pionową.

RATE_LIMIT_TOASTS

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

Umożliwia ograniczenie szybkości wywoływania funkcji Toast.show(), aby nie obciążać użytkownika zbyt dużą liczbą toastów w określonym czasie. Każda próba wyświetlenia większej liczby toastów niż dozwolona w określonym przedziale czasowym powoduje odrzucenie toastu.

REQUEST_LISTENING_MUST_MATCH_PACKAGE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego wywołanie funkcji TileService.requestListeningState(Context, ComponentName) sprawdza, czy pakiet wywołujący (identyfikator UID) i pakiet docelowy ComponentNamesą zgodne. System sprawdza też, czy użyty kontekst może wykonywać działania w imieniu bieżącego użytkownika.

RETURN_ADVANCED_VIDEO_PROFILES

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego kontroluje rodzaj profili wideo zwracanych przez getAll(String, int).

SHOULD_RESOLVE_PORT_INDEX_FOR_APPS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego umożliwia kartom SIM włączanie wielu profili 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 interfejs API switchToSubscription lub pobierania bez określenia indeksu portu, system zachowuje dotychczasowe zachowanie, zawsze używając indeksu portu 0, nawet jeśli na samym urządzeniu włączono MEP eUICC.

SWITCH_WITHOUT_PORT_INDEX_EXCEPTION_ON_DISABLE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego 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łączony w przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego.

W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub nowszego system zgłasza wyjątek, gdy aplikacja podaje nieprawidłową wartość priorytetu za pomocą elementu JobInfo.Builder.setPriority(int). Starsze aplikacje mogą nieprawidłowo korzystać z interfejsu API, więc jeśli nadal będą go używać, wywołanie nie powiedzie się.

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.