Zmiany platformy zgodności (Android 13)

Rysunek 1. Ekran Zmiany zgodności aplikacji w opcjach programisty zawiera listę zmian, które możesz przełączyć.

Na tej stronie opisujemy zmiany, które można włączać, które są częścią platformy zgodności w Androidzie 13 (poziom interfejsu API 33). Tej listy możesz używać w połączeniu z opcjami programisty i poleceniami ADB, aby testować i debugować aplikację, gdy przygotowujesz się do obsługi Androida 13 i jej kierowania na nią.

Oto kilka przykładów tego, co możesz zrobić za pomocą narzędzi platformy zgodności:

  • Przetestuj docelowe zmiany bez zmiany wartości targetSdkVersion. Możesz użyć przełączników, aby wymusić włączenie określonych kierowanych zmian działania w celu oceny ich wpływu na istniejącą aplikację.
  • Skup się na testowaniu tylko określonych zmian. Zamiast zajmować się wszystkimi zmianami w kierowaniu naraz, przełączniki pozwalają wyłączyć wszystkie kierowane zmiany z wyjątkiem tych, które chcesz przetestować.
  • Przełączami można zarządzać za pomocą narzędzia adb. Za pomocą poleceń adb możesz włączać i wyłączać zmiany z możliwością przełączania w automatycznym środowisku testowym.
  • Szybsze debugowanie przy użyciu standardowych identyfikatorów zmian. Każda zmiana, którą można przełączyć, ma unikalny identyfikator i nazwę, dzięki którym można szybko debugować główną przyczynę w danych wyjściowych logu.

Pełne informacje o korzystaniu z narzędzi używanych w każdym z tych przypadków znajdziesz w artykule na temat narzędzi platformy zgodności.

Zmiany w działaniu uwzględnione w ramach struktury zgodności

Na liście w tej sekcji opisujemy zmiany, które można włączać w ramach platformy zgodności w Androidzie 13.

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

Zmiany w platformie zgodności w Androidzie 13 z możliwością przełączania.

ACCOUNT_ACCESS_CHECK_CHANGE_ID

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

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego aplikacja może odbierać wywołanie zwrotne SplashScreen.OnExitAnimationListener.onSplashScreenExit(SplashScreenView), nawet jeśli 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 interfejsu API 33) lub nowszy.

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

BORINGLAYOUT_FALLBACK_LINESPACING

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i nowsze wersje włączają zastępcze odstępy między wierszami (wysokość wiersza) w polu BoringLayout.

CALL_REDIRECTION_AUDIO_MODES

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego zezwala na używanie trybów audio do przekierowywania połączeń audio.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

Wskazuje, że urządzenie obsługuje wskaźniki aparatu i mikrofonu. Ma wartość false, jeśli występuje, ponieważ metoda CompatChanges#isChangeEnabled zwraca wartość true, jeśli nie podano identyfikatora zmiany.

CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego flaga SHOW_FORCED nie będzie działać, chyba że element wywołujący jest obecnie aktywny.

DEFER_BOOT_COMPLETED_BROADCAST_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego komunikaty LOCKED_BOOT_COMPLETED i BOOT_COMPLETED możesz opóźnić do czasu pierwszego uruchomienia dowolnego procesu w identyfikatorze UID.

DISALLOW_DEADLINES_FOR_PREFETCH_JOBS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego nie zezwala na ustawianie terminu (za pomocą JobInfo.Builder.setOverrideDeadline(long)) dla zadań pobierania z wyprzedzeniem (JobInfo.Builder.setPrefetch(boolean). Zadania pobierania z wyprzedzeniem powinny być uruchamiane w pobliżu następnego wydania aplikacji, więc nie mogą mieć terminów. System nie pomija jednak ani nie anuluje żadnych wcześniej zaplanowanych zadań pobierania z wyprzedzeniem z określonym terminem.

Aplikacja nie ma możliwości utrzymania zaplanowanego zadania pobierania z wyprzedzeniem z określonym terminem. Zadania pobierania z wyprzedzeniem z określonym terminem będą uruchamiane, a aplikacje objęte tym ograniczeniem nie będą mogły planować nowych zadań pobierania z wyprzedzeniem z określonym terminem. Jeśli zadanie zostanie przełożone przez podanie właściwości true za pomocą 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 dla wszystkich aplikacji.

Ta zmiana decyduje o wszystkich zmianach skalowania bufora w podziale na aplikacje. Włączenie tej zmiany umożliwia stosowanie tych współczynników skalowania:

Gdy ta zmiana jest włączona w pakiecie aplikacji, rozmiar aplikacji jest wymuszany na najwyższy, włączony współczynnik skalowania. Na przykład wartość 80% jest używana, gdy włączone jest zarówno 80%, jak i 70% (DOWNSCALE_80 i DOWNSCALE_70).

DOWNSCALE_30

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 30% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_35

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 35% rozdzielczością pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_40

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z rozdzielczością pionową i poziomą rzeczywistego wyświetlacza.

DOWNSCALE_45

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z rozdzielczością pionową i poziomą rzeczywistego wyświetlacza.

DOWNSCALE_50

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z rozdzielczością pionową i poziomą rzeczywistego wyświetlacza.

DOWNSCALE_55

Identyfikator zmiany: 189970036
Stan domyślny: wyłączona dla wszystkich aplikacji.

Gdy włączona jest również usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z rozdzielczością pionową i poziomą rzeczywistego wyświetlacza.

DOWNSCALE_60

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 60% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_65

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 65% rozdzielczością pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_70

Identyfikator zmiany: 176926829
Stan domyślny: wyłączona dla wszystkich aplikacji.

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 70% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_75

Identyfikator zmiany: 189969779
Stan domyślny: wyłączona dla wszystkich aplikacji.

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 75% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_80

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

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 80% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_85

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

Gdy włączona jest również usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa ona na wyświetlaczu z rozdzielczością pionową i poziomą rzeczywistego wyświetlacza.

DOWNSCALE_90

Identyfikator zmiany: 182811243
Stan domyślny: wyłączona dla wszystkich aplikacji.

Gdy włączona jest też usługa DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji przyjmowanie, że działa na wyświetlaczu z 90% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DUMP_IGNORES_SPECIAL_ARGS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego interfejs dump(String, FileDescriptor, PrintWriter, String[]) nie jest wywoływany, jeśli parametr dumpsys activity został wywołany z użyciem argumentów specjalnych.

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

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

Gdy ta opcja jest włączona, wymaga, aby aplikacja wyraźnie ustawiła właściwość Context.RECEIVER_EXPORTED lub Context.RECEIVER_NOT_EXPORTED podczas rejestrowania odbiornika w kodzie w przypadku niechronionej transmisji.

Więcej informacji znajdziesz w sekcji o bezpieczniejszym eksportowaniu danych odbiorców zarejestrowanych na podstawie kontekstu.

ENABLE_PENDING_INTENT_BAL_OPTION

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego chroni PendingIntent przed nadużyciami, aby umożliwić uruchamianie 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 nowszy.

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego treści internetowe mogą stosować jasny lub ciemny styl zgodnie z motywem aplikacji i komponentem WebView w celu przyciemniania treści internetowych przez algorytm (w razie potrzeby). Więcej informacji: setAlgorithmicDarkeningAllowed(boolean).

ENABLE_TOUCH_OPAQUE_ACTIVITIES

Identyfikator zmiany: 194480991
Stan domyślny: włączony dla wszystkich aplikacji.

W przypadku aplikacji działających na Androidzie 13 (poziom interfejsu API 33) lub wyższym sprawia, że działania wykorzystują wszystkie interakcje w granicach zadania.

ENABLE_USE_EXACT_ALARM

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i nowsze wersje zezwalają niektórym rodzajom aplikacji na używanie Manifest.permission.USE_EXACT_ALARM do planowania alarmów precyzyjnych.

ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS

Identyfikator zmiany: 161252188
Stan domyślny: włączony w przypadku wszystkich aplikacji.

Komponenty przestaną otrzymywać intencje od zewnętrznych elementów 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 zostać uruchomiony przez dowolną intencję, nawet jeśli nie pasuje do filtra intencji. Wielu deweloperów uważa, że jest to sprzeczne z intuicją. W niektórych przypadkach bez sprawdzania intencji podczas uruchamiania komponentu może to umożliwić aplikacjom innych firm wywołanie funkcji tylko do użytku wewnętrznego.

ENFORCE_STRICT_QUERY_BUILDER

Identyfikator zmiany: 143231523
Stan domyślny: wyłączony dla wszystkich aplikacji.

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

FORCE_DISABLE_HEVC_SUPPORT

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

Wymuszaj wyłączenie przez aplikację obsługi multimediów HEVC. Aplikacje powinny zadeklarować obsługiwane możliwości multimediów w pliku manifestu, ale można użyć tej flagi, aby wymusić brak obsługi HEVC, co wymaga transkodowania na potrzeby dostępu do multimediów zakodowanego w HEVC. Ustawienie tej flagi zastępuje wszystkie wartości domyślne na poziomie systemu operacyjnego dla aplikacji. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają domyślne ustawienia 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 dla wszystkich aplikacji.

Wymuszaj włączenie w aplikacji obsługi funkcji multimediów HEVC, aby aplikacje mogły zadeklarować obsługiwane możliwości multimediów w pliku manifestu. Tej flagi można użyć do wymuszenia obsługi HEVC, przez co unikasz transkodowania przy dostępie do multimediów zakodowanego w HEVC. Ustawienie tej flagi powoduje zastąpienie wszystkich wartości domyślnych na poziomie systemu operacyjnego dla aplikacji. Domyślnie jest ona wyłączona, co oznacza, że pierwszeństwo mają domyślne ustawienia 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 dla wszystkich aplikacji.

Powoduje, że w przypadku pakietów, do których jest stosowany, nie można zmienić rozmiaru.

FORCE_RESIZE_APP

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

Wymusza możliwość zmiany rozmiaru pakietów, do których jest stosowany. Zezwalamy na zmianę rozmiaru tylko w trybie pełnego ekranu. Nie wymuszamy w aplikacji trybu wielu okien z możliwością zmiany rozmiaru.

GET_API_SIGNATURES_FROM_UICC_PORT_INFO

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i nowsze wersje pozwalają na używanie karty SIM więcej niż 1 identyfikatora ICCID naraz. Tę funkcję zapewniają obsługę wielu włączonych profili.

GWP_ASAN

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

Umożliwia wykrywanie błędów w pamięci natywnej w aplikacjach.

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i nowszego zgłaszany jest wyjątek przy każdej nieudanej operacji zamknięcia kanału ICC.

MEDIA_CONTROL_SESSION_ACTIONS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego ustawienia sterowania multimediami oparte na powiadomieniach Notification.MediaStyle zawierają teraz działania oparte na PlaybackState sesji multimediów, a nie od działań powiadomienia.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie poświęconej zmianom działania Androida 13 w sekcji poświęconej zmianom w ustawieniach sterowania multimediami.

NATIVE_HEAP_ZERO_INIT

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

Włącz automatyczne rozpoczynanie bez inicjowania alokacji pamięci natywnej sterty.

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

NOTIFICATION_LOG_ASSISTANT_CANCEL

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego słuchacze mogą lepiej zrozumieć powód anulowania powiadomień przez Asystenta zamiast korzystać z bardziej ogólnego REASON_LISTENER_CANCEL.

NOTIFICATION_PERM_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i nowsze ta funkcja włącza zmiany w działaniu związane z uprawnieniami do wyświetlania powiadomień w czasie działania.

Więcej informacji o tej zmianie znajdziesz na stronie o nowych uprawnieniach w czasie 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 interfejsu API 33) lub nowszy.

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego Activity zaczyna pochodzić od odbiorników lub usług w odpowiedzi na powiadomienia i kliknięcia działań związanych z powiadomieniami są blokowane ze względu na wygodę użytkowników i wydajność w przypadku użytkowników, którzy wcześniej zostali zwolnieni z obowiązku posiadania ról (przeglądarek).

OVERRIDABLE_COMPONENT_CALLBACKS

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

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

Gdy ta opcja jest włączona, wymuszane jest ignorowanie przez pakiety, które jest stosowane, bieżącej wartości android:resizeableActivity oraz docelowego pakietu SDK równego M lub niższego, a także uznanie aktywności za bez możliwości zmiany rozmiaru. W tym przypadku wartość obrotu i przycięcia kamery będzie zależeć tylko od potrzebnej kompensacji z uwzględnieniem bieżącego obrotu wyświetlacza.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Identyfikator zmiany: 189229956
Stan domyślny: wyłączona dla wszystkich aplikacji.

Gdy ta opcja jest włączona, wymuszane jest stosowanie pakietów do zastępowania domyślnego działania obracania i przycinania kamery oraz zawsze zwracania wartości CaptureRequest.SCALER_ROTATE_AND_CROP_NONE. Domyślne działanie 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 dla wszystkich aplikacji.

Ta zmiana decyduje o wszystkich zmianach, 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 jest włączona w przypadku pakietu aplikacji, minimalny współczynnik proporcji podany w pliku manifestu zostanie zastąpiony najdłuższym włączonym współczynnikiem proporcji, chyba że wartość w pliku manifestu aplikacji jest wyższa.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

Gdy włączona jest też usługa OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w pakiecie powoduje ustawienie minimalnego współczynnika proporcji aktywności na dużą wartość zdefiniowaną w 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 też usługa OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w pakiecie powoduje ustawienie minimalnego współczynnika proporcji aktywności na średnią wartość określoną w OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Identyfikator zmiany: 203647190
Stan domyślny: włączony dla wszystkich aplikacji.

Jeśli włączony jest też mechanizm OVERRIDE_MIN_ASPECT_RATIO, ta zmiana ogranicza wszelkie inne zmiany, które wymuszają do określonej wartości minimalny współczynnik proporcji aktywności – na przykład 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 rejestrowane tylko przez platformę zgodności.

Umożliwia ograniczenie liczby wywołań funkcji Toast.show(), aby nie obciążać użytkownika zbyt dużą liczbą tostów w krótkim czasie. Próba wyświetlenia większej liczby tostów niż jest dozwolona w danym przedziale czasu spowoduje odrzucenie tego powiadomienia.

REQUEST_LISTENING_MUST_MATCH_PACKAGE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego wywołanie TileService.requestListeningState(Context, ComponentName) sprawdza, czy pakiet wywołujący (UID) i pakiet docelowego ComponentName są takie same. System sprawdza też, czy użyty kontekst może podejmować działania w imieniu bieżącego użytkownika.

RETURN_ADVANCED_VIDEO_PROFILES

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

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

SHOULD_RESOLVE_PORT_INDEX_FOR_APPS

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i nowszego karty SIM mogą obsługiwać wiele obsługiwanych profili (MEP) na różnych portach. Aby zachować zgodność wsteczną aplikacji operatora, gdy aplikacja kierowana na interfejs API na poziomie 32 lub niższym wywołuje interfejs switchToSubscription lub pobiera interfejsy API bez określania indeksu portów, system zachowuje dotychczasowe działanie, zawsze używając indeksu portu 0, nawet jeśli samo urządzenie ma włączony interfejs MEP eUICC.

SWITCH_WITHOUT_PORT_INDEX_EXCEPTION_ON_DISABLE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego system zgłasza wyjątek, gdy wywoływana jest metoda switchToSubscription() bez parametru portIndex, która wyłącza subskrypcję.

THROW_ON_INVALID_PRIORITY_VALUE

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

W przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) lub nowszego 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 wywołanie może zakończyć się niepowodzeniem, jeśli nadal będą z niego korzystać.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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