Aktywność
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja Alfa |
|---|---|---|---|---|
| 22 października 2025 r. | 1.11.0 | - | 1.12.0-beta01 | - |
Deklarowanie zależności
Aby dodać zależność od Activity, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Odlotowe
dependencies { def activity_version = "1.11.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.11.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.12
Wersja 1.12.0-beta01
22 października 2025 r.
androidx.activity:activity:1.12.0-beta01, androidx.activity:activity-compose:1.12.0-beta01 i androidx.activity:activity-ktx:1.12.0-beta01 są zwalniane. Wersja 1.12.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Wprowadzamy eksperymentalny interfejs
ActivityFlagsAPI do zarządzania zmianami w zachowaniu środowiska wykonawczego i migracjami. Pierwsza flaga włącza stabilne sortowanie w przypadkuOnBackPressedCallback, dzięki czemu nawigacja wsteczna jest bardziej przewidywalna w przypadku zmian cyklu życia. Deweloperzy mogą zrezygnować z tej funkcji, ustawiając wartośćActivityFlags.isOnBackPressedLifecycleOrderMaintained = false. (I06bdf, Id08bb, I439aa, b/422730945, b/450533622)
Aktualizacja zależności
- Zaktualizowano zależności cyklu życia do wersji 2.9.4 (Ic9fb2)
Wersja 1.12.0-alpha09
24 września 2025 r.
androidx.activity:activity:1.12.0-alpha09, androidx.activity:activity-compose:1.12.0-alpha09 i androidx.activity:activity-ktx:1.12.0-alpha09 są zwalniane. Wersja 1.12.0-alpha09 zawiera te zmiany.
Zmiany zależności
- Aktywność zależy teraz od zdarzenia nawigacji w wersji 1.0.0-alpha08.
Wersja 1.12.0-alpha08
10 września 2025 r.
androidx.activity:activity:1.12.0-alpha08, androidx.activity:activity-compose:1.12.0-alpha08 i androidx.activity:activity-ktx:1.12.0-alpha08 są zwalniane. Wersja 1.12.0-alpha08 zawiera te zmiany.
Aktualizacja zależności
- Aktywność zależy teraz od zdarzenia nawigacji w wersji 1.0.0-alpha08.
Wersja 1.12.0-alpha07
27 sierpnia 2025 roku
androidx.activity:activity:1.12.0-alpha07, androidx.activity:activity-compose:1.12.0-alpha07 i androidx.activity:activity-ktx:1.12.0-alpha07 są zwalniane. Wersja 1.12.0-alpha07 zawiera te zmiany.
Poprawki błędów
- Rozwiązanie problemu z
EdgeToEdgena interfejsie API 35, w którym niewidoczne widoki powodowały nieoczekiwane wstawki pomiarowe. (If49ff)
Aktualizacja zależności
- Aktywność zależy teraz od zdarzenia nawigacji
1.0.0-alpha07.
Wersja 1.12.0-alpha06
13 sierpnia 2025 r.
androidx.activity:activity:1.12.0-alpha06, androidx.activity:activity-compose:1.12.0-alpha06 i androidx.activity:activity-ktx:1.12.0-alpha06 są zwalniane. Wersja 1.12.0-alpha06 zawiera te zmiany.
MinSdk Update
- Domyślna wartość
minSdkw przypadku AndroidaX została przeniesiona z API 21 na API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
Aktualizacje dokumentacji
- Zaktualizowano dokumentację KDocs dla
PredictiveBackHandler, aby zwrócić uwagę na znany problem z czasem, w którym może przetworzyć gest w tej samej klatce, w której jest wyłączony. (I5be5c, b/431534103) - Zaktualizowano dokumentację KDocs dla funkcji
BackHandleriPredictiveBackHandler, aby wyraźnie określić zachowanie „ostatni element wygrywa” oraz zalecać bezwarunkowe komponowanie za pomocą flagienabled. (I7ab94)
Aktualizacja zależności
- Aktywność zależy teraz od zdarzenia nawigacji
1.0.0-alpha06.
Wersja 1.12.0-alpha05
30 lipca 2025 r.
androidx.activity:activity:1.12.0-alpha05, androidx.activity:activity-compose:1.12.0-alpha05 i androidx.activity:activity-ktx:1.12.0-alpha05 są zwalniane. Wersja 1.12.0-alpha05 zawiera te zmiany.
Aktualizacja zależności
- Aktywność zależy teraz od zdarzenia nawigacji
1.0.0-alpha05.
Wersja 1.12.0-alpha04
2 lipca 2025 r.
androidx.activity:activity:1.12.0-alpha04, androidx.activity:activity-compose:1.12.0-alpha04 i androidx.activity:activity-ktx:1.12.0-alpha04 są zwalniane. Wersja 1.12.0-alpha04 zawiera te zmiany.
Zmiany zależności
- Aktywność zależy teraz od NavigationEvent Alpha04
Wersja 1.12.0-alpha03
18 czerwca 2025 r.
androidx.activity:activity:1.12.0-alpha03, androidx.activity:activity-compose:1.12.0-alpha03 i androidx.activity:activity-ktx:1.12.0-alpha03 są zwalniane. Wersja 1.12.0-alpha03 zawiera te zmiany.
Poprawki błędów
Zmienne
OnBackPressedDispatcheriNavigationEventDispatchersą teraz inicjowane z opóźnieniem wComponentActivity. (I710e6)Rozwiązaliśmy problemy z
OnBackPressedDistpatcher, które powodowały:- Tylko najnowszy dyspozytor
OnBackPressedCallbackzostał dodany do powiadomień o jego stanie włączenia (b/418715930). OnBackPressedDispatcherusuwa nieprawidłowe wywołanie zwrotne podczas korzystania z funkcjiaddCallback, która przyjmuje cykl życia. (b/422714753)OnBackPressedDispatcher.remove()nie usuwa wszystkich wystąpień zarejestrowanegoOnBackPressedCallback. (b/423024414)
- Tylko najnowszy dyspozytor
Wersja 1.12.0-alpha02
4 czerwca 2025 r.
androidx.activity:activity:1.12.0-alpha02, androidx.activity:activity-compose:1.12.0-alpha02 i androidx.activity:activity-ktx:1.12.0-alpha02 są zwalniane. Wersja 1.12.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Z NavigationEvent
1.0.0-alpha02: naprawionoConcurrentModificationException, który mógł wystąpić, gdy wywoływanoNavigationEventCallback.remove()z powodu jednoczesnej modyfikacji wewnętrznej listy elementów zamykanych. (I63066)
Wersja 1.12.0-alpha01
20 maja 2025 r.
androidx.activity:activity:1.12.0-alpha01, androidx.activity:activity-compose:1.12.0-alpha01 i androidx.activity:activity-ktx:1.12.0-alpha01 są zwalniane. Wersja 1.12.0-alpha01 zawiera te zmiany.
Nowe funkcje
ComponentActivityiComponentDialogzostały zintegrowane z NavigationEvent1.0.0-alpha01za pomocą interfejsuNavigationEventDispatcherOwnerAPI. Możesz teraz pobraćNavigationEventDispatcherzComponentActivityza pomocą polanavigationEventDispatcher. PonieważOnBackPressedDispatcherzostał przepisany na podstawie nowej biblioteki, wszystkie poprzednie zastosowania powinny nadal działać prawidłowo. W przyszłości używajNavigationEventDispatcheriNavigationEventCallback. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)
Wersja 1.11
Wersja 1.11.0
10 września 2025 r.
androidx.activity:activity:1.11.0, androidx.activity:activity-compose:1.11.0 i androidx.activity:activity-ktx:1.11.0 są zwalniane. Wersja 1.11.0 zawiera te zmiany.
Ważne zmiany od wersji 1.10.0:
- Dodano interfejs
MediaCapabilitiesAPI doPickVisualMediaRequest, aby umożliwić aplikacjom określanie możliwości multimedialnych, takich jak obsługiwane typy HDR. - Aktywność jest teraz kompilowana za pomocą interfejsu API w wersji 36.
Wersja 1.11.0-rc01
23 kwietnia 2025 r.
androidx.activity:activity:1.11.0-rc01, androidx.activity:activity-compose:1.11.0-rc01 i androidx.activity:activity-ktx:1.11.0-rc01 są zwalniane. Wersja 1.11.0-rc01 zawiera te zmiany.
Wersja 1.11.0-beta01
9 kwietnia 2025 r.
androidx.activity:activity:1.11.0-beta01, androidx.activity:activity-compose:1.11.0-beta01 i androidx.activity:activity-ktx:1.11.0-beta01 są zwalniane. Wersja 1.11.0-beta01 zawiera te zmiany.
Wersja 1.11.0-alpha02
26 marca 2025 r.
androidx.activity:activity:1.11.0-alpha02, androidx.activity:activity-compose:1.11.0-alpha02 i androidx.activity:activity-ktx:1.11.0-alpha02 są zwalniane. Wersja 1.11.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Zintegrowaliśmy nowe funkcje
EDGE_NONEiframeTimeMillisz Androida 16 Beta03 zBackEventCompatudostępnianym przez funkcjehandleOnBackStartedihandleOnBackProgressedOnBackPressedCallback.
Aktualizacje zależności
- Aktywność jest teraz kompilowana za pomocą interfejsu API w wersji 36. (I510e8, b/301910674)
Wersja 1.11.0-alpha01
12 marca 2025 r.
androidx.activity:activity:1.11.0-alpha01, androidx.activity:activity-compose:1.11.0-alpha01 i androidx.activity:activity-ktx:1.11.0-alpha01 są zwalniane. Wersja 1.11.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodano interfejs
MediaCapabilitiesAPI doPickVisualMediaRequest, aby umożliwić aplikacjom określanie możliwości multimedialnych, takich jak obsługiwane typy HDR. (Ic3ee7)
Wersja 1.10
Wersja 1.10.1
26 lutego 2025 r.
androidx.activity:activity:1.10.1, androidx.activity:activity-compose:1.10.1 i androidx.activity:activity-ktx:1.10.1 są zwalniane. Wersja 1.10.1 zawiera te zmiany.
Poprawki błędów
- Problemy z
ViewTreeOnBackPressedDispatcherOwnersiFullyDrawnReporterOwnersmożna teraz rozwiązywać za pomocą rozłącznych elementów nadrzędnych widoku, np.ViewOverlay. Więcej informacji o rozłącznych elementach nadrzędnych widoku znajdziesz w informacjach o wersji podstawowej lub w dokumentacji wViewTree.setViewTreeDisjointParent. (Ie7750)
Wersja 1.10.0
15 stycznia 2025 r.
androidx.activity:activity:1.10.0, androidx.activity:activity-compose:1.10.0 i androidx.activity:activity-ktx:1.10.0 są zwalniane. Wersja 1.10.0 zawiera te zmiany.
Ważne zmiany od wersji 1.9.0
PhotoPickerumożliwia teraz wybieranie obrazów w określonej kolejności i wybieranie karty (albumy lub obrazy), która ma być początkowo widoczna.- Kontrakty
PickVisualMediaiPickMultipleVisualMediaActivity Result, które wywołują selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć w systemie jest niedostępny, ale używają publicznej czynnościACTION_SYSTEM_FALLBACK_PICK_IMAGESi powiązanych dodatków, aby zapewnić producentom OEM i aplikacjom systemowym spójne działanie selektora zdjęć jako rozwiązania rezerwowego. - Nowa
LocalActivitykompozycja lokalna, która udostępniaActivitydla bieżącego zakresu, dzięki czemu deweloperzy nie muszą pobieraćActivityzLocalContext.
Wersja 1.10.0-rc01
11 grudnia 2024 r.
androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01 i androidx.activity:activity-ktx:1.10.0-rc01 są zwalniane. Wersja 1.10.0-rc01 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że zmiana stanu włączenia, gdy
PredictiveBackHandlerjest obecnie aktywny, powodowała natychmiastowe przerwanie wywołania zwrotnego. Teraz dokończy bieżące wywołanie zwrotne niezależnie od zmian stanu włączonego. (Ib8719)
Wersja 1.10.0-beta01
13 listopada 2024 r.
Wersje androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01 i androidx.activity:activity-ktx:1.10.0-beta01 zostały udostępnione bez zmian w porównaniu z ostatnią wersją alfa. Wersja 1.10.0-beta01 zawiera te zmiany.
Wersja 1.10.0-alpha03
30 października 2024 r.
androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03 i androidx.activity:activity-ktx:1.10.0-alpha03 są zwalniane. Wersja 1.10.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano nowy lokalny komponent
LocalActivity, który udostępniaActivitydla bieżącego zakresu, dzięki czemu deweloperzy nie muszą pobieraćActivityzLocalContext. Zawiera też nową regułę lint, która sprawdza, czyLocalContextjest nieprawidłowo rzutowany naActivity. (I7746a, b/283009666)
Poprawki błędów
- Z Activity
1.9.3:PredictiveBackHandlernie będzie już wywoływać wywołania zwrotnego po wyłączeniu modułu obsługi. Rozwiąże to problem, w wyniku którego funkcjaNavHostz Navigation Compose zgłaszała błądIndexOutOfBoundsException. (I3f75e, b/365027664, b/340202286)
Aktualizacja zależności
- Biblioteka Activity Compose zależy teraz od środowiska wykonawczego Compose w wersji 1.7.0 (I7746a, b/283009666)
Wersja 1.10.0-alpha02
4 września 2024 r.
androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02 i androidx.activity:activity-ktx:1.10.0-alpha02 są zwalniane. Wersja 1.10.0-alpha02 zawiera te zmiany.
Zmiany w zachowaniu
- Kontrakty
PickVisualMediaiPickMultipleVisualMediaActivity Result, które wywołują selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć w systemie jest niedostępny, ale używają publicznej czynnościACTION_SYSTEM_FALLBACK_PICK_IMAGESi powiązanych dodatków, aby zapewnić producentom OEM i aplikacjom systemowym spójne działanie selektora zdjęć jako rozwiązania rezerwowego. Nie powinno to mieć wpływu na wrażenia użytkowników, którzy mają urządzenia z najnowszą wersją Usług Google Play. (I3513d)
Poprawki błędów
- Usunęliśmy ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszego (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (I9496c, b/345472586)
- W sekcji Aktywność
1.9.2: rozwiązaliśmy problem polegający na tym, że interfejs Activity ComposePredictiveBackHandlerAPI nadal obsługiwał gest cofania systemowego w ramce, w której został wyłączony. Mogło to powodować, że biblioteki takie jak Navigation Compose obsługiwały cofanie nawet w przypadku pustego stosu wstecznego, co powodowało zgłaszanie błęduIndexOutOfBoundsException. (Ie3301, b/340202286) - Na karcie Aktywność
1.9.1: rozwiązaliśmy problem zPredictiveBackHandler, który powodował, że po cofnięciu zmian w systemie próba wykonaniaonBackPressedzOnBackPressedDispatcherkończyła się niepowodzeniem. (I5f1f8)
Wersja 1.10.0-alpha01
26 czerwca 2024 r.
androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01 i androidx.activity:activity-ktx:1.10.0-alpha01 są zwalniane. Ta wersja jest opracowywana w wewnętrznej gałęzi.
Nowe funkcje
- Dodaliśmy obsługę nowych funkcji
PhotoPickerwprowadzonych w Androidzie V, w tym możliwość wybierania obrazów w określonej kolejności i wybierania karty (albumy lub obrazy), która ma być początkowo widoczna.
Wersja 1.9
Wersja 1.9.3
16 października 2024 r.
androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3 i androidx.activity:activity-ktx:1.9.3 są zwalniane. Wersja 1.9.3 zawiera te zatwierdzenia.
Poprawki błędów
PredictiveBackHandlernie będzie już wywoływać funkcji zwrotnej po wyłączeniu modułu obsługi. Rozwiąże to problem, w wyniku którego funkcjaNavHostz Navigation Compose zgłaszała błądIndexOutOfBoundsException. (I3f75e, b/340202286)
Wersja 1.9.2
4 września 2024 r.
androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2 i androidx.activity:activity-ktx:1.9.2 są zwalniane. Wersja 1.9.2 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że interfejs Activity Compose
PredictiveBackHandlerAPI nadal obsługiwał gest cofania systemu w ramce, w której został wyłączony. Mogło to powodować, że biblioteki takie jak Navigation Compose obsługiwały cofanie nawet przy pustym stosie wstecznym, co powodowało zgłaszanie błęduIndexOutOfBoundsException. (Ie3301, b/340202286)
Wersja 1.9.1
24 lipca 2024 r.
androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1 i androidx.activity:activity-ktx:1.9.1 są zwalniane. Wersja 1.9.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z
PredictiveBackHandler, który powodował, że po przywróceniu systemu próba wykonaniaonBackPressedzOnBackPressedDispatcherkończyła się niepowodzeniem. (I5f1f8)
Wersja 1.9.0
17 kwietnia 2024 r.
androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0 i androidx.activity:activity-ktx:1.9.0 są zwalniane. Wersja 1.9.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.8.0
ComponentActivityimplementuje terazOnUserLeaveHintProvider, aby umożliwić komponentom wywoływanie zwrotne w przypadku zdarzeńonUserLeaveHint.- Interfejsy API
OnBackPressedCallback,BackHandleriPredictiveBackHandlerostrzegają teraz przed wywoływaniemonBackPressedDispatcher.onBackPressed()podczas obsługi przejścia wstecz, ponieważ zawsze przerywa to animację przewidywanego przejścia wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. - Pozostałe interfejsy API Activity zostały przepisane w Kotlinie, a wszystkie rozszerzenia dostępne wcześniej w
activity-ktxzostały przeniesione doactivity.activity-ktxjest teraz całkowicie pusta.- W ramach konwersji
ActivityResultLauncherna Kotlin metodęgetContractprzekształciliśmy w abstrakcyjną właściwość Kotlin. Jest to zmiana zgodna binarnie, ale powodująca błędy w kodzie źródłowym, jeśli implementacjaActivityResultLauncherjest napisana w języku Kotlin.
- W ramach konwersji
Wersja 1.9.0-rc01
3 kwietnia 2024 r.
androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01 i androidx.activity:activity-ktx:1.9.0-rc01 są zwalniane. Wersja 1.9.0-rc01 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aktywność zależy teraz od instalatora profilu 1.3.1.
Wersja 1.9.0-beta01
20 marca 2024 r.
androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01 i androidx.activity:activity-ktx:1.9.0-beta01 są zwalniane. Wersja 1.9.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono regresję wydajności uruchamiania aktywności wprowadzoną w Activity
1.9.0-alpha02, która była spowodowana wywoływaniem funkcjiOnBackPressedDispatcherw ramach tworzenia aktywności. (Ie75e3)
Wersja 1.9.0-alpha03
7 lutego 2024 r.
androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03 i androidx.activity:activity-ktx:1.9.0-alpha03 są zwalniane. Wersja 1.9.0-alpha03 zawiera te zatwierdzenia.
Ostrzeżenie dotyczące lintera
- Interfejsy API
OnBackPressedCallback,BackHandleriPredictiveBackHandlerostrzegają teraz przed wywoływaniemonBackPressedDispatcher.onBackPressed()podczas obsługi przejścia wstecz, ponieważ zawsze przerywa to animację przewidywanego przejścia wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. (1e4222, 2c950d, b/287505200)
Poprawki błędów
- Jeśli zdarzenie powrotu zostanie wysłane z systemu uruchomionego podczas już trwającego gestu przewidywanego powrotu, aktualnie trwający gest przewidywanego powrotu zostanie anulowany, a nowe zdarzenie powrotu przejmie kontrolę, aby rozpocząć nowy gest przewidywanego powrotu. (I3482e)
- Naprawiono błąd, który występował podczas pierwszego dostępu do
onBackPressedDispatcherzComponentActivityw wątku w tle. Teraz można bezpiecznie uzyskać dostęp doonBackPressedDispatcherw dowolnym wątku. (I79955)
Wersja 1.9.0-alpha02
24 stycznia 2024 r.
androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02 i androidx.activity:activity-ktx:1.9.0-alpha02 są zwalniane. Wersja 1.9.0-alpha02 zawiera te zatwierdzenia.
Konwersje w Kotlinie
ActivityResultRegistryzostał przepisany w języku Kotlin. Dzięki temu wartość nullability typów ogólnych w kontrakcie przekazanym doregisterzostanie prawidłowo przekazana doActivityResultLauncherzwróconego do Ciebie. (I121f0)ActivityResultzostał przepisany w języku Kotlin.ActivityResultRozszerzenia Kotlin, które obsługują rozkładanie na polaresultCodeidata, zostały przeniesione zactivity-ktxdoactivity. (I0565a)- Rozszerzenia Kotlin
by viewModels()dlaComponentActivityitrackPipAnimationHintViewzostały przeniesione zactivity-ktxdoactivity. Artefaktactivity-ktxjest teraz całkowicie pusty. (I0a444)
Poprawki błędów
- Interfejs API
enableEdgeToEdgerysuje teraz elementy wokół wycięć na wyświetlaczu. (a3644b, b/311173461) - W Activity
1.8.2: poprawiono dodatkowe dane przekazywane do kontraktu aktywności selektora zdjęćACTION_SYSTEM_FALLBACK_PICK_IMAGES, aby prawidłowo przekazywać je za pomocą kluczaEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, a nie dodatkowych danych z kluczem"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który wdraża systemowy selektor zdjęć, zdecydowanie zalecamy obsługę obu dodatków, aby zapewnić jak największą kompatybilność. (I96a00)
Wersja 1.9.0-alpha01
29 listopada 2023 r.
androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01 i androidx.activity:activity-ktx:1.9.0-alpha01 są zwalniane. Wersja 1.9.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivityimplementuje terazOnUserLeaveHintProvider, aby umożliwić komponentom wywoływanie zwrotne w przypadku zdarzeńonUserLeaveHint. (I54892)
Zmiany w interfejsie API
ComponentActivityzostał przepisany w języku Kotlin. (I14f31)ActivityResultCallerzostał przepisany w języku Kotlin. (Ib02e4)ActivityResultLauncherzostał przepisany w języku Kotlin. W ramach tej konwersji metodagetContractjest teraz abstrakcyjną właściwością Kotlin. Jest to zmiana zgodna binarnie, ale powodująca błędy w kodzie źródłowym, jeśli implementacjaActivityResultLauncherjest napisana w języku Kotlin. (Id4615)PickVisualMediaRequestma teraz taki sam minimalny poziom interfejsu API (19) jak kontraktPickVisualMediaActivity Result. (Id6e21)
Aktualizacja zależności
- Aktywność zależy teraz od Core
1.13.0-alpha01. (I14f31)
Wersja 1.8
Wersja 1.8.2
13 grudnia 2023 r.
androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2 i androidx.activity:activity-ktx:1.8.2 są zwalniane. Wersja 1.8.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiono dodatkowe dane przekazywane do
ACTION_SYSTEM_FALLBACK_PICK_IMAGESw umowie dotyczącej aktywności selektora zdjęć, aby prawidłowo przekazywać kluczEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXzamiast używać dodatkowych danych z kluczem"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który wdraża systemowy selektor zdjęć, zdecydowanie zalecamy obsługę obu dodatków, aby zapewnić jak największą kompatybilność. (I96a00)
Wersja 1.8.1
15 listopada 2023 r.
androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1 i androidx.activity:activity-ktx:1.8.1 są zwalniane. Wersja 1.8.1 zawiera te zatwierdzenia.
Poprawki błędów
OnBackPressedDispatchernadal wysyła zdarzenia do właściwegoOnBackPressedCallbacknawet po dodaniu nowegoOnBackPressedCallbackpodczas obsługi gestu powrotu. (Id0ff6)
Wersja 1.8.0
4 października 2023 roku
androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0 i androidx.activity:activity-ktx:1.8.0 są zwalniane. Wersja 1.8.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.7.0
- Przewidywane przejście wstecz –
OnBackPressedCallbackoferuje teraz nowe wywołania zwrotne przewidywanego przejścia wstecz, które obsługują rozpoczęcie gestu przejścia wstecz, jego postęp i anulowanie. Oprócz tego dostępne jest poprzednie wywołanie zwrotnehandleOnBackPressed(), które obsługuje zatwierdzenie gestu przejścia wstecz. Zawiera też funkcjęPredictiveBackHandler, która obsługuje zdarzenia związane z gestem cofania w kompozycji aktywności. Zapewnia przepływ obiektów BackEventCompat, które muszą być zbierane w zawieszającej lambdzie podanej przez Ciebie:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed() został wycofany na rzecz interfejsów API do obsługi powrotu. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher zamiast zastępować tę metodę.
- EdgeToEdge – dodano
ComponentActivity.enableEdgeToEdge(), aby w sposób zgodny wstecznie można było łatwo skonfigurować wyświetlacz od krawędzi do krawędzi.
Wersja 1.8.0-rc01
20 września 2023 r.
androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01 i androidx.activity:activity-ktx:1.8.0-rc01 są zwalniane. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.
Wersja 1.8.0-beta01
6 września 2023 r.
androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01 i androidx.activity:activity-ktx:1.8.0-beta01 są zwalniane. Wersja 1.8.0-beta01 zawiera te zatwierdzenia.
Ulepszanie dokumentacji
- Ulepszyliśmy dokumentację dotyczącą
BackEventCompat. (aosp/2722254)
Wersja 1.8.0-alpha07
23 sierpnia 2023 r.
androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07 i androidx.activity:activity-ktx:1.8.0-alpha07 są zwalniane. Wersja 1.8.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
W Activity Compose dodano nowy komponent
PredictiveBackHandler, który obsługuje zdarzenia gestu przewidywania powrotu. ZawieraFlowobiektówBackEventCompat, które należy zebrać w podanej przez Ciebie funkcji lambda zawieszającej:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }Zawiera też ostrzeżenie w czasie kompilacji za pomocą reguły lint, aby zapewnić, że wywołania
Flowwywołującollect(). (Id2773, b/294884345)Obiekt
onBackPressedDispatcherwComponentActivityjest teraz inicjowany z opóźnieniem, dzięki czemu jest tworzony tylko wtedy, gdy jest wymagany. (I0bf8e)
Poprawki błędów
ComponentActivitynie będzie już wyświetlać błędu NPE na Androidzie 13, gdy otrzyma wywołanie zwrotneonBackPressed(), a aktywność została jużDESTROYED. (Idb055, b/291869278)- Usunięto użycie eksperymentalnego interfejsu API
isAtLeastU()(Ie9117, b/289269026)
Wersja 1.8.0-alpha06
21 czerwca 2023 r.
androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06 i androidx.activity:activity-ktx:1.8.0-alpha06 są zwalniane. Wersja 1.8.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
OnBackPressedDispatcher– teraz prawidłowo anuluje wszystkie wywołania zwrotne, które zostały usunięte podczas gestu przewidywania powrotu. (I3f90f)
Zmiany w interfejsie API
- Podczas przekazywania wartości
SystemBarStyle.autodo interfejsuenableEdgeToEdgeAPI możesz teraz zastąpić parametr lambdadetectDarkMode, aby podać niestandardową logikę wykrywania trybu nocnego. (aosp/2546393, b/278263793)
Wersja 1.8.0-alpha05
7 czerwca 2023 r.
androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05 i androidx.activity:activity-ktx:1.8.0-alpha05 są zwalniane. Ta wersja jest opracowywana w wewnętrznej gałęzi.
Zmiany w interfejsie API
- Activity udostępnia teraz klasę
BackEventCompat, która jest wersją klasyBackEventzgodną wstecznie i odłączoną od klasyBackEventframeworka. - Zmiana powodująca niezgodność: metody
handleOnBackStartedihandleOnBackProgressedklasyOnBackPressedCallbackotrzymują teraz instancjęandroidx.activity.BackEventCompatzamiast klasyandroid.window.BackEventframeworka. Zaktualizowaliśmy też odpowiednie interfejsy@VisibleForTestingAPI naOnBackPressedDispatcher. - Konstruktor
OnBackPressedDispatcherprzyjmuje teraz opcjonalną instancjęConsumer<Boolean>, która umożliwia właścicielom dyspozytora otrzymywanie wywołania zwrotnego, gdy liczba włączonych wywołań zwrotnych zmienia się z zera na wartość różną od zera lub odwrotnie.
Poprawki błędów
- W sekcji Aktywność
1.7.2: naprawiono błądReportDrawnpowodujący awarię podczas opuszczania ekranu przed wywołaniem funkcjireport. (Ic46f1, b/260506820)
Wersja 1.8.0-alpha04
10 maja 2023 r.
androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04 i androidx.activity:activity-ktx:1.8.0-alpha04 są zwalniane. Została ona udostępniona z wewnętrznej gałęzi.
Poprawki błędów
- Wersja Activity 1.7.1: –
ReportFullyDrawExecuternie wycieka już podczas korzystania zComponentActivityzActivityScenario. (Id2ff2, b/277434271)
Wersja 1.8.0-alpha03
12 kwietnia 2023 r.
androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03 i androidx.activity:activity-ktx:1.8.0-alpha03 są zwalniane. Została ona udostępniona z wewnętrznej gałęzi.
Nowe funkcje
- Dodaliśmy
ComponentActivity.setUpEdgeToEdge(), aby ułatwić konfigurację wyświetlacza od krawędzi do krawędzi w sposób zgodny wstecznie.
Zmiany w interfejsie API
ComponentActivity.onBackPressed()został wycofany na rzecz interfejsów API do obsługi powrotu. Deweloperzy powinni teraz używać metodyOnBackPressedDispatcherzamiast zastępować tę metodę. (Ibce2f, b/271596918)ComponentDialogiComponentActivityzawierają teraz publiczny interfejs APIinitViewTreeOwners(), który służy do inicjowania wszystkich właścicieli drzewa widoku przed ustawieniem widoku treści. (Ibdce0, b/261314581)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że fragmenty nieprawidłowo unieważniały elementy MenuHost i powodowały nieoczekiwane działanie innych menu w aktywności. (I9404e, b/244336571)
Inne zmiany
ActivityResultRegisterużywa teraz KotlinaRandomzamiast Javy. (I4d98f, b/272096025)
Wersja 1.8.0-alpha02
8 marca 2023 r.
androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02 i androidx.activity:activity-ktx:1.8.0-alpha02 są zwalniane. Opracowano na podstawie gałęzi wewnętrznej.
Aktualizacja zależności
- Z aktywności
1.7.0-rc01: aktywność zależy teraz odLifecycle 2.6.0.
Wersja 1.8.0-alpha01
8 lutego 2023 r.
androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01 i androidx.activity:activity-ktx:1.8.0-alpha01 są zwalniane. Zostało ono utworzone na podstawie wewnętrznej gałęzi.
Nowe funkcje
- Klasa
OnBackPressedCallbackzawiera teraz nowe wywołania zwrotne postępu przewidywanego przejścia wstecz, które obsługują rozpoczęcie gestu wstecz, postęp w trakcie gestu i anulowanie gestu wstecz, a także poprzednie wywołanie zwrotnehandleOnBackPressed(), które jest wywoływane, gdy gest wstecz zostanie zatwierdzony.
Wersja 1.7
Wersja 1.7.2
24 maja 2023 r.
androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2 i androidx.activity:activity-ktx:1.7.2 są zwalniane. Wersja 1.7.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd powodujący awarię
ReportDrawnpodczas opuszczania ekranu przed wywołaniemreport. (Ic46f1, b/260506820)
Wersja 1.7.1
19 kwietnia 2023 r.
androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1 i androidx.activity:activity-ktx:1.7.1 są zwalniane. Wersja 1.7.1 zawiera te zatwierdzenia.
Poprawki błędów
- Właściwość
ReportFullyDrawExecuternie wycieka już podczas korzystania z funkcjiComponentActivityz funkcjąActivityScenario. (Id2ff2, b/277434271)
Wersja 1.7.0
22 marca 2023 r.
androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 i androidx.activity:activity-ktx:1.7.0 są zwalniane. Wersja 1.7.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.6.0
- Kontrakty aktywności selektora zdjęć w
PickVisualMediaiPickMultipleVisualMediazostały zaktualizowane, aby zawierały dodatkowe rozwiązanie awaryjne na wypadek niedostępnościMediaStore.ACTION_PICK_IMAGES. Umożliwia ono producentom OEM i aplikacjom systemowym, takim jak usługi Google Play, zapewnienie spójnego działania selektora zdjęć na szerszej gamie urządzeń z Androidem i poziomów interfejsu API przez wdrożenie działania awaryjnego. Selektor zdjęć użyje tego rozwiązania, jeśli będzie ono dostępne, zanim przejdzie doIntent.ACTION_OPEN_DOCUMENT, które nadal obsługuje wszystkie urządzenia z interfejsem API 19 i nowszym. ComponentDialogimplementuje terazSavedStateRegistryOwneri ma dostęp do własnegoSavedStateRegistryoraz ustawiaSavedStateRegistryOwnerdla swojegoViewTree. Teraz można używać Jetpack Compose wComponentDialog, ponieważ spełnia on wymagania dotycząceLifecycleOwneriSavedStateRegistryOwnerdołączonych do okna za pomocą interfejsów APIViewTree.IntentSenderRequest.Builder.setFlags()umożliwia teraz ustawianie wielu oznaczeń zIntent, a nie tylko jednego.
Konwersja na Kotlin
Wiele klas aktywności zostało przekonwertowanych na język Kotlin. Wszystkie przekonwertowane zajęcia zachowują zgodność binarną z poprzednimi wersjami. W przypadku klas napisanych w Kotlinie te klasy mają niezgodne zmiany w kodzie źródłowym: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.
W tabeli poniżej znajdziesz źródłowe konwersje w nowej wersji aktywności:
| Aktywność 1.5 | Aktywność 1.6 |
|---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Te klasy zostały również przekonwertowane na język Kotlin, ale zachowują zgodność ze źródłem: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest i OnBackPressedDispatcher.
Interfejsy FullyDrawnReporter API
ComponentActivity udostępnia teraz instancję FullyDrawnReporter, która umożliwia wielu komponentom zgłaszanie gotowości do interakcji. ComponentActivity poczeka, aż wszystkie komponenty zostaną ukończone, zanim wywoła reportFullyDrawn() w Twoim imieniu. Te interfejsy API spełniają wymagania dotyczące czasu i nie muszą być wywoływane w ramach wywołania onDraw.
Zalecamy włączenie tych interfejsów API:
- Sygnalizowanie środowisku wykonawczemu Androida zakończenia uruchamiania, aby mieć pewność, że cały kod uruchamiany podczas wieloklatkowej sekwencji uruchamiania jest uwzględniany i traktowany priorytetowo w kompilacji w tle.
- Sygnalizowanie testu porównawczego Macrobenchmark i danych Play Vitals, kiedy aplikacja powinna być uznawana za w pełni wyrenderowaną na potrzeby pomiarów uruchamiania, aby można było śledzić wydajność.
Dodaliśmy 3 interfejsy Activity Compose API, aby ułatwić korzystanie z FullyDrawnReporter w poszczególnych komponentach:
ReportDrawnoznacza, że komponent jest od razu gotowy do interakcji.ReportDrawnWhenprzyjmuje predykat (czylilist.count > 0), aby wskazać, kiedy komponent jest gotowy do interakcji.ReportDrawnAfterprzyjmuje metodę zawieszającą, która po zakończeniu wskazuje, że jesteś gotowy(-a) do interakcji.
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.6.1. (8fc31d) - Aktywność zależy teraz od ProfileInstaller
1.3.0. (83d3b1)
Wersja 1.7.0-rc01
8 marca 2023 r.
androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01 i androidx.activity:activity-ktx:1.7.0-rc01 są zwalniane. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aktywność zależy teraz od
Lifecycle 2.6.0.
Wersja 1.7.0-beta02
22 lutego 2023 roku
androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02 i androidx.activity:activity-ktx:1.7.0-beta02 są zwalniane. Wersja 1.7.0-beta02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Działanie i dodatkowy element używane przez kontrakty
PickVisualMediaiPickMultipleVisualMediajako rezerwa na wypadek niedostępnościMediaStore.ACTION_PICK_IMAGESsą teraz publicznymi stałymi, które zapewniają stabilność interfejsu API producentom OEM i aplikacjom systemowym, które chcą zapewnić spójne działanie selektora zdjęć. To rozwiązanie rezerwowe jest nadal ograniczone tylko do aplikacji systemowych. (Icd320)
Wersja 1.7.0-beta01
8 lutego 2023 r.
androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01 i androidx.activity:activity-ktx:1.7.0-beta01 są zwalniane. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
IntentSenderRequest.Builder.setFlags()umożliwia teraz ustawianie wielu oznaczeń zIntent, a nie tylko jednego. (Iac04c)
Poprawki błędów
- W przypadku
PickVisualMedia, gdy selektor zdjęć nie jest dostępny, mechanizm rezerwowy prawidłowo ogranicza obsługę do aplikacji zainstalowanych w obrazie systemu urządzenia. (If8ae6)
Konwersje w Kotlinie
ActivityResultRegistryOwnerjest teraz napisany w języku Kotlin. Jest to zmiana powodująca niezgodność źródła w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwośćactivityResultRegistry, a nie implementować poprzedniej funkcjigetActivityResultRegistry(). (I0b00e)OnBackPressedDispatcherOwnerjest teraz napisany w języku Kotlin. Jest to zmiana powodująca niezgodność źródła w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwośćonBackPressedDispatcher, a nie implementować poprzedniej funkcjigetOnBackPressedDispatcher. (Ia277d)ContextAware,ContextAwareHelper,OnContextAvailableListener,IntentSenderRequestiOnBackPressedDispatchersą teraz napisane w języku Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Wersja 1.7.0-alpha04
25 stycznia 2023 r.
androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04 i androidx.activity:activity-ktx:1.7.0-alpha04 są zwalniane. Wersja 1.7.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Umowy dotyczące wyników aktywności
PickVisualMediaiPickMultipleVisualMediabędą teraz korzystać z selektora zdjęć udostępnianego przez usługi Google Play, jeśli jest on dostępny w przypadkach, w których selektor zdjęć jest udostępniany przez system Android (np.MediaStore.ACTION_PICK_IMAGES) jest niedostępna. InterfejsisPhotoPickerAvailable()API, który wykrywa tylko selektor zdjęć udostępniany przez system Android, został wycofany. Zalecamy używanie nowego interfejsuisPhotoPickerAvailable(Context)API, który zwraca informację o dostępności selektora zdjęć. (I55be6)
Wersja 1.7.0-alpha03
11 stycznia 2023 r.
androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03 i androidx.activity:activity-ktx:1.7.0-alpha03 są zwalniane. Wersja 1.7.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
ComponentDialogimplementuje terazSavedStateRegistryOwneri ma dostęp do własnegoSavedStateRegistryoraz ustawiaSavedStateRegistryOwnerdla swojego ViewTree. Teraz możesz używać Jetpack Compose wComponentDialog, ponieważ spełnia on wymaganiaLifecycleOwneriSavedStateRegistryOwnerdołączone do okna za pomocą interfejsów ViewTree API. (Idca17, I73468 b/261162296)
Zmiany w interfejsie API
- Dodano funkcję
ReportDrawn, która natychmiast oznacza aktywność jako gotową do wywołania funkcjireportFullyDrawn. (Ic5b14, b/259687964)
Konwersje w Kotlinie
- Klasy
ActvitiyResultCallbackiOnBackPressedCallbackzostały przekonwertowane na Kotlin z zachowaniem zgodności kodu źródłowego i binarnej. (Ifc5e5, Ide1b0, b/257291701)
Wersja 1.7.0-alpha02
24 października 2022 r.
androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02 i androidx.activity:activity-ktx:1.7.0-alpha02 są zwalniane. Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- W sekcji Aktywność
1.6.1: rozwiązaliśmy problem z nieuruchamianiem kontraktuPickMultipleVisualMediaActivity Result na urządzeniach z Androidem R, gdy używana była wartość domyślna parametrumaxItems. (Ie2776, b/249182130)
Wersja 1.7.0-alpha01
5 października 2022 r.
androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01 i androidx.activity:activity-ktx:1.7.0-alpha01 są zwalniane. Wersja 1.7.0-alpha01 zawiera te zatwierdzenia.
Interfejsy FullyDrawnReporter API
ComponentActivity udostępnia teraz instancję FullyDrawnReporter, która umożliwia wielu komponentom zgłaszanie gotowości do interakcji. ComponentActivity poczeka, aż wszystkie komponenty zostaną ukończone, zanim wywoła reportFullyDrawn() w Twoim imieniu. Te interfejsy API spełniają wymagania dotyczące czasu i nie muszą być wywoływane w ramach wywołania onDraw.
Zalecamy włączenie tych interfejsów API:
- Sygnalizowanie środowisku wykonawczemu Androida zakończenia uruchamiania, aby mieć pewność, że cały kod uruchamiany podczas wieloklatkowej sekwencji uruchamiania jest uwzględniany i traktowany priorytetowo w kompilacji w tle.
- Sygnalizowanie testu porównawczego Macrobenchmark i danych Play Vitals, kiedy aplikacja powinna być uznawana za w pełni wyrenderowaną na potrzeby pomiarów uruchamiania, aby można było śledzić wydajność.
Dodaliśmy 2 interfejsy Activity Compose API, aby ułatwić korzystanie z FullyDrawnReporter z pojedynczych komponentów:
ReportDrawnWhenprzyjmuje predykat (czylilist.count > 0), aby wskazać, kiedy komponent jest gotowy do interakcji.ReportDrawnAfterprzyjmuje metodę zawieszającą, która po zakończeniu wskazuje, że jesteś gotowy(-a) do interakcji.
Wersja 1.6.1
Wersja 1.6.1
24 października 2022 r.
androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 i androidx.activity:activity-ktx:1.6.1 są zwalniane. Wersja 1.6.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z nieuruchamianiem kontraktu
PickMultipleVisualMediaActivity Result na urządzeniach z Androidem R w przypadku używania wartości domyślnej dlamaxItems. (Ie2776, b/249182130)
Wersja 1.6.0
Wersja 1.6.0
21 września 2022 r.
androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0 i androidx.activity:activity-ktx:1.6.0 są zwalniane. Wersja 1.6.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.5.0
- Dodano
ActivityResultContracts.PickVisualMediaiActivityResultContracts.PickMultipleVisualMedia, aby zapewnić zgodną wstecznie umowę, która używaMediaStore.ACTION_PICK_IMAGES, gdy dostępny jest Selektor zdjęć, orazIntent.ACTION_OPEN_DOCUMENT, gdy nie jest on dostępny. - Zintegrowaliśmy
OnBackInvokedCallbackw Androidzie 13 zOnBackPressedDispatchersudostępnianym przezComponentActivityiComponentDialog. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcherbędą działać po włączeniu gestu przewidywania powrotu.
Wersja 1.6.0-rc02
7 września 2022 roku
androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02 i androidx.activity:activity-ktx:1.6.0-rc02 są zwalniane. Wersja 1.6.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
OnBackPressedDispatcherrejestruje terazOnBackInvokedCallbackna konciePRIORITY_DEFAULTzamiast na konciePRIORITY_OVERLAY. (I3901f)- Klasy, które rozszerzają
ComponentActivity, będą teraz zawsze wywoływać oba wywołania zwrotneonMultiWindowModeChanged(). (Ic4d85) - Funkcja
ActivityResultRegistrynie będzie już zwracać wyniku do funkcjiActivityResultCallback, gdy wywołanie funkcjilaunchzgłosi błądException, a funkcja zwrotna została zarejestrowana bez funkcjiLifecycleOwner. (Ia7ff7, b/238350794) ComponentActivitybędzie teraz prawidłowo wysyłać wywołania menu bez konieczności wywoływania funkcji nadrzędnej w aktywności. (Ie33c5, b/238057118)
Aktualizacja zależności
- Biblioteka
Activityjest teraz zależna od Lifecycle2.5.1. (If6697)
Wersja 1.6.0-rc01
24 sierpnia 2022 r.
androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01 i androidx.activity:activity-ktx:1.6.0-rc01 są zwalniane. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Inicjowanie
OnBackPressedDispatchernie będzie już powodowaćClassVerificationErrorw przypadku używania wersji pakietu SDK starszych niż 33. (Ic32e1) - Klasy, które zastępują wywołanie zwrotne
ComponentActivityonPictureInPictureModeChanged(), będą teraz zawsze wysyłać wywołania zwrotne. (Ib7fdb)
Wersja 1.6.0-beta01
10 sierpnia 2022 r.
androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01 i androidx.activity:activity-ktx:1.6.0-beta01 są zwalniane. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Oznaczyliśmy wycofane metody
startActivityForResultistartIntentSenderForResultwComponentActivityjako@NonNull, ponieważ przekazywanie wartościnullzawsze powodowało awarię. (Id2a25, b/231476082)
Poprawki błędów
- Z Activity
1.5.1:ActivityResultRegistrynie będzie już zwracać wyniku doActivityResultCallback, gdy wywołanielaunchzgłosi błądException, a wywołanie zwrotne zostało zarejestrowane bezLifecycleOwner. (Ia7ff7, b/238350794) - W przypadku Activity
1.5.1:ComponentActivitywywołania menu będą teraz prawidłowo przekazywane do zastąpieńonPrepareOptionMenu(),onCreateOptionsMenu()ionOptionsItemSelected()bez konieczności wywoływania funkcji super. (Ie33c5, b/238057118)
Aktualizacja zależności
- W sekcji Aktywność
1.5.1: bibliotekaActivityjest teraz zależna od wersjiLifecycle2.5.1. (If6697)
Wersja 1.6.0-alpha05
15 czerwca 2022 r.
androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05 i androidx.activity:activity-ktx:1.6.0-alpha05 są zwalniane. Wersja 1.6.0-alpha05 została opracowana w prywatnej gałęzi przedpremierowej i nie zawiera publicznych commitów.
Zmiany w interfejsie API
minCompileSdk– teraz 33, aby była zgodna z pakietem SDK Tiramisu Beta 3
Poprawki błędów
- Naprawiono awarię na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK dla
PickVisualMediaActivityResultContract, dzięki czemu powinno ono teraz działać zACTION_OPEN_DOCUMENTna urządzeniach z Androidem 10 i starszym.
Wersja 1.6.0-alpha04
18 maja 2022 r.
Publikacje androidx.activity:activity:1.6.0-alpha04 i androidx.activity:activity-ktx:1.6.0-alpha04
Poprawki błędów
- Naprawiono błąd w
PickVisualMediaRequest, który powodował przepełnienie stosu podczas próby utworzenia żądania za pomocą narzędzia do tworzenia lub funkcji Kotlin najwyższego poziomu. - Zintegrowaliśmy
OnBackInvokedCallbackw Androidzie 13 w wersji beta dla deweloperów 2 zOnBackPressedDispatcherdostarczonym przezComponentDialog. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcherbędą działać po włączeniu gestu przewidywania powrotu.
Wersja 1.6.0-alpha03
27 kwietnia 2022 r.
androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 i androidx.activity:activity-ktx:1.6.0-alpha03 są zwalniane.
- Uwaga: ta wersja będzie kompilowana tylko z pakietem SDK Androida 13 w wersji beta 1 dla deweloperów.
Nowe funkcje
- Dodano
ActivityResultContracts.PickVisualMediaiActivityResultContracts.PickMultipleVisualMedia, aby zapewnić zgodną wstecznie umowę, która używaMediaStore.ACTION_PICK_IMAGES, gdy dostępny jest Selektor zdjęć, orazIntent.ACTION_OPEN_DOCUMENT, gdy nie jest on dostępny. - Zintegrowaliśmy
OnBackInvokedCallbackw Androidzie 13 w wersji beta 1 dla deweloperów zOnBackPressedDispatcherdostarczonym przezComponentActivity. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcherbędą działać po włączeniu gestu przewidywania powrotu.
Wersja 1.6.0-alpha01
23 marca 2022 r.
androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01 i androidx.activity:activity-ktx:1.6.0-alpha01 są zwalniane.
- Uwaga: ta wersja będzie kompilowana tylko z pakietem SDK wersji przedpremierowej 2 Androida 13.
Nowe funkcje
- Zintegrowano zmiany z Androida 13 w wersji Dev Preview 2 z
ComponentActivity.
Wersja 1.5.1
Wersja 1.5.1
27 lipca 2022 roku
androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1 i androidx.activity:activity-ktx:1.5.1 są zwalniane. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
Funkcja
ActivityResultRegistrynie będzie już zwracać wyniku do funkcjiActivityResultCallback, gdy wywołanie funkcjilaunch()spowoduje błądException, a wywołanie zwrotne zostało zarejestrowane bez funkcjiLifecycleOwner. (Ia7ff7, b/238350794)ComponentActivitybędzie teraz prawidłowo przekazywać wywołania menu do zastąpieńonPrepareOptionMenu(),onCreateOptionsMenu()ionOptionsItemSelected()bez konieczności wywoływania funkcji nadrzędnej. (Ie33c5, b/238057118)
Aktualizacja zależności
- Biblioteka
Activityjest teraz zależna od Lifecycle2.5.1. (If6697)
Wersja 1.5.0
Wersja 1.5.0
29 czerwca 2022 r.
androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 i androidx.activity:activity-ktx:1.5.0 są zwalniane. Wersja 1.5.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.4.0
- ComponentDialog –
ComponentDialogto podklasaDialog, która zawieraOnBackPressedDispatcherwywoływany po naciśnięciu systemowego przycisku Wstecz, gdy okno dialogowe jest widoczne. Ważne jest to, że ta podklasa ustawia teżViewTreeOnBackPressedDispatcherOwner, co umożliwia widokom ogólny sposób pobierania prawidłowego dyspozytora, niezależnie od tego, czy znajduje się on wComponentActivity, czy wComponentDialog. - Interfejsy wywołań zwrotnych –
ComponentActivityimplementuje teraz zestaw modułowych interfejsów wywołań zwrotnych, których można używać zamiast wywołań zwrotnychActivity. Te interfejsy to:OnNewIntentProvider,OnConfigurationChangedProvider,OnTrimMemoryProvider,OnPictureInPictureModeChangedProvider,OnMultiWindowModeChangedProvider - Integracja CreationExtras –
ComponentActivitymoże teraz udostępniać bezstanowyViewModelProvider.Factoryza pomocą Lifecycle2.5.0’sCreationExtras.
Inne zmiany
- Konstruktor bez parametrów dla klasy
ActivityResultContracts.CreateDocumentzostał wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ MIME (np. „image/png”), zgodnie z wymaganiamiIntent.ACTION_CREATE_DOCUMENT.
Wersja 1.5.0-rc01
11 maja 2022 roku
androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 i androidx.activity:activity-ktx:1.5.0-rc01 zostały wydane bez zmian w porównaniu z wersją 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.
Wersja 1.5.0-beta01
20 kwietnia 2022 r.
androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01 i androidx.activity:activity-ktx:1.5.0-beta01 są zwalniane. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.4.0-beta01.
Wersja 1.5.0-alpha05
6 kwietnia 2022 roku
androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05 i androidx.activity:activity-ktx:1.5.0-alpha05 są zwalniane. Wersja 1.5.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
ComponentActivitywonPanelClosed()wywołuje teraz również superklasęonPanelClosed(), co rozwiązuje problem polegający na tym, że metodaonContextMenuClosednie była wywoływana. (Ib6f77)
Wersja 1.5.0-alpha04
23 marca 2022 r.
androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04 i androidx.activity:activity-ktx:1.5.0-alpha04 są zwalniane. Wersja 1.5.0-alpha04 zawiera te zatwierdzenia.
Poprawki błędów
SavedStateViewFactoryobsługuje teraz używanieCreationExtrasnawet wtedy, gdy zostało zainicjowane za pomocąSavedStateRegistryOwner. Jeśli podasz dodatkowe informacje, zainicjowane argumenty zostaną zignorowane. (I6c43b, b/224844583)
Wersja 1.5.0-alpha03
23 lutego 2022 r.
androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03 i androidx.activity:activity-ktx:1.5.0-alpha03 są zwalniane. Wersja 1.5.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Możesz teraz przekazywać
CreationExtrasdo funkcji aktywnościby viewModels()(I6a3e6, b/217600303).
Wersja 1.5.0-alpha02
9 lutego 2022 r.
androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02 i androidx.activity:activity-ktx:1.5.0-alpha02 są zwalniane. Wersja 1.5.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivityimplementuje teraz interfejsOnPictureInPictureModeChangedProvider, aby umożliwić dowolnemu komponentowi odbieranie zdarzeń zmiany trybu obrazu w obrazie. (I9f567)ComponentActivityimplementuje teraz interfejsOnMultiWindowModeChangedProvider, aby umożliwić dowolnemu komponentowi odbieranie zdarzeń zmiany trybu wielu okien. (I62d91)
Wersja 1.5.0-alpha01
26 stycznia 2022 r.
androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01 i androidx.activity:activity-ktx:1.5.0-alpha01 są zwalniane. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivityjest teraz zintegrowany z interfejsem ViewModel CreationExtras, który został wprowadzony w ramach Lifecycle2.5.0-alpha01. (Ie7e00, b/207012584)- Dodano
ComponentDialog, podklasęDialog, która zawieraOnBackPressedDispatcher, wywoływaną po naciśnięciu przycisku Wstecz w systemie, gdy okno dialogowe jest widoczne. Ważne jest, że ta podklasa ustawia teżViewTreeOnBackPressedDispatcherOwner, co umożliwia widokom ogólny sposób pobierania odpowiedniego dyspozytora, niezależnie od tego, czy znajduje się on wComponentActivity, czy wComponentDialog. (I8a1bc) ComponentActivityimplementuje teraz nowy interfejs,OnNewIntentProvideraby umożliwić odbieranie tych zdarzeń przez dowolny komponent. (If1f8b)ComponentActivityimplementuje teraz nowy interfejs,OnConfigurationChangedProvideraby umożliwić odbieranie tych zdarzeń przez dowolny komponent. (If623b)ComponentActivityimplementuje teraz nowy interfejsOnTrimMemoryProvider, aby umożliwić odbieranie tych zdarzeń przez dowolny komponent. (Ia9295)
Zmiany w interfejsie API
- Konstruktor bez parametrów dla elementu
ActivityResultContracts.CreateDocumentzostał wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ MIME (np."image/png"), zgodnie z wymaganiamiIntent.ACTION_CREATE_DOCUMENT. (I2bec6) OnBackPressedDispatcherOwnerpowiązany z widokiem można teraz pobrać za pomocąViewTreeOnBackPressedDispatcherOwner, zamiast polegać na rzutowaniuContext. (I74685)
Poprawki błędów
- Naprawiono błąd powodujący awarię podczas pierwszego dostępu do
ViewModelz wywołania zwrotnegoregisterForActivityResult()lub wywołań zwrotnych doLifecycleObserverdodanych w ramachinitComponentActivity. (Ife83f)
Wersja 1.4.0
Wersja 1.4.0
27 października 2021 roku
androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0 i androidx.activity:activity-ktx:1.4.0 są zwalniane. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- AndroidX
ComponentActivityimplementuje terazMenuHost. Dzięki temu każdy komponent może dodawać elementy menu doActionBar, dodając do aktywności instancjęMenuProvider. Do każdego elementuMenuProvidermożna opcjonalnie dodaćLifecycle, który będzie automatycznie kontrolować widoczność tych elementów menu na podstawie stanuLifecyclei usuwaćMenuProviderpo usunięciuLifecycle. - Klasa
ActivityResultContractzostała przepisana w języku Kotlin, aby deweloperzy piszący niestandardowe umowy w tym języku mogli określać prawidłową wartość null dla klas wejściowych i wyjściowych. - Klasa
ActivityResultContractsi jej kontrakty zostały przepisane w języku Kotlin, aby zapewnić prawidłową wartość null.
Wersja 1.4.0-rc01
13 października 2021 r.
androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01 i androidx.activity:activity-ktx:1.4.0-rc01 są zwalniane. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
ActivityResultRegistrynie będzie już zwracać wyniku doActivityResultCallback, gdy wywołanielaunchspowoduje błądException. (If4f91, b/200845664)
Wersja 1.4.0-beta01
29 września 2021 r.
androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01 i androidx.activity:activity-ktx:1.4.0-beta01 są zwalniane. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Naprawiono typy parametrów
ActivityResultContracts.OpenMultipleDocumentsiActivityResultContracts.GetMultipleContents, które powodowały, że podczas korzystania z kodu w języku programowania Java używany był typ wyjściowyList<? extends Uri>. (If71de) - Stałe publiczne w klasach
ActivityResultContracts.StartActivityForResult,ActivityResultContracts.StartIntentSenderForResultiActivityResultContracts.RequestMultiplePermissionssą teraz dostępne podczas korzystania z Kotlin za pomocą ich publicznych obiektówCompanion. (aosp/1832555)
Aktualizacje dokumentacji
- Komunikaty o wycofaniu interfejsów API, które są teraz obsługiwane przez interfejsy API wyników aktywności, czyli
startActivityForResult,startIntentSenderForResult,onActivityResult,requestPermissionsionRequestPermissionsResult, zostały rozszerzone o dodatkowe szczegóły. (cce80f)
Wersja 1.4.0-alpha02
15 września 2021 r.
androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02 i androidx.activity:activity-ktx:1.4.0-alpha02 są zwalniane. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Artefakt
activity-composezawiera teraz błąd lintowaniaLaunchDuringComposition, który uniemożliwia wywoływanie metodylaunchelementuActivityResultLauncherw ramach kompozycji, ponieważ kompozycja powinna być wolna od efektów ubocznych. Używaj interfejsów API do obsługi efektów ubocznych. (7c2bbe, b/191347220)
Zmiany w interfejsie API
- Klasa
ActivityResultContractzostała przepisana w języku Kotlin, aby deweloperzy piszący niestandardowe umowy w tym języku mogli określać prawidłową wartość null dla klas wejściowych i wyjściowych. (I8a8f5) - Klasa
ActivityResultContractsi jej kontrakty zostały przepisane w Kotlinie, aby zapewnić prawidłową wartość null. (I69802)
Wersja 1.4.0-alpha01
1 września 2021 roku
androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 i androidx.activity:activity-ktx:1.4.0-alpha01 są zwalniane. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- AndroidX
ComponentActivityimplementuje teraz interfejsMenuHost. Dzięki temu każdy komponent może dodawać elementy menu doActionBar, dodając do aktywności instancjęMenuProvider. Do każdego elementuMenuProvidermożna opcjonalnie dodaćLifecycle, który będzie automatycznie kontrolować widoczność tych elementów menu na podstawie stanuLifecyclei usuwaćMenuProviderpo usunięciuLifecycle. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Zmiany w zachowaniu
- Funkcja
ActivityResultRegistrybędzie teraz zgłaszać wyjątekIllegalStateExceptionpodczas próby wywołania funkcjilaunch()na urządzeniuActivityResultLauncher, które nie zostało zarejestrowane lub zostało wyrejestrowane. (Ida75d, b/192567522)
Wkład zewnętrzny
Wersja 1.3.1
Wersja 1.3.1
4 sierpnia 2021 r.
androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1 i androidx.activity:activity-ktx:1.3.1 są zwalniane. Wersja 1.3.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Aktywność zależy teraz od Kotlin
1.5.21. - Activity Compose zależy teraz od Compose
1.0.1.
Wersja 1.3.0
Wersja 1.3.0
28 lipca 2021 roku
androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0 i androidx.activity:activity-ktx:1.3.0 są zwalniane. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Artefakt Activity Compose – artefakt
activity-composeudostępnia metodę rozszerzeniasetContentdo hostowania interfejsu Jetpack Compose w aktywności oraz specjalne otoki Compose do interakcji z interfejsami APIComponentActivitydo obsługi systemowego przycisku Wstecz i interfejsami Activity Result API. Więcej informacji znajdziesz w dokumentacji. - Umowa CaptureVideo – umowa
CaptureVideoActivityResultContractzastępuje wycofaną już umowęTakeVideoi zwraca wartość logiczną oznaczającą powodzenie, która działa w wielu aplikacjach aparatu. - Śledzenie widoku podpowiedzi obrazu w obrazie – użytkownicy
activity-ktxmogą teraz używać metody rozszerzeniatrackPipAnimationHintViewnaActivity, aby automatycznie przebudowywaćPictureInPictureParamsz nową pozycją widoku, gdy zmienia on pozycję względem okna.
Wersja 1.3.0-rc02
14 lipca 2021 roku
androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02 i androidx.activity:activity-ktx:1.3.0-rc02 są zwalniane. Wersja 1.3.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Wywołania zwrotne
ActivityResultRegistrysą teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są duplikowane w savedState. (I97816, b/191893160)
Wersja 1.3.0-rc01
1 lipca 2021 r.
androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01 i androidx.activity:activity-ktx:1.3.0-rc01 są udostępniane bez zmian w stosunku do wersji 1.3.0-beta02. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Wersja 1.3.0-beta02
16 czerwca 2021 r.
androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02 i androidx.activity:activity-ktx:1.3.0-beta02 są zwalniane. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Zaktualizowano activity-compose, aby zależało od Compose 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 ma teraz zależność od activity-compose w czasie kompilacji.
Wersja 1.3.0-beta01
2 czerwca 2021 r.
androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 i androidx.activity:activity-ktx:1.3.0-beta01 są zwalniane. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wycofana wcześniej metoda
@Composable registerForActivityResult()została usunięta. UżyjrememberLauncherForActivityResult(). (Ic39d3)
Wersja 1.3.0-alpha08
18 maja 2021 r.
androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08 i androidx.activity:activity-ktx:1.3.0-alpha08 są zwalniane. Wersja 1.3.0-alpha08 zawiera te zmiany.
Nowe funkcje
- Nowa funkcja
CaptureVideoActivityResultContractzwraca wartość logiczną do funkcjiActivityResultCallback, która wskazuje, czy film został zapisany pod podanym identyfikatorem URI. Zastępuje to obecnie wycofany kontraktTakeVideo, ponieważ aplikacje aparatu bardzo rzadko obsługiwały zwracanie miniatury bitmapy, co sprawiało, że wynik był bezużyteczny. (Ie21f2, b/185938070) - Dodano nowy interfejs API
Activity#setPipAnimationHintViewdo aktualizowania wskazówki dotyczącej prostokąta źródłowego PipParams za każdym razem, gdy widok się przesuwa. (I9063d)
Zmiany w interfejsie API
- Funkcja
rememberLauncherForActivityResultzwraca teraz program uruchamiający, który wycofuje funkcjęunregister()– rejestracja i wyrejestrowanie programu uruchamiającego są obsługiwane automatycznie przez funkcjęrememberLauncherForActivityResult. (I2443e)
Zgodność z Compose
androidx.activity:activity-compose:1.3.0-alpha08jest zgodny tylko z Compose w wersji1.0.0-beta07lub nowszej.
Wersja 1.3.0-alpha07
21 kwietnia 2021 r.
androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07 i androidx.activity:activity-ktx:1.3.0-alpha07 są zwalniane. Wersja 1.3.0-alpha07 zawiera te zatwierdzenia.
Poprawki błędów
rememberLauncherForActivityResultzwraca teraz stabilne odwołanie do tej samej instancji, nawet jeśli umowa ulegnie zmianie z powodu ponownego zestawienia.ActivityResultLauncher(Id2d6d)- Używanie niestabilnych wersji Fragmentów powyżej
1.3.0nie będzie już powodować błędu fałszywie pozytywnego, który sugeruje użycie1.3.0. (aosp/1670206, b/184847092)
Wersja 1.3.0-alpha06
7 kwietnia 2021 r.
androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 i androidx.activity:activity-ktx:1.3.0-alpha06 są zwalniane. Wersja 1.3.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nazwa interfejsu
registerForActivityResult()została zmieniona narememberLauncherForActivityResult(), aby lepiej wskazywać, że zwracany obiektActivityResultLauncherjest obiektem zarządzanym, który jest zapamiętywany w Twoim imieniu. Próba wywołania funkcjiunregister, która zwraca wartośćActivityResultLauncher, spowoduje teraz błąd. (I2bb6d) LocalOnBackPressedDispatcherOwner.currentiLocalActivityResultRegistryOwner.currentzwracają teraz wartość dopuszczającą wartość null, aby lepiej określić, czy jest ona dostępna w bieżącej kompozycji. Interfejsy API, które wymagają tych interfejsów, np.BackHandlerirememberLauncherForActivityResult(), będą teraz zgłaszać bardziej opisowy błąd, jeśli nie zostanie znaleziony właściciel bazowy.NavHostdziała teraz nawet wtedy, gdy nie znalezionoOnBackPressedDispatcherOwner, np. podczas wyświetlania podgląduNavHost. (I7d8b4)
Poprawki błędów
BackHandlerbędzie teraz prawidłowo przechwytywać naciśnięcia przycisku Wstecz, jeśli aktywność jestSTOPPED, a potem ponownieSTARTED. Dodano też inne wywołania zwrotne z LifecycleOwner. (I71de6, b/182284739)- Używanie rozszerzenia metody
launch()z niestandardowymActivityResultContract, które ma dane wejścioweUnit, nie będzie już powodować błęduNullPointerException(I76282, b/183837954).
Wersja 1.3.0-alpha05
24 marca 2021 r.
androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 i androidx.activity:activity-ktx:1.3.0-alpha05 są zwalniane. Wersja 1.3.0-alpha05 zawiera te zmiany.
Poprawki błędów
- W Activity 1.2.2: naprawiono problem w sprawdzaniu kodu
InvalidFragmentVersionForActivityResult, który powodował fałszywie dodatni wynik podczas korzystania z Fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985) - W Activity 1.2.2:
ComponentActivityunika terazClassNotFoundExceptionpodczas uruchamianiaIntentzActivityResultContract, który był wcześniej przechowywany jako dodatkowy w innymIntent. (Ieff05, b/182906230)
Aktualizacje zależności
- Z Activity 1.2.2: aktywność zależy teraz od cyklu życia
2.3.1.
Wersja 1.3.0-alpha04
10 marca 2021 r.
androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 i androidx.activity:activity-ktx:1.3.0-alpha04 są zwalniane. Wersja 1.3.0-alpha04 zawiera te zatwierdzenia.
Poprawki błędów
- W sekcji Aktywność
1.2.1:RequestMultiplePermissionszawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko dla tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668) - W sekcji Aktywność
1.2.1:ActivityResultRegistryzapewnia teraz, że trwającelaunch()żądania zwrócą wyniki nawet wtedy, gdyunregister(), a potem ponownieregister()ten sam klawisz. (I9ef34, b/181267562) - Biblioteka Activity Compose nie dodaje już zależności testowych do ścieżki klas środowiska wykonawczego. (Ifd8b3)
- Rozwiązaliśmy problem z funkcją
BackHandler, który powodował, że po ponownym skomponowaniu nadal była używana wcześniej ustawiona lambdaonBack. (8eb5eb)
Wersja 1.3.0-alpha03
24 lutego 2021 r.
androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 i androidx.activity:activity-ktx:1.3.0-alpha03 są zwalniane. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Dostępna jest teraz funkcja
registerForActivityResulttypu „composable”, która umożliwia uzyskiwanie wyników z aktywności w funkcjach typu „composable”. (Ia7851, b/172690553)
Zmiany w interfejsie API
LocalOnBackPressedDispatcherOwnerma teraz funkcjeprovides, które można wykorzystywać wCompositionLocalProvider, zastępując interfejsasProvidableCompositionLocal()API. (I45d24)
Wersja 1.3.0-alpha02
10 lutego 2021 r.
androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 i androidx.activity:activity-ktx:1.3.0-alpha02 są zwalniane. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem w Activity Compose
1.3.0-alpha01, który powodował wyjątekNoSuchMethodError: No static method setContentpodczas korzystania z Compose1.0.0-alpha12. Wszyscy użytkownicy Compose powinni korzystać z wersji1.3.0-alpha02lub nowszej. (b/179911234)
Zmiany w interfejsie API
- Interfejs
BackHandlerAPI umożliwia komponentowi przechwytywanie systemowego przycisku Wstecz. (I58ed5, b/172154006)
Wersja 1.3.0-alpha01
10 lutego 2021 r.
androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 i androidx.activity:activity-ktx:1.3.0-alpha01 są zwalniane. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy artefakt
activity-composezawiera pomocnicze funkcje Jetpack Compose dla interfejsów APIandroidx.activity.ComponentActivity.setContentzostał przeniesiony zandroidx.compose.ui.platform.setContentdoandroidx.activity.compose.setContent. (Icf416)
Znane problemy
- Używanie Activity Compose
1.3.0-alpha01i bibliotek, które od niej zależą, np.androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, spowoduje wyjątekNoSuchMethodError: No static method setContent. (b/179911234)
Wersja 1.2.4
Wersja 1.2.4
21 lipca 2021 r.
Publikacje androidx.activity:activity:1.2.4 i androidx.activity:activity-ktx:1.2.4 Wersja 1.2.4 zawiera te zatwierdzenia.
Poprawki błędów
- Z Activity
1.3.0-rc02: wywołania zwrotne ActivityResultRegistry są teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są duplikowane w savedState. (I97816, b/191893160)
Wersja 1.2.3
Wersja 1.2.3
5 maja 2021 roku
Publikacje androidx.activity:activity:1.2.3 i androidx.activity:activity-ktx:1.2.3 Wersja 1.2.3 zawiera te zatwierdzenia.
Poprawki błędów
- Używanie rozszerzenia metody
launch()z niestandardowymActivityResultContract, które ma dane wejścioweUnit, nie będzie już powodować błęduNullPointerException(I76282, b/183837954). - Naprawiono błąd fałszywie dodatni narzędzia lint, który sugerował użycie fragmentu
1.3.0podczas korzystania z wersji zrzutu, alfa, beta lub RC nowszej wersji biblioteki Fragment. (f4a57e, b/184847092)
Wersja 1.2.2
Wersja 1.2.2
24 marca 2021 r.
Publikacje androidx.activity:activity:1.2.2 i androidx.activity:activity-ktx:1.2.2 Wersja 1.2.2 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem w
InvalidFragmentVersionForActivityResult, który powodował fałszywie pozytywny wynik podczas korzystania z biblioteki Fragment w wersji 1.3.1 lub nowszej. (I54da1, b/182388985) ComponentActivityunika terazClassNotFoundExceptionpodczas uruchamianiaIntentzActivityResultContract, który był wcześniej przechowywany jako dodatkowy w innymIntent. (Ieff05, b/182906230)
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.3.1.
Wersja 1.2.1
Wersja 1.2.1
10 marca 2021 r.
Publikacje androidx.activity:activity:1.2.1 i androidx.activity:activity-ktx:1.2.1 Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
RequestMultiplePermissionszawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko dla tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)ActivityResultRegistryzapewnia teraz, że trwające żądanialaunch()zwrócą wyniki nawet wtedy, gdyunregister(), a potem ponownieregister()przy użyciu tego samego klucza. (I9ef34, b/181267562)
Wersja 1.2.0
Wersja 1.2.0
10 lutego 2021 r.
Publikacje androidx.activity:activity:1.2.0 i androidx.activity:activity-ktx:1.2.0 Wersja 1.2.0 zawiera te zatwierdzenia.
Główne zmiany od wersji 1.1.0
- Interfejsy Activity Result API:
ComponentActivityudostępniają terazActivityResultRegistry, który umożliwia obsługę przepływówstartActivityForResult()+onActivityResult()irequestPermissions()+onRequestPermissionsResult()bez zastępowania metod w aktywności lub fragmencie. Zwiększa bezpieczeństwo typów za pomocąActivityResultContracti zapewnia punkty zaczepienia do testowania tych przepływów. Zapoznaj się z aktualizacją Uzyskiwanie wyniku z aktywności.
ContextAware:ComponentActivityimplementuje terazContextAware, co umożliwia dodanie co najmniej 1 instancjiOnContextAvailableListener, która będzie otrzymywać wywołanie zwrotne przed podstawową instancjąActivity.onCreate().- Zawieszające rozszerzenie Kotlin
withContextAvailable()umożliwia uruchomienie bloku niezawieszającego, gdy kontekst stanie się dostępny, i zwrócenie wyniku. - Ten interfejs API jest używany przez
FragmentActivityw fragmencie 1.3.0 do przywracania stanuFragmentManager. Wszyscy detektorzy dodani do podklasFragmentActivitybędą uruchamiani po tym detektorze. - Ten interfejs API jest używany przez
AppCompatActivityw AppCompat 1.3.0-alpha02 lub nowszym. Wszyscy detektorzy dodani do podklasAppCompatActivitybędą uruchamiani po tym detektorze.
- Zawieszające rozszerzenie Kotlin
ViewTreeSupport:ComponentActivityobsługuje teraz interfejsy APIViewTreeLifecycleOwner.get(View),ViewTreeViewModelStoreOwner.get(View)iViewTreeSavedStateRegistryOwnerdodane w Lifecycle2.3.0i SavedState1.1.0, dzięki czemu zwraca aktywność jakoLifecycleOwner,ViewModelStoreOwneriSavedStateRegistryOwnerw przypadku wszystkich widoków dodanych bezpośrednio doComponentActivity.
- Wsteczna implementacja metody reportFullyDrawn() – metoda
ActivityklasyreportFullyDrawn()została wstecznie zaimplementowana wComponentActivity, aby działać na wszystkich poziomach API. Rozwiązuje to problem z awarią na poziomie API 19 i dodaje śledzenie tej metody na wszystkich poziomach API.
Wersja 1.2.0-rc01
16 grudnia 2020 roku
Publikacje androidx.activity:activity:1.2.0-rc01 i androidx.activity:activity-ktx:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Funkcja
ActivityResultRegistryzawsze przywraca dokładny stan, który został zapisany. (Idd56b) - Dodawanie śledzenia do
ComponentActivity.reportFullyDrawn(Ic7632)
Wkład zewnętrzny
ComponentActivityzastępuje terazreportFullyDrawn(), co umożliwia wywoływanie go na wszystkich poziomach interfejsu API i eliminuje awarię podczas wywoływania tej metody bez odpowiedniego uprawnienia systemowego na urządzeniach z interfejsem API 19. Dziękujemy Simonowi Schillerowi! (b/163239764, #103)
Wersja 1.2.0-beta02
2 grudnia 2020 r.
Publikacje androidx.activity:activity:1.2.0-beta02 i androidx.activity:activity-ktx:1.2.0-beta02 Wersja 1.2.0-beta02 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że interfejs Activity Result API nie czekał na przejście cyklu życia do stanu
STARTEDprzed dostarczeniem wyników, gdy był zarejestrowany wLifecycle. (I109ea)
Wkład zewnętrzny
- Zaktualizowaliśmy dokumentację dotyczącą funkcji
launch(), aby wyraźnie zaznaczyć, że może ona zgłaszać wyjątekActivityNotFoundException. Dziękujemy Michałowi Zielińskiemu! (aosp/1493580)
Wersja 1.2.0-beta01
1 października 2020 roku
Publikacje androidx.activity:activity:1.2.0-beta01 i androidx.activity:activity-ktx:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
Funkcja
ActivityResultRegistrylosowo generuje teraz liczby całkowite, dopóki nie znajdzie liczby, która nie jest przypisana do kodu żądaniaregister(). Zapobiega to możliwemu przepełnieniu liczby całkowitej spowodowanemu zwiększaniem kodów żądań. (b/168779518)Lifecycleobserwatorzy są prawidłowo usuwani podczas wywoływaniaunregister()naActivityResultLauncher. (b/165608393)
Zmiany w zachowaniu
- Funkcja
ActivityResultRegistryzgłasza teraz błądIllegalStateExceptionpodczas próby wywołania funkcjiregister()za pomocą funkcjiLifecycleOwner, której parametrLifecycleosiągnął już wartośćSTARTED. (b/165435866)
Zaktualizowana dokumentacja
ContextAwaredokumentacjiLifecycleOwner, aby podkreślić, żeLifecyclewywołania zwrotne są odpowiednim miejscem na zdarzenia tworzenia i usuwania. (aosp/1414152)
Wersja 1.2.0-alpha08
19 sierpnia 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha08 i androidx.activity:activity-ktx:1.2.0-alpha08 Wersja 1.2.0-alpha08 zawiera te zmiany.
Nowe funkcje
ComponentActivityimplementuje terazContextAware, co umożliwia dodanie co najmniej 1 instancjiOnContextAvailableListener, która otrzyma wywołanie zwrotne przed podstawową instancjąActivity.onCreate(). (b/161390636)- Zawieszające rozszerzenie Kotlin
withContextAvailable()umożliwia uruchomienie bloku niezawieszającego, gdy kontekst stanie się dostępny, i zwrócenie wyniku. (I8290c) - Ten interfejs API jest używany przez
FragmentActivityw fragmencie 1.3.0-alpha08 do przywracania stanuFragmentManager. Wszyscy detektorzy dodani do podklasFragmentActivitybędą uruchamiani po tym detektorze. (I513da) - Ten interfejs API jest używany przez
AppCompatActivityw AppCompat 1.3.0-alpha02. Wszyscy detektorzy dodani do podklasAppCompatActivitybędą uruchamiani po tym detektorze. (I513da)
- Zawieszające rozszerzenie Kotlin
Poprawki błędów
- Rozwiązaliśmy problem z
ActivityResultFragmentVersionDetectorsprawdzaniem Lint, który powodował błędy podczas korzystania z Lint w wersji 27.1.0 lub nowszej. (b/162155191)
Wersja 1.2.0-alpha07
22 lipca 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha07 i androidx.activity:activity-ktx:1.2.0-alpha07 Wersja 1.2.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy nowe
InvalidFragmentVersionForActivityResultsprawdzanie lint, które weryfikuje, czy podczas korzystania z interfejsu Activity Result API używasz fragmentu1.3.0-alpha07. Pozwala to uniknąć awarii w czasie działania spowodowanych problemami z „nieprawidłowym kodem żądania” i nieprawidłowym działaniem próśb o uprawnienia wynikającym z używania starszych wersji fragmentów. (b/152554847)
Wkład zewnętrzny
- Naprawiono
ArrayIndexOutOfBoundsExceptionpodczas analizowania wyników kontraktuRequestPermissionActivity Result. (I8f9e3, b/161057605)
Wersja 1.2.0-alpha06
10 czerwca 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha06 i androidx.activity:activity-ktx:1.2.0-alpha06 Wersja 1.2.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Możesz teraz rozłożyć klasę
ActivityResultw Kotlinie, aby uzyskać bezpośredni dostęp dorequestCodeiintent. (b/157212935) ActivityResultLauncherumożliwia teraz uzyskanieActivityResultContract, który został użyty do zarejestrowania programu uruchamiającego. (b/156875743)
Zmiany w interfejsie API
- Zmiana powodująca niezgodność: metoda
invoke()wActivityResultRegistryzostała zmieniona naonLaunch(). (b/157496491) - Jeśli nie zostanie zwrócony żaden wynik, interfejs
OpenMultipleDocumentszwraca teraz pustą listę zamiastnulldo zarejestrowanego wywołania zwrotnego. (b/157348014)
Wersja 1.2.0-alpha05
20 maja 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha05 i androidx.activity:activity-ktx:1.2.0-alpha05 Wersja 1.2.0-alpha05 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy obsługę
ViewTreeViewModelStoreOwnerz Lifecycle2.3.0-alpha03iViewTreeSavedStateRegistryOwnerz SavedState1.1.0-alpha01podczas używaniaViewwComponentActivity. (aosp/1297993, aosp/1300264)
Zmiany w interfejsie API
TakePictureumowa zwraca terazbooleanwskazującą powodzenie, a nie miniaturęBitmap, ponieważ było to bardzo rzadko obsługiwane przez aplikacje aparatu podczas zapisywania obrazu w dostarczonymUri. (b/154302879)- Rozszerzenia
invoke()wActivityResultLauncherzostały usunięte na rzecz jawnego używanialaunch(), aby lepiej wskazywać, że są to operacje asynchroniczne. Do pakietuandroidx.activity.resultdlaActivityResultLauncher<Void>iActivityResultLauncher<Unit>dodano rozszerzenia Kotlin dlalaunch, które eliminują konieczność przekazywania odpowiednionulllubUnit, co odzwierciedla działanie poprzednich rozszerzeńinvoke(). (aosp/1304674, aosp/1304675) - Metody
IntentSenderRequest.BuilderdlasetFlagsMask()isetFlagsValues()zostały połączone w jedną metodęsetFlags(). (aosp/1302111)
Poprawki błędów
- Podczas rejestrowania
ActivityResultCallbackza pomocąLifecycleOwnerrozwiązaliśmy problem polegający na tym, że wywołanie zwrotne było wywoływane, zanim stan osiągnął wartośćSTARTED. (aosp/1309744)
Zmiany w zachowaniu
ActivityResultRegistrygeneruje teraz kody żądań, zaczynając od0xFFFF, a nie od0, co zapobiega nakładaniu się kodów podczas używaniastartActivityForResult()lubrequestPermissions()w aktywności. (aosp/1302324)
Wersja 1.2.0-alpha04
29 kwietnia 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha04 i androidx.activity:activity-ktx:1.2.0-alpha04 Wersja 1.2.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Dodano kontrakt, który może wywoływać metodę startIntentSenderForResult w interfejsach ActivityResult API. (b/153007517)
Zmiany w interfejsie API
- Metoda
prepareCall()została zmieniona naregisterForActivityResult()zarówno wComponentActivity, jak i w fragmencie1.3.0-alpha04. (aosp/1278717) - Umowy
GetContents,OpenDocumentsiRequestPermissionszostały zmienione naGetMultipleContents,OpenMultipleDocumentsiRequestMultiplePermissions. (aosp/1280161) ComponentActivityimplementuje teraz interfejsActivityResultRegisteryOwner. (aosp/1290888)- – Interfejsy API
startActivityForResult()/onActivityResult()ionRequestPermissionsResult()na platformieComponentActivityzostały wycofane. Użyj interfejsów Activity Result API. (b/154751887)
Poprawki błędów
- W przypadku korzystania z umów
GetMultipleContentsiOpenMultipleDocumentsoraz wybrania pojedynczego elementu jest on teraz prawidłowo zwracany do wywołania zwrotnego. (b/152941153)
Wersja 1.2.0-alpha03
1 kwietnia 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha03 i androidx.activity:activity-ktx:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy do zestawu gotowych umów udostępnianych przez
ActivityResultContractsumowyTakeVideo,PickContact,GetContent,GetContents,OpenDocument,OpenDocuments,OpenDocumentTreeiCreateDocument. (aosp/1262482, aosp/1266916, aosp/1268960) - Interfejsy API wyników aktywności obsługują teraz uruchamianie aktywności w celu uzyskania wyniku z opcjonalnym
ActivityOptionsCompat. (b/151860054)
Zmiany w interfejsie API
TakePicturekontrakt przyjmuje terazUrijako dane wejściowe miejsce, w którym ma być przechowywany obraz. Poprzednia umowa, która nie przyjmuje żadnych danych wejściowych, została zmieniona naTakePicturePreview. (aosp/1262482)- Metoda
registerActivityResultCallback()w usłudzeActivityResultRegistryzostała zmieniona naregister(). (aosp/1267621) - Metoda
dispose()wActivityResultLauncherzostała zmieniona naunregister(), a metodaunregisterResultCallback()wActivityResultRegistryzostała usunięta. (aosp/1267621) - Metoda
createIntent()ActivityResultContactprzyjmuje teraz dodatkowoContext, aby umożliwić tworzenie jawnych intencji. (aosp/1238800) ActivityResultContractmoże teraz zastąpićgetSynchronousResult(), aby dostarczyć wynik bez wywoływaniastartActivityForResult. Jest on używany w przypadku umówRequestPermissioniRequestPermissions, aby prawidłowo przekazywać stan „przyznano”, jeśli żądane uprawnienia zostały już przyznane. (b/151110799)- Wcześniej dostępna umowa
Dialzostała usunięta, ponieważIntentnie jest przeznaczony do używania zstartActivityForResult(). (aosp/1266916) - Wiele interfejsów API wyników aktywności, które nie są przeznaczone do rozszerzania, jest teraz
final. Obejmuje togetActivityResultRegistry(), metodyprepareCall(), wszystkie metodyActivityResultRegistryz wyjątkieminvoke()oraz szereg umów domyślnych, które nie obsługują dodatków opcjonalnych. (b/152439361)
Poprawki błędów
- Naprawiliśmy
NullPointerExceptionwActivityResultRegistry, który występował podczas próby dostarczenia wyników do wywołania zwrotnego, które nie zostało jeszcze ponownie zarejestrowane po zmianie konfiguracji.ActivityResultRegistryprzechowuje teraz te oczekujące wyniki i dostarcza je, gdy wywołanie zwrotne zostanie ponownie zarejestrowane. (b/152137004)
Wersja 1.2.0-alpha02
18 marca 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha02 i androidx.activity:activity-ktx:1.2.0-alpha02 Wersja 1.2.0-alpha02 zawiera te zmiany.
Nowe funkcje
- ActivityResultRegistry:
ComponentActivityudostępnia terazActivityResultRegistry, który umożliwia obsługę przepływówstartActivityForResult()+onActivityResult()irequestPermissions()+onRequestPermissionsResult()bez zastępowania metod w aktywności lub fragmencie, zwiększa bezpieczeństwo typów dziękiActivityResultContracti zapewnia punkty zaczepienia do testowania tych przepływów. Zapoznaj się z aktualizacją Uzyskiwanie wyniku z aktywności. (b/125158199)
Wersja 1.2.0-alpha01
4 marca 2020 r.
Publikacje androidx.activity:activity:1.2.0-alpha01 i androidx.activity:activity-ktx:1.2.0-alpha01 Wersja 1.2.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodano obsługę interfejsu
ViewTreeLifecycleOwner.get(View)API dodanego w cyklu życia2.3.0-alpha01, dzięki czemu zwraca on aktywność jakoLifecycleOwnerw przypadku wszystkich widoków dodanych bezpośrednio do aktywności. (aosp/1182955)
Poprawki błędów
- Rozwiązaliśmy problem, który został wprowadzony w Activity
1.1.0podczas działania na starszych wersjach platformy, w którychonBackPressed()powodowałIllegalStateExceptionz powodu błędu wandroid.app.FragmentManager. (b/146290338)
Wersja 1.1.0
Wersja 1.1.0
22 stycznia 2020 r.
Publikacja androidx.activity:activity:1.1.0 Wersja 1.1.0 zawiera te zmiany.
Ważne zmiany od wersji 1.0.0
- Integracja ViewModelu cyklu życia z SavedState:
SavedStateViewModelFactoryjest teraz domyślną fabryką używaną w przypadku korzystania zby viewModels(), konstruktoraViewModelProviderlubViewModelProviders.of()zComponentActivitylub jego podklasami.
Wersja 1.1.0-rc03
4 grudnia 2019
Publikacje androidx.activity:activity:1.1.0-rc03 i androidx.activity:activity-ktx:1.1.0-rc03 Wersja 1.1.0-rc03 zawiera te zmiany.
Zmiany zależności
- Aktywność zależy teraz od komponentu Lifecycle
2.2.0-rc03i komponentu Lifecycle ViewModel SavedState1.0.0-rc03.
Wersja 1.1.0-rc02
7 listopada 2019 r.
Publikacje androidx.activity:activity:1.1.0-rc02 i androidx.activity:activity-ktx:1.1.0-rc02 Wersja 1.1.0-rc02 zawiera te zmiany.
Zmiany zależności
- Aktywność zależy teraz od cyklu życia
2.2.0-rc02.
Wersja 1.1.0-rc01
23 października 2019 r.
androidx.activity:activity:1.1.0-rc01 i androidx.activity:activity-ktx:1.1.0-rc01 są udostępniane bez zmian w stosunku do 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
9 października 2019 r.
Publikacje androidx.activity:activity:1.1.0-beta01 i androidx.activity:activity-ktx:1.1.0-beta01 Wersja 1.1.0-beta01 zawiera te zmiany.
Zmiany zależności
- Aktywność zależy teraz od stabilnej wersji 1.0.0 komponentu SavedState.
Wersja 1.1.0-alpha03
5 września 2019 r.
Publikacje androidx.activity:activity:1.1.0-alpha03 i androidx.activity:activity-ktx:1.1.0-alpha03 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Aktywność zależy teraz od stabilnej wersji Core 1.1.0.
Poprawki błędów
- Aktywność zależy teraz od cyklu życia
2.2.0-alpha04.
Wersja 1.1.0-alpha02
7 sierpnia 2019 r.
Publikacje androidx.activity:activity:1.1.0-alpha02 i androidx.activity:activity-ktx:1.1.0-alpha02 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
SavedStateViewModelFactoryjest teraz domyślną fabryką używaną podczas korzystania z funkcjiby viewModels(), konstruktoraViewModelProviderlub funkcjiViewModelProviders.of()z obiektemComponentActivity(b/135716331).
Wersja 1.1.0-alpha01
2 lipca 2019 r.
Publikacje androidx.activity:activity:1.1.0-alpha01 i androidx.activity:activity-ktx:1.1.0-alpha01 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
activityzależy teraz od stanu2.2.0-alpha02. (aosp/1007817)activity-ktxdodano zależność odlifecycle-runtime-ktx. Nie musisz już dodawać jej do zależności, gdy używaszactivity-ktxlub bibliotek, które są od niej zależne (np.fragment-ktx). (aosp/987162)activity-ktx
Wersja 1.0.0
Wersja 1.0.0
5 września 2019 r.
Publikacje androidx.activity:activity:1.0.0 i androidx.activity:activity-ktx:1.0.0 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Główne funkcje wersji 1.0.0
- ComponentActivity:
ComponentActivitysłuży jako nowa klasa bazowa dlaFragmentActivityw fragmencie1.1.0i w konsekwencji dlaAppCompatActivityw AppCompat1.1.0. - activity-ktx: moduł
activity-ktxzawiera rozszerzenie właściwości Kotlinby viewModelsumożliwiające dostęp do ViewModeli. Ten moduł jest uwzględniany automatycznie, gdy dodaszfragment-ktxz fragmentu1.1.0. - OnBackPressedDispatcher: jako alternatywę dla zastępowania
onBackPressed()możesz teraz zarejestrowaćOnBackPressedCallbackw dowolnymLifecycleOwner(np. we fragmencie), aby przechwytywać zdarzenia systemowego przycisku Wstecz. Doactivity-ktxdodano lambdę z wersją odbiorcyaddCallback. Więcej informacji znajdziesz w dokumentacji dotyczącej zapewniania niestandardowej nawigacji wstecz. - Wycofanie metody onRetainCustomNonConfigurationInstance: interfejs API
onRetainCustomNonConfigurationInstance()i powiązany z nim interfejsgetLastCustomNonConfigurationInstance()zostały wycofane. Zdecydowanie zalecamy używanie ViewModeli do przechowywania stanu niekonfiguracyjnego, ponieważ oferują one rozwiązanie kompozycyjne odpowiednie dla każdegoViewModelStoreOwner, które sprawia, że własność zachowanych obiektów jest jasna, i zapewnia wywołanie zwrotneonCleared()do czyszczenia zasobów, gdy aktywność zostanie ostatecznie zniszczona.
Wersja 1.0.0-rc01
2 lipca 2019 r.
androidx.activity:activity:1.0.0-rc01 i androidx.activity:activity-ktx:1.0.0-rc01 są udostępniane bez zmian w stosunku do 1.0.0-beta01. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Wersja 1.0.0-beta01
5 czerwca 2019 r.
androidx.activity::activity:1.0.0-beta01 i androidx.activity:activity-ktx:1.0.0-beta01 są udostępniane bez zmian w stosunku do 1.0.0-alpha08. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Wersja 1.0.0-alpha08
7 maja 2019 r.
Publikacje androidx.activity:activity:1.0.0-alpha08 i androidx.activity:activity-ktx:1.0.0-alpha08 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
- Zmiana powodująca niezgodność: usunięto wcześniej wycofane metody
addOnBackPressedCallbackiremoveOnBackPressedCallbackw klasieComponentActivity. aosp/953857 - Metody
setEnabled()iisEnabled()klasyOnBackPressedCallbacksą teraz ostateczne. b/131416833 - Metoda
remove()wOnBackPressedCallbackjest już ostateczna. aosp/952720 OnBackPressedDispatcherma teraz publiczne konstruktory, które umożliwiają tworzenie własnych instancji na potrzeby testowania itp. aosp/953431onBackPressed()w przypadkuComponentActivityjest teraz wyraźnie oznaczony jako@MainThreadaosp/952721
Poprawki błędów
- Rozwiązaliśmy problem z wywoływaniem funkcji
ConcurrentModificationExceptionpodczas wywoływania funkcjiremove()w metodziehandleOnBackPressed()klasyOnBackPressedCalbackdodanej za pomocą funkcjiLifecycleOwner. b/131765095
Wersja 1.0.0-alpha07
25 kwietnia 2019 r.
Publikacje androidx.activity:activity:1.0.0-alpha07 i androidx.activity:activity-ktx:1.0.0-alpha07 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
Ta wersja wprowadza istotne zmiany w obsłudze onBackPressed(). Więcej informacji znajdziesz w zaktualizowanej dokumentacji dotyczącej niestandardowego powrotu.
- Metody
OnBackPressedCallbackiOnBackPressedDispatcherzostały oznaczone jako@MainThread. (aosp/943813) - Metoda
handleOnBackPressed()nie zwraca już wartościboolean.OnBackPressedCallbackjest teraz klasą abstrakcyjną, którą można włączyć lub wyłączyć. Tylko wtedy, gdy nowa metodaisEnabled()zwróci wartość true, zostanie wywołana funkcjahandleOnBackPressed(), w której musisz obsługiwać przycisk Wstecz. (aosp/944518) - Metody
addCallbackwOnBackPressedDispatchernie zwracają już instancjiCancellable.OnBackPressedCallbackzawiera teraz metodęremove(), która spełnia tę funkcję, umożliwiając wywoływanieremove()podczashandleOnBackPressed(). (aosp/944519) (aosp/946316) activity-ktxzawiera teraz wywołanie zwrotne w zakresie odbiornika dlaaddCallback, które akceptuje wyrażenie lambda implementującehandleOnBackPressed()i ma dostęp doisEnablediremove()(aosp/944520).
Wersja 1.0.0-alpha06
3 kwietnia 2019 r.
Publikacje androidx.activity:activity:1.0.0-alpha06 i androidx.activity:activity-ktx:1.0.0-alpha06 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
- Klasa ComponentActivity zawiera teraz drugi konstruktor, który przyjmuje parametr
@LayoutRes int. Zastępuje on poprzednie zachowanie polegające na dodawaniu do klasy AppCompatActivity adnotacji@ContentView. To podejście działa zarówno w modułach aplikacji, jak i biblioteki. (b/128352521) - Powiązane interfejsy API
OnBackPressedCallbackw klasie ComponentActivity zostały wycofane na rzecz nowego interfejsuOnBackPressedDispatcher, który można pobrać za pomocągetOnBackPressedDispatcher(). (aosp/922523) - Metody dodawania nowego elementu
OnBackPressedCallbackdo elementuOnBackPressedDispatcherzwracają teraz obiektCancellable, co umożliwia usunięcie wywołania zwrotnego bez konieczności jawnego odwoływania się do elementuOnBackPressedDispatcher. (aosp/922523) - Dodanie
OnBackPressedCallbackz powiązanymLifecycleOwnerpowoduje teraz dodanie i usunięcieOnBackPressedCallbackodpowiednio po rozpoczęciu i zakończeniu cyklu życia. (aosp/922523)
Wersja 1.0.0-alpha05
13 marca 2019 r.
androidx.activity:activity:1.0.0-alpha05 i androidx.activity:activity-ktx:1.0.0-alpha05 zostały opublikowane. Pełną listę zmian
zawartych w tej wersji znajdziesz tutaj.
Nowe funkcje
- Wyszukiwania adnotacji
@ContentViewsą teraz zapisywane w pamięci podręcznej (b/123709449).
Wersja 1.0.0-alpha04
30 stycznia 2019 r.
androidx.activity:activity 1.0.0-alpha04 i androidx.activity:activity-ktx 1.0.0-alpha04 zostały opublikowane.
Nowe funkcje
- Dodano obsługę adnotacji klasy
@ContentView, która umożliwia wskazanie, który plik XML układu ma zostać rozwinięty, zamiast używaćsetContentView(). (aosp/837619)
Zmiany w interfejsie API
- Dodaliśmy informację, że wartości
getViewModelStore()nie należy zastępować i w przyszłej wersji zostaną one ustalone na stałe. Jeśli obecnie zastępujesz tę metodę, prześlij prośbę o dodanie funkcji. (aosp/837619)
Poprawki błędów
- Moduł
activityzależy teraz od wersji 2.1.0-alpha02 modułu ViewModel, aby pasować do zależności modułuactivity-ktx.
Wersja 1.0.0-alpha03
17 grudnia 2018 r.
Publikacja androidx.activity 1.0.0-alpha03
Nowe funkcje
- Klasa ComponentActivity implementuje teraz interfejs
BundleSavedStateRegistryOwneri jest zależna od nowo wydanej biblioteki SavedState [aosp/815133]. - Biblioteka ComponentActivity rozwiązuje problem z platformą Androida, który powodował wyciek ostatniego aktywnego widoku w klasie InputMethodManager [b/37122102].
Wersja 1.0.0-alpha02
3 grudnia 2018 r.
Zmiany w interfejsie API
- Dodaliśmy informację, że nie należy zastępować wartości
getLifecycle(), a w przyszłej wersji zostanie ona zmieniona nafinal. Jeśli obecnie zastępujesz tę metodę, prześlij prośbę o dodanie funkcji. (aosp/815834)
Wersja 1.0.0-alpha01
5 listopada 2018 r.
androidx.activity 1.0.0-alpha01 wprowadza
ComponentActivity, nową klasę bazową istniejących klas FragmentActivity i
AppCompatActivity.
Nowe funkcje
- Możesz teraz zarejestrować
OnBackPressedCallbackza pomocąaddOnBackPressedCallbacki otrzymywaćonBackPressed()wywołania zwrotne bez konieczności zastępowania metody w swoim działaniu. - Dodaliśmy nowy delegat właściwości Kotlin
by viewModels()do pobieraniaViewModelzComponentActivity. - Oczekujące zdarzenia wejściowe (np. kliknięcia) są teraz anulowane w
onStop().
Zmiany w interfejsie API
- Implementacja funkcji
LifecycleOwneriViewModelStoreOwnerzostała przeniesiona zFragmentActivitydoComponentActivity. onRetainCustomNonConfigurationInstancezostało wycofane. UżywajViewModeldo przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.