Aktywność
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
11 grudnia 2024 r. | 1.9.3 | 1.10.0-rc01 | - | - |
Deklarowanie zależności
Aby dodać zależność od Activity, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { def activity_version = "1.9.2" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.2" // 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 zauważysz 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 z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.10
Wersja 1.10.0-rc01
11 grudnia 2024 r.
Funkcje 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ą dostępne. Wersja 1.10.0-rc01 zawiera te komity.
Poprawki błędów
- Naprawiono błąd polegający na tym, że zmiana stanu włączenia podczas aktywnego
PredictiveBackHandler
powodowała natychmiastowe przerwanie wywołania zwrotnego. Spowoduje to zakończenie bieżącego połączenia zwrotnego niezależnie od zmian stanu włączenia. (Ib8719)
Wersja 1.10.0-beta01
13 listopada 2024 r.
Usługi androidx.activity:activity:1.10.0-beta01
, androidx.activity:activity-compose:1.10.0-beta01
i androidx.activity:activity-ktx:1.10.0-beta01
są dostępne bez zmian od ostatniej wersji alfa. Wersja 1.10.0-beta01 zawiera te komisy.
Wersja 1.10.0-alpha03
30 października 2024 r.
Funkcje 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ą dostępne. Wersja 1.10.0-alpha03 zawiera te komity.
Zmiany w interfejsie API
- Dodano nową kompozycję
LocalActivity
lokalną, która zapewniaActivity
dla bieżącego zakresu, dzięki czemu deweloperzy nie muszą już uzyskiwaćActivity
z poziomuLocalContext
. Zawiera on też nową regułę lint, która sprawdza, czyLocalContext
jest nieprawidłowo przypisywane doActivity
. (I7746a, b/283009666)
Poprawki błędów
- W Aktywności
1.9.3
:PredictiveBackHandler
nie będzie już wywoływać funkcji wywołania zwrotnego po wyłączeniu tego modułu. Rozwiąza to problem, w którymNavHost
z komponentu Nawigacja powodował błądIndexOutOfBoundsException
. (I3f75e, b/365027664, b/340202286)
Aktualizacja zależności
- Activity Compose zależy teraz od Compose Runtime 1.7.0 (I7746a, b/283009666).
Wersja 1.10.0-alpha02
4 września 2024 r.
Funkcje 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ą dostępne. Wersja 1.10.0-alpha02 zawiera te komisy.
Zmiany w zachowaniu
- Umowy dotyczące wyniku działania
PickVisualMedia
iPickMultipleVisualMedia
, które uruchamiają selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć systemu jest niedostępny. Zamiast tego używają publicznego działaniaACTION_SYSTEM_FALLBACK_PICK_IMAGES
i powiązanych dodatków, aby zapewnić spójne działanie selektora zdjęć dla OEM-ów i aplikacji systemowych. Nie powinno to mieć wpływu na działanie aplikacji na urządzeniach z najnowszą wersją Usług Google Play. (I3513d)
Poprawki błędów
- Usunięto 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 we wszystkich wersjach kompilacji podczas korzystania z AGP 8.1 lub nowszej (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)
- Z Activity Compose
1.9.2
: rozwiązaliśmy problem, który powodował, że interfejs API Activity ComposePredictiveBackHandler
nadal obsługiwał gest cofnięcia systemu w ramce, w której był wyłączony. Mogło to spowodować, że biblioteki takie jak Navigation Compose obsługiwałyby cofnięcie nawet przy pustym stosie cofnięcia, co powodowałobyIndexOutOfBoundsException
. (Ie3301, b/340202286) - Z Aktywności
1.9.1
: rozwiązaliśmy problem zPredictiveBackHandler
, który powodował, że po przywróceniu systemu próba wykonania czynnościonBackPressed
zOnBackPressedDispatcher
kończyła się niepowodzeniem. (I5f1f8)
Wersja 1.10.0-alpha01
26 czerwca 2024 r.
Funkcje 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ą dostępne. Ta wersja jest opracowywana w gałęzi wewnętrznej.
Nowe funkcje
- Dodano obsługę nowych funkcji
PhotoPicker
wprowadzonych w Androidzie V, w tym możliwość wybierania zdjęć w kolejności i wybierania karty (albumów lub zdjęć), która ma być widoczna na początku.
Wersja 1.9
Wersja 1.9.3
16 października 2024 r.
Funkcje androidx.activity:activity:1.9.3
, androidx.activity:activity-compose:1.9.3
i androidx.activity:activity-ktx:1.9.3
są dostępne. Wersja 1.9.3 zawiera te komitowane zmiany.
Poprawki błędów
- Po wyłączeniu obsługi funkcja
PredictiveBackHandler
nie będzie już wywoływać funkcji zwrotnej. Rozwiąza to problem, w którym funkcjaNavHost
z komponentu Nawigacja powodowała błądIndexOutOfBoundsException
. (I3f75e, b/340202286)
Wersja 1.9.2
4 września 2024 r.
Funkcje androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
i androidx.activity:activity-ktx:1.9.2
są dostępne. Wersja 1.9.2 zawiera te commity lthco.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że interfejs API Activity Compose
PredictiveBackHandler
nadal obsługiwał gest wstecz systemu w ramce, w której był wyłączony. Mogło to spowodować, że biblioteki takie jak Navigation Compose obsługiwałyby gest wstecz nawet przy pustym stosie wstecz, co prowadziło doIndexOutOfBoundsException
. (Ie3301, b/340202286)
Wersja 1.9.1
24 lipca 2024 r.
Funkcje androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
i androidx.activity:activity-ktx:1.9.1
są dostępne. Wersja 1.9.1 zawiera te komity.
Poprawki błędów
- Rozwiązaliśmy problem z
PredictiveBackHandler
, który powodował, że po przywróceniu systemu próba wykonania operacjionBackPressed
zOnBackPressedDispatcher
kończyła się niepowodzeniem. (I5f1f8)
Wersja 1.9.0
17 kwietnia 2024 r.
Funkcje androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
i androidx.activity:activity-ktx:1.9.0
są dostępne. Wersja 1.9.0 zawiera te komisy.
Ważne zmiany od wersji 1.8.0
ComponentActivity
implementuje terazOnUserLeaveHintProvider
, aby umożliwić komponentom wywołania zwrotne dla zdarzeńonUserLeaveHint
.- Interfejsy API
OnBackPressedCallback
,BackHandler
iPredictiveBackHandler
wyświetlają teraz ostrzeżenie podczas wywoływania funkcjionBackPressedDispatcher.onBackPressed()
podczas obsługi wywołania wstecz, ponieważ zawsze powoduje to przerwanie animacji przewidywanego przejścia wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. - Pozostałe interfejsy Activity API zostały przepisane w języku Kotlin, a wszystkie rozszerzenia dostępne wcześniej w
activity-ktx
zostały przeniesione doactivity
.activity-ktx
jest teraz całkowicie pusty.- W ramach konwersji
ActivityResultLauncher
na Kotlina metodagetContract
jest teraz abstrakcyjną właściwością Kotlina. Jest to zmiana zgodna z binarnymi formatami danych, ale powoduje przerwanie działania kodu źródłowego, jeśli implementacjaActivityResultLauncher
jest napisana w Kotlinie.
- W ramach konwersji
Wersja 1.9.0-rc01
3 kwietnia 2024 r.
Funkcje 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ą dostępne. Wersja 1.9.0-rc01 zawiera te komisy.
Aktualizacja zależności
- Aktywność zależy teraz od instalatora profilu 1.3.1.
Wersja 1.9.0-beta01
20 marca 2024 r.
Funkcje 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ą dostępne. Wersja 1.9.0-beta01 zawiera te komity.
Poprawki błędów
- Usunięto regresję wydajności podczas uruchamiania aktywności wprowadzoną w wersji Activity
1.9.0-alpha02
, która była spowodowana wywołaniem funkcjiOnBackPressedDispatcher
w ramach tworzenia aktywności. (Ie75e3)
Wersja 1.9.0-alpha03
7 lutego 2024 r.
Funkcje 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ą dostępne. Wersja 1.9.0-alpha03 zawiera te commity.
Ostrzeżenie dotyczące błędów w kodzie źródłowym
- Interfejsy API
OnBackPressedCallback
,BackHandler
iPredictiveBackHandler
wyświetlają teraz ostrzeżenie podczas wywoływania interfejsu APIonBackPressedDispatcher.onBackPressed()
, gdy jest ono obsługiwane, ponieważ zawsze powoduje błąd animacji przewidywanego przejścia wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. (1e4222, 2c950d, b/287505200)
Poprawki błędów
- Jeśli zdarzenie wstecz zostanie wysłane z systemu uruchomionego podczas już działającego przewidującego gestu wstecz, aktualnie działający przewidujący gest wstecz zostanie anulowany, a nowe zdarzenie wstecz rozpocznie nowy przewidujący gest wstecz. (I3482e)
- Usunięto błąd powodujący awarię podczas pierwszego dostępu do
onBackPressedDispatcher
z poziomuComponentActivity
z wątku w tle. Teraz możesz bezpiecznie korzystać z funkcjionBackPressedDispatcher
w dowolnym wątku. (I79955)
Wersja 1.9.0-alpha02
24 stycznia 2024 r.
Funkcje 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ą dostępne. Wersja 1.9.0-alpha02 zawiera te commity.
Konwersje Kotlina
ActivityResultRegistry
został przepisany na Kotlin. Dzięki temu puste wartości w umowy przekazane do funkcjiregister
zostaną prawidłowo przekazane do zwracanej funkcjiActivityResultLauncher
. (I121f0)ActivityResult
został przepisany na Kotlin. Rozszerzenia KotlinaActivityResult
, które obsługują destrukturyzację w polachresultCode
idata
, zostały przeniesione zactivity-ktx
doactivity
. (I0565a)- Rozszerzenia Kotlina
by viewModels()
dlaComponentActivity
itrackPipAnimationHintView
zostały przeniesione zactivity-ktx
doactivity
. Elementactivity-ktx
jest teraz całkowicie pusty. (I0a444)
Poprawki błędów
- Interfejs API
enableEdgeToEdge
wyświetla teraz wszystkie wycięcia na ekranie. (a3644b, b/311173461) - Z Aktywności
1.8.2
: poprawiono dodatkowy element przekazywany do umowy dotyczącej aktywności selektora zdjęćACTION_SYSTEM_FALLBACK_PICK_IMAGES
, aby poprawnie przekazywać kluczEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
zamiast używać dodatku z kluczem"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Jeśli jesteś producentem OEM, który implementuje systemowy selektor zdjęć, zalecamy uwzględnienie obu dodatków, aby zapewnić największą zgodność. (I96a00)
Wersja 1.9.0-alpha01
29 listopada 2023 r.
Funkcje 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ą dostępne. Wersja 1.9.0-alpha01 zawiera te commity.
Nowe funkcje
ComponentActivity
implementuje terazOnUserLeaveHintProvider
, aby umożliwić komponentom wywołania zwrotne dla zdarzeńonUserLeaveHint
. (I54892)
Zmiany w interfejsie API
ComponentActivity
został przepisany na Kotlin. (I14f31)ActivityResultCaller
został przepisany na Kotlin. (Ib02e4)ActivityResultLauncher
został przepisany na Kotlin. W ramach tej konwersji metodagetContract
jest teraz abstrakcyjną właściwością w Kotlinie. Jest to zmiana zgodna z binarnymi formatami danych, ale powoduje przerwanie działania kodu źródłowego, jeśli implementacjaActivityResultLauncher
jest napisana w Kotlinie. (Id4615)- Interfejs
PickVisualMediaRequest
ma teraz ten sam minimalny poziom interfejsu API 19 co interfejsPickVisualMedia
w ramach umowy dotyczącej wyniku działania. (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.
Funkcje androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
i androidx.activity:activity-ktx:1.8.2
są dostępne. Wersja 1.8.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiono dodatkowy element przekazywany do umowy dotyczącej aktywności selektora zdjęć
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
, aby poprawnie przekazywać kluczEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
zamiast używać dodatkowego elementu z kluczem"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Jeśli jesteś producentem OEM, który implementuje systemowy selektor zdjęć, zalecamy uwzględnienie obu dodatkowych funkcji, aby zapewnić największą zgodność. (I96a00)
Wersja 1.8.1
15 listopada 2023 r.
Funkcje androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
i androidx.activity:activity-ktx:1.8.1
są dostępne. Wersja 1.8.1 zawiera te commity.
Poprawki błędów
OnBackPressedDispatcher
jest teraz wysyłany do prawidłowegoOnBackPressedCallback
nawet po dodaniu nowegoOnBackPressedCallback
podczas obsługi gestu wstecz. (Id0ff6)
Wersja 1.8.0
4 października 2023 roku
Funkcje androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
i androidx.activity:activity-ktx:1.8.0
są dostępne. Wersja 1.8.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.7.0
- Przewidywanie wstecz –
OnBackPressedCallback
oferuje teraz nowe wywołania zwrotne przewidywanego przejścia wstecz do obsługi rozpoczęcia, trwania i anulowania tego gestu, a także poprzednie wywołanie zwrotnehandleOnBackPressed()
, gdy gest ten jest wykonywany. Dostępna jest też kompozycjaPredictiveBackHandler
, która obsługuje przewidywane gesty wstecz w komponencie Activity Compose. Zawiera przepływ obiektów BackEventCompat, które muszą być zebrane w podwieszonej lambdzie:
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
}
}
Właściwość ComponentActivity.onBackPressed()
została wycofana na rzecz interfejsów API do obsługi funkcji back. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher
zamiast jej zastępowania.
- EdgeToEdge – dodano
ComponentActivity.enableEdgeToEdge()
, aby ułatwić konfigurowanie wyświetlacza od krawędzi do krawędzi w sposób zgodny ze starszymi wersjami.
Wersja 1.8.0-rc01
20 września 2023 r.
Funkcje 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ą dostępne. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.
Wersja 1.8.0-beta01
6 września 2023 r.
Funkcje 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ą dostępne. Wersja 1.8.0-beta01 zawiera te commity.
Ulepszenie dokumentacji
- Ulepszona dokumentacja
BackEventCompat
. (aosp/2722254)
Wersja 1.8.0-alpha07
23 sierpnia 2023 r.
Funkcje 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ą dostępne. Wersja 1.8.0-alpha07 zawiera te commity.
Nowe funkcje
Do Activity Compose dodano nową kompozycję
PredictiveBackHandler
, która obsługuje przewidywane zdarzenia gestów wstecz. ZawieraFlow
BackEventCompat
obiektów, które muszą zostać zebrane w podawanej przez Ciebie lambdzie zawieszania: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 on też ostrzeżenie wyświetlane w czasie kompilacji za pomocą reguły lint, aby zapewnić wywołania funkcji
Flow
w funkcjicollect()
. (Id2773, b/294884345)Element
onBackPressedDispatcher
w funkcjiComponentActivity
jest teraz inicjowany w sposób leniwy, co oznacza, że jest tworzony tylko wtedy, gdy jest to wymagane. (I0bf8e)
Poprawki błędów
ComponentActivity
nie będzie już wyświetlać NPE w Androidzie 13, gdy otrzyma wywołanie zwrotneonBackPressed()
, a Activity 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.
Funkcje 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ą dostępne. Wersja 1.8.0-alpha06 zawiera te commity.
Nowe funkcje
- Funkcja
OnBackPressedDispatcher
teraz prawidłowo anuluje wszystkie wywołania zwrotne, które zostały usunięte podczas przewidywanego gestu wstecz. (I3f90f)
Zmiany w interfejsie API
- Podczas przekazywania
SystemBarStyle.auto
do interfejsu APIenableEdgeToEdge
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.
Funkcje 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ą dostępne. Ta wersja jest opracowywana w gałęzi wewnętrznej.
Zmiany w interfejsie API
- Aktywność zawiera teraz klasę
BackEventCompat
, która jest zgodna wstecznie z klasąBackEvent
, ale nie jest powiązana z klasąBackEvent
w ramach frameworku. - Zmiany wprowadzające: metody
handleOnBackStarted
ihandleOnBackProgressed
klasyOnBackPressedCallback
przyjmują teraz instancjęandroidx.activity.BackEventCompat
, a nie klasęandroid.window.BackEvent
frameworku. Zaktualizowaliśmy też odpowiadające im interfejsy API@VisibleForTesting
w usłudzeOnBackPressedDispatcher
. - Konstruktor klasy
OnBackPressedDispatcher
przyjmuje teraz opcjonalny obiektConsumer<Boolean>
, który pozwala właścicielom rozsyłacza otrzymywać wywołania zwrotne, gdy liczba włączonych wywołań zwrotnych zmieni się z zera na niezerową lub odwrotnie.
Poprawki błędów
- Z Aktywności
1.7.2
: naprawiajReportDrawn
, gdy użytkownik przejdzie na inny ekran przed wywołaniemreport
. (Ic46f1, b/260506820)
Wersja 1.8.0-alpha04
10 maja 2023 r.
Funkcje 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ą dostępne. Ta wersja została opublikowana z gałęzi wewnętrznej.
Poprawki błędów
- W wersji Activity 1.7.1: –
ReportFullyDrawExecuter
nie wycieka już podczas korzystania z funkcjiComponentActivity
w ramachActivityScenario
. (Id2ff2, b/277434271)
Wersja 1.8.0-alpha03
12 kwietnia 2023 r.
Funkcje 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ą dostępne. Ta wersja została opublikowana z gałęzi wewnętrznej.
Nowe funkcje
- Dodano
ComponentActivity.setUpEdgeToEdge()
, aby ułatwić konfigurowanie wyświetlacza od krawędzi do krawędzi w sposób zgodny ze starszymi wersjami.
Zmiany w interfejsie API
- Właściwość
ComponentActivity.onBackPressed()
została wycofana na rzecz interfejsów API do obsługi funkcji back. Deweloperzy powinni teraz używać metodyOnBackPressedDispatcher
zamiast jej zastępowania. (Ibce2f, b/271596918) - Funkcje
ComponentDialog
iComponentActivity
zawierają 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 obiekty MenuHost i wywoływały nieoczekiwane działanie innych menu w działalności. (I9404e, b/244336571)
Inne zmiany
ActivityResultRegister
używa teraz KotlinaRandom
zamiast Javy. (I4d98f, b/272096025)
Wersja 1.8.0-alpha02
8 marca 2023 r.
Funkcje 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ą dostępne. Opracowana na podstawie gałęzi wewnętrznej.
Aktualizacja zależności
- Aktywność
1.7.0-rc01
: aktywność zależy teraz odLifecycle 2.6.0
.
Wersja 1.8.0-alpha01
8 lutego 2023 r.
Funkcje 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ą dostępne. Ta wersja została utworzona na podstawie gałęzi wewnętrznej.
Nowe funkcje
- Klasa
OnBackPressedCallback
zawiera teraz nowe wywołania zwrotne postępu przewidywanego przejścia wstecz do obsługi rozpoczęcia, trwania i anulowania tego gestu, a także poprzednie wywołanie zwrotnehandleOnBackPressed()
, gdy gest ten jest wykonywany.
Wersja 1.7
Wersja 1.7.2
24 maja 2023 r.
Funkcje androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
i androidx.activity:activity-ktx:1.7.2
są dostępne. Wersja 1.7.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd powodujący zamykanie się
ReportDrawn
podczas przechodzenia z ekranu, zanim zostanie wywołana funkcjareport
. (Ic46f1, b/260506820)
Wersja 1.7.1
19 kwietnia 2023 r.
Funkcje androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
i androidx.activity:activity-ktx:1.7.1
są dostępne. Wersja 1.7.1 zawiera te zatwierdzenia.
Poprawki błędów
ReportFullyDrawExecuter
nie wycieka już podczas korzystania zComponentActivity
w kontekścieActivityScenario
. (Id2ff2, b/277434271)
Wersja 1.7.0
22 marca 2023 r.
Funkcje androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
i androidx.activity:activity-ktx:1.7.0
są dostępne. Wersja 1.7.0 zawiera te commity.
Ważne zmiany od wersji 1.6.0
- Umowy dotyczące aktywności selektora zdjęć w
PickVisualMedia
iPickMultipleVisualMedia
zostały zaktualizowane, aby zawierać dodatkowy mechanizm zastępczy na wypadek, gdyMediaStore.ACTION_PICK_IMAGES
jest niedostępny. Umożliwia to producentom urządzeń i aplikacjom systemowym, takim jak usługi Google Play, zapewnienie spójnego działania selektora zdjęć na szerszym zakresie urządzeń z Androidem i poziomów interfejsu API poprzez implementację działania zastępczego. Selektor zdjęć będzie używać tego rozwiązania, jeśli będzie ono dostępne, a dopiero potem przejdzie doIntent.ACTION_OPEN_DOCUMENT
, które nadal obsługuje wszystkie urządzenia z poziomem interfejsu API 19 lub nowszym. ComponentDialog
wdraża terazSavedStateRegistryOwner
, ma dostęp do własnegoSavedStateRegistry
i ustawiaSavedStateRegistryOwner
dlaViewTree
. Teraz można używać Jetpack Compose w ramachComponentDialog
, ponieważ spełnia on wymagania interfejsów APILifecycleOwner
iSavedStateRegistryOwner
przypisane do okna.ViewTree
IntentSenderRequest.Builder.setFlags()
umożliwia teraz ustawienie wielu flag zIntent
, a nie tylko jednej.
Kotlin Conversion
Niektóre klasy Activity zostały przekonwertowane na Kotlin. Wszystkie przekonwertowane klasy nadal zachowują zgodność binarną z poprzednimi wersjami. W klasach napisanych w języku Kotlin: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
wprowadzono zmiany niezgodne z źródłem.
Tabela poniżej zawiera źródła konwersji 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 Kotlin, ale pozostają zgodne z źródłem: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
i OnBackPressedDispatcher
Interfejsy API FullyDrawnReporter
ComponentActivity
udostępnia teraz instancję FullyDrawnReporter
, która umożliwia wielu komponentom zgłaszanie, kiedy są gotowe do interakcji. ComponentActivity
zaczeka, aż wszystkie komponenty wykonają swoje zadania, a potem wywoła w Twoim imieniu funkcję reportFullyDrawn()
. Te interfejsy API dbają o spełnianie wymagań dotyczących czasu i nie muszą być wywoływane w ramach wywołania onDraw
.
Zalecamy włączyć te interfejsy API:
- sygnalizuje środowisku wykonawczym Androida, że uruchamianie zostało zakończone, aby zapewnić, że cały kod uruchomiony podczas sekwencji uruchamiania obejmującej wiele klatek zostanie uwzględniony i uwzględniony w kompilacji w tle.
- sygnalizacja Macrobenchmark i Play Vitals, gdy aplikacja powinna być uważana za w pełni zainicjowaną pod kątem danych dotyczących uruchamiania, aby można było śledzić wydajność;
Dodaliśmy 3 interfejsy Activity Compose, aby ułatwić korzystanie z funkcji FullyDrawnReporter
w poszczególnych składach:
ReportDrawn
oznacza, że komponent jest gotowy do interakcji.ReportDrawnWhen
przyjmuje predykat (czylilist.count > 0
), aby wskazać, kiedy komponent jest gotowy do interakcji.ReportDrawnAfter
przyjmuje zawieszoną metodę, która po zakończeniu wskazuje, że jesteś gotowy 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.
Funkcje 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ą dostępne. 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
Funkcje 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ą dostępne. Wersja 1.7.0-beta02 zawiera te commity.
Zmiany w interfejsie API
- Działanie i dodatkowe informacje używane przez kontrakty
PickVisualMedia
iPickMultipleVisualMedia
jako alternatywne rozwiązanie, gdyMediaStore.ACTION_PICK_IMAGES
jest niedostępny, są teraz publicznymi stałymi, które zapewniają stabilność interfejsu API dla OEM-ów i aplikacji systemowych, które chcą zapewnić spójne działanie selektora zdjęć. Wdrożenie tego rozwiązania jest nadal ograniczone tylko do aplikacji systemowych. (Icd320)
Wersja 1.7.0-beta01
8 lutego 2023 r.
Funkcje 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ą dostępne. Wersja 1.7.0-beta01 zawiera te commity.
Nowe funkcje
IntentSenderRequest.Builder.setFlags()
umożliwia teraz ustawienie wielu flag zIntent
, a nie tylko jednej. (Iac04c)
Poprawki błędów
- Wartość domyślna dla
PickVisualMedia
, gdy framework Photo Picker jest niedostępny, teraz prawidłowo ogranicza obsługę do aplikacji zainstalowanych w obrazie systemu urządzenia. (If8ae6)
Konwersje Kotlina
ActivityResultRegistryOwner
jest teraz napisany w języku Kotlin. Jest to zmian niekompatybilna ze źródłem w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwośćactivityResultRegistry
, zamiast stosować poprzednią funkcjęgetActivityResultRegistry()
. (I0b00e)OnBackPressedDispatcherOwner
jest teraz napisany w języku Kotlin. Jest to zmian niekompatybilna ze źródłem w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwośćonBackPressedDispatcher
zamiast stosować poprzednią funkcjęgetOnBackPressedDispatcher
. (Ia277d)- Funkcje
ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
iOnBackPressedDispatcher
są teraz napisane w języku Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Wersja 1.7.0-alpha04
25 stycznia 2023 r.
Funkcje 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ą dostępne. Wersja 1.7.0-alpha04 zawiera te commity.
Nowe funkcje
- Umowy dotyczące wyników aktywności w kontekście
PickVisualMedia
iPickMultipleVisualMedia
będą teraz używać selektora zdjęć udostępnianego przez usługi Google Play, jeśli jest dostępny, w przypadkach, gdy system Android udostępnia selektor zdjęć (np.MediaStore.ACTION_PICK_IMAGES
) jest niedostępna. InterfejsisPhotoPickerAvailable()
API, który wykrywa tylko selektor zdjęć dostarczony przez system Android, został wycofany. Zalecamy użycie nowego interfejsu APIisPhotoPickerAvailable(Context)
, który zwróci wartość, jeśli którykolwiek z interfejsów Photo Picker jest dostępny. (I55be6)
Wersja 1.7.0-alpha03
11 stycznia 2023 r.
Funkcje 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ą dostępne. Wersja 1.7.0-alpha03 zawiera te commity.
Nowe funkcje
ComponentDialog
implementuje terazSavedStateRegistryOwner
, ma dostęp do własnegoSavedStateRegistry
i ustawiaSavedStateRegistryOwner
dla swojej struktury ViewTree. Teraz możesz używać Jetpack Compose w komponencieComponentDialog
, ponieważ spełnia on wymaganiaLifecycleOwner
iSavedStateRegistryOwner
związane z oknem w ramach interfejsów API ViewTree. (Idca17, I73468 b/261162296)
Zmiany w interfejsie API
- Dodano kompozyt
ReportDrawn
, który natychmiast oznacza aktywność jako gotową do wywołaniareportFullyDrawn
. (Ic5b14, b/259687964)
Konwersje Kotlina
- Klasy
ActvitiyResultCallback
iOnBackPressedCallback
zostały przekonwertowane na Kotlina przy zachowaniu zgodności z źródłem i binarnymi plikami binarnymi. (Ifc5e5, Ide1b0, b/257291701)
Wersja 1.7.0-alpha02
24 października 2022 r.
Funkcje 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ą dostępne. Wersja 1.7.0-alpha02 zawiera te commity.
Poprawki błędów
- W ramach Aktywności
1.6.1
: rozwiązaliśmy problem z kontraktemPickMultipleVisualMedia
Activity Result, który nie uruchamiał się na urządzeniach z Androidem R, gdy używano domyślnej wartościmaxItems
. (Ie2776, b/249182130)
Wersja 1.7.0-alpha01
5 października 2022 r.
Funkcje 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ą dostępne. Wersja 1.7.0-alpha01 zawiera te commity.
Interfejsy API FullyDrawnReporter
ComponentActivity
udostępnia teraz instancję FullyDrawnReporter
, która umożliwia wielu komponentom zgłaszanie, kiedy są gotowe do interakcji. ComponentActivity
zaczeka, aż wszystkie komponenty wykonają swoje zadania, a potem wywoła w Twoim imieniu funkcję reportFullyDrawn()
. Te interfejsy API dbają o spełnianie wymagań dotyczących czasu i nie muszą być wywoływane w ramach wywołania onDraw
.
Zalecamy włączyć te interfejsy API:
- sygnalizuje środowisku wykonawczym Androida, że uruchamianie zostało zakończone, aby zapewnić, że cały kod uruchomiony podczas sekwencji uruchamiania obejmującej wiele klatek zostanie uwzględniony i uwzględniony w kompilacji w tle.
- sygnalizacja Macrobenchmark i Play Vitals, gdy aplikacja powinna być uważana za w pełni zainicjowaną pod kątem danych dotyczących uruchamiania, aby można było śledzić wydajność;
Dodano 2 interfejsy Activity Compose, aby ułatwić korzystanie z elementu FullyDrawnReporter
w poszczególnych składaniach:
ReportDrawnWhen
przyjmuje predykat (czylilist.count > 0
), aby wskazać, kiedy komponent jest gotowy do interakcji.ReportDrawnAfter
przyjmuje zawieszoną metodę, która po zakończeniu wskazuje, że jesteś gotowy do interakcji.
Wersja 1.6.1
Wersja 1.6.1
24 października 2022 r.
Funkcje androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
i androidx.activity:activity-ktx:1.6.1
są dostępne. Wersja 1.6.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z kontraktem
PickMultipleVisualMedia
ActivityResult, który nie uruchamiał się na urządzeniach z Androidem R, gdy używano wartości domyślnej dlamaxItems
. (Ie2776, b/249182130)
Wersja 1.6.0
Wersja 1.6.0
21 września 2022 r.
Funkcje androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
i androidx.activity:activity-ktx:1.6.0
są dostępne. Wersja 1.6.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.5.0
- Dodano
ActivityResultContracts.PickVisualMedia
iActivityResultContracts.PickMultipleVisualMedia
, aby zapewnić zgodność wsteczną umowy, która używaMediaStore.ACTION_PICK_IMAGES
, gdy funkcja Selektor zdjęć jest dostępna, iIntent.ACTION_OPEN_DOCUMENT
, gdy nie jest dostępna. - Zintegrowano
OnBackInvokedCallback
w Androidzie 13 zOnBackPressedDispatchers
udostępnianym przezComponentActivity
iComponentDialog
. Dzięki temu wszystkie interfejsy API utworzone na podstawie interfejsuOnBackPressedDispatcher
będą działać po włączeniu gestu przewidującego wstecz.
Wersja 1.6.0-rc02
7 września 2022 roku
Funkcje 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ą dostępne. Wersja 1.6.0-rc02 zawiera te commity.
Poprawki błędów
OnBackPressedDispatcher
rejestruje terazOnBackInvokedCallback
w konciePRIORITY_DEFAULT
zamiastPRIORITY_OVERLAY
. (I3901f)- Klasy rozszerzające klasę
ComponentActivity
będą teraz zawsze wywoływać obie funkcjeonMultiWindowModeChanged()
. (Ic4d85) - Funkcja
ActivityResultRegistry
nie będzie już zwracać wyniku do funkcjiActivityResultCallback
, gdy wywołanielaunch
zwróci wartośćException
, a wywołanie zwrotne zostało zarejestrowane bez parametruLifecycleOwner
. (Ia7ff7, b/238350794) ComponentActivity
będzie teraz prawidłowo wysyłać wywołania menu bez konieczności wywoływania superfunkcji w Twojej aktywności. (Ie33c5, b/238057118)
Aktualizacja zależności
- Biblioteka
Activity
jest teraz zależna od cyklu życia2.5.1
. (If6697)
Wersja 1.6.0-rc01
24 sierpnia 2022 r.
Funkcje 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ą dostępne. Wersja 1.6.0-rc01 zawiera te commity.
Poprawki błędów
- Inicjowanie
OnBackPressedDispatcher
nie spowoduje jużClassVerificationError
w przypadku wersji pakietu SDK starszych niż 33. (Ic32e1) - Klasy, które zastępują wywołanie zwrotne
ComponentActivity
onPictureInPictureModeChanged()
, będą teraz zawsze wysyłać wywołania zwrotne. (Ib7fdb)
Wersja 1.6.0-beta01
10 sierpnia 2022 r.
Funkcje 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ą dostępne. Wersja 1.6.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Oznaczyliśmy wycofane metody
startActivityForResult
istartIntentSenderForResult
wComponentActivity
jako@NonNull
, ponieważ przekazywanie argumentunull
zawsze kończyło się awarią. (Id2a25, b/231476082)
Poprawki błędów
- Z Aktywności
1.5.1
: metodaActivityResultRegistry
nie będzie już zwracać wyniku do metodyActivityResultCallback
, gdy wywołanielaunch
zwróci wartośćException
, a wywołanie zwrotne zostało zarejestrowane bez parametruLifecycleOwner
. (Ia7ff7, b/238350794) - Z Aktywność
1.5.1
:ComponentActivity
będzie teraz prawidłowo wysyłać wywołania menu doonPrepareOptionMenu()
,onCreateOptionsMenu()
ionOptionsItemSelected()
bez potrzeby wywoływania superfunkcji. (Ie33c5, b/238057118)
Aktualizacja zależności
- Aktywność
1.5.1
: bibliotekaActivity
zależy teraz od wersjiLifecycle
2.5.1
. (If6697)
Wersja 1.6.0-alpha05
15 czerwca 2022 r.
Funkcje 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ą dostępne. Wersja 1.6.0-alpha05 została opracowana w ramach prywatnej gałęzi wstępnej wersji i nie zawiera publicznych zatwierdzeń.
Zmiany w interfejsie API
minCompileSdk
to teraz 33, aby dopasować go do pakietu SDK Tiramisu w wersji beta 3.
Poprawki błędów
- Naprawiono błąd powodujący awarię na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK w przypadku
PickVisualMedia
ActivityResultContract
, dzięki czemu powinno ono teraz działać zACTION_OPEN_DOCUMENT
na urządzeniach z Androidem 10 lub niższym.
Wersja 1.6.0-alpha04
18 maja 2022 r.
androidx.activity:activity:1.6.0-alpha04
i androidx.activity:activity-ktx:1.6.0-alpha04
są dostępne.
Poprawki błędów
- Usunięto błąd w funkcji
PickVisualMediaRequest
, który powodował, że próba utworzenia żądania za pomocą narzędzia Builder lub funkcji Kotlin na najwyższym poziomie powodowała przepełnienie stosu. - Zintegrowano
OnBackInvokedCallback
w Androidzie 13 Dev Beta 2 zOnBackPressedDispatcher
udostępnionym przezComponentDialog
. Dzięki temu wszystkie interfejsy API utworzone na podstawie interfejsuOnBackPressedDispatcher
będą działać po włączeniu przewidującego gestu wstecz.
Wersja 1.6.0-alpha03
27 kwietnia 2022 r.
Funkcje 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ą dostępne.
- Uwaga: ta wersja zostanie skompilowana tylko z pakietem SDK Androida 13 w wersji beta dla deweloperów 1.
Nowe funkcje
- Dodano
ActivityResultContracts.PickVisualMedia
iActivityResultContracts.PickMultipleVisualMedia
, aby zapewnić zgodność wsteczną umowy, która używaMediaStore.ACTION_PICK_IMAGES
, gdy funkcja Selektor zdjęć jest dostępna, iIntent.ACTION_OPEN_DOCUMENT
, gdy nie jest dostępna. - Zintegrowano
OnBackInvokedCallback
w Androidzie 13 Dev Beta 1 zOnBackPressedDispatcher
udostępnianym przezComponentActivity
. Dzięki temu wszystkie interfejsy API utworzone na podstawie interfejsuOnBackPressedDispatcher
będą działać po włączeniu przewidującego gestu wstecz.
Wersja 1.6.0-alpha01
23 marca 2022 r.
Funkcje 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ą dostępne.
- Uwaga: ta wersja zostanie skompilowana tylko z pakietem SDK Androida 13 w ramach wersji dla deweloperów 2.
Nowe funkcje
- Zintegrowano zmiany z Androida 13 Dev Preview 2 w
ComponentActivity
.
Wersja 1.5.1
Wersja 1.5.1
27 lipca 2022 roku
Funkcje androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
i androidx.activity:activity-ktx:1.5.1
są dostępne. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
Funkcja
ActivityResultRegistry
nie będzie już zwracać wyniku do funkcjiActivityResultCallback
, gdy wywołanielaunch()
zwróci wartośćException
, a wywołanie zwrotne zostało zarejestrowane bez parametruLifecycleOwner
. (Ia7ff7, b/238350794)ComponentActivity
będzie teraz prawidłowo wysyłać wywołania menu do zastąpieńonPrepareOptionMenu()
,onCreateOptionsMenu()
ionOptionsItemSelected()
bez konieczności wywoływania superfunkcji. (Ie33c5, b/238057118)
Aktualizacja zależności
- Biblioteka
Activity
zależy teraz od cyklu życia2.5.1
. (If6697)
Wersja 1.5.0
Wersja 1.5.0
29 czerwca 2022 r.
Funkcje androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
i androidx.activity:activity-ktx:1.5.0
są dostępne. Wersja 1.5.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.4.0
- ComponentDialog –
ComponentDialog
to podklasaDialog
, która zawiera elementOnBackPressedDispatcher
, który zostanie wywołany po naciśnięciu przycisku Wstecz systemu i wyświetleniu okna dialogowego. Co ważne, ta podklasa ustawia teżViewTreeOnBackPressedDispatcherOwner
, co umożliwia widokom ogólny sposób pobierania prawidłowego rozsyłacza, niezależnie od tego, czy istnieje on wComponentActivity
, czy wComponentDialog
. - Interfejsy wywołań zwrotnych –
ComponentActivity
implementuje teraz zestaw modułowych interfejsów wywołań zwrotnych, które można używać zamiast wywołań zwrotnychActivity
. Te interfejsy to:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
. - Integracja z CreationExtras –
ComponentActivity
może teraz udostępniać bezstanowąViewModelProvider.Factory
za pomocąCreationExtras
z Lifecycle2.5.0
.
Inne zmiany
- Konstruktor
ActivityResultContracts.CreateDocument
bez parametrów został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ mime (np. „image/png”), zgodnie z wymaganiami interfejsuIntent.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
są publikowane bez zmian w stosunku do wersji 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te commity.
Wersja 1.5.0-beta01
20 kwietnia 2022 r.
Funkcje 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ą dostępne. Wersja 1.5.0-beta01 zawiera te commity.
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.4.0-beta01
.
Wersja 1.5.0-alpha05
6 kwietnia 2022 roku
Funkcje 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ą dostępne. Wersja 1.5.0-alpha05 zawiera te commity.
Poprawki błędów
- Metoda
ComponentActivity
w obiekcieComponentActivity
wywołuje teraz też metodę superonPanelClosed()
, co rozwiązuje problem polegający na tym, że metodaonContextMenuClosed
nie była wywoływana.onPanelClosed()
(Ib6f77)
Wersja 1.5.0-alpha04
23 marca 2022 r.
Funkcje 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ą dostępne. Wersja 1.5.0-alpha04 zawiera te commity.
Poprawki błędów
SavedStateViewFactory
obsługuje terazCreationExtras
nawet wtedy, gdy został zainicjowany za pomocąSavedStateRegistryOwner
. Jeśli podano dodatkowe argumenty, argumenty zainicjowane są ignorowane. (I6c43b, b/224844583)
Wersja 1.5.0-alpha03
23 lutego 2022 r.
Funkcje 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ą dostępne. Wersja 1.5.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Teraz możesz przekazywać parametr
CreationExtras
do funkcji aktywnościby viewModels()
(I6a3e6, b/217600303)
Wersja 1.5.0-alpha02
9 lutego 2022 r.
Funkcje 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ą dostępne. Wersja 1.5.0-alpha02 zawiera te commity.
Nowe funkcje
ComponentActivity
implementuje teraz interfejsOnPictureInPictureModeChangedProvider
, aby umożliwić każdemu komponentowi otrzymywanie zdarzeń zmiany trybu obrazu w obrazie. (I9f567)ComponentActivity
implementuje teraz interfejsOnMultiWindowModeChangedProvider
, aby umożliwić każdemu komponentowi otrzymywanie zdarzeń zmiany trybu wielookiennego. (I62d91)
Wersja 1.5.0-alpha01
26 stycznia 2022 r.
Funkcje 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ą dostępne. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
jest teraz zintegrowany z dodatkami do tworzenia widoku modelu, które zostały wprowadzone w ramach cyklu życia2.5.0-alpha01
. (Ie7e00, b/207012584)- Dodano klasę podrzędną
ComponentDialog
klasyDialog
, która zawiera metodęOnBackPressedDispatcher
, która zostanie wywołana po naciśnięciu przycisku Wstecz w systemie, gdy okno dialogowe jest widoczne. Co ważne, ta podklasa ustawia też zmiennąViewTreeOnBackPressedDispatcherOwner
, co umożliwia widokom ogólny sposób pobierania odpowiedniego modułu przekierowywania niezależnie od tego, czy istnieje on w klasieComponentActivity
, czyComponentDialog
. (I8a1bc) ComponentActivity
wdraża teraz nowy interfejsOnNewIntentProvider
, aby umożliwić dowolnemu komponentowi odbiór tych zdarzeń. (If1f8b)ComponentActivity
implementuje teraz nowy interfejsOnConfigurationChangedProvider
, aby umożliwić dowolnemu komponentowi odbiór tych zdarzeń. (If623b)ComponentActivity
wdraża teraz nowy interfejsOnTrimMemoryProvider
, aby umożliwić wszystkim komponentom odbiór tych zdarzeń. (Ia9295)
Zmiany w interfejsie API
- Konstruktor
ActivityResultContracts.CreateDocument
bez parametrów został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ mime (np."image/png"
) zgodnie z wymaganiamiIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) OnBackPressedDispatcherOwner
powiązany z widokiem może teraz zostać pobrany za pomocąViewTreeOnBackPressedDispatcherOwner
, zamiast polegać na przesyłaniuContext
. (I74685)
Poprawki błędów
- Usunięto błąd powodujący awarię podczas dostępu do obiektu
ViewModel
po raz pierwszy z poziomu funkcjiregisterForActivityResult()
lub wywołań funkcjiLifecycleObserver
dodanych jako częśćinit
obiektuComponentActivity
. (Ife83f)
Wersja 1.4.0
Wersja 1.4.0
27 października 2021 roku
Funkcje androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
i androidx.activity:activity-ktx:1.4.0
są dostępne. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- AndroidX
ComponentActivity
implementuje teraz interfejsMenuHost
. Dzięki temu każdy komponent może dodawać pozycje menu doActionBar
, dodając do aktywności instancjęMenuProvider
. Każdy elementMenuProvider
może być opcjonalnie dodany z elementemLifecycle
, który automatycznie steruje widocznością tych elementów menu na podstawie stanuLifecycle
i zajmuje się usuwaniem elementuMenuProvider
po usunięciu elementuLifecycle
. - Klasa
ActivityResultContract
została przepisana w języku Kotlin, aby deweloperzy tworzący niestandardowe kontrakty w tym języku mogli definiować prawidłową wartość null dla klas wejściowych i wyjściowych. - Klasa
ActivityResultContracts
i jej kontrakty zostały przepisane w języku Kotlin, aby zapewnić prawidłową możliwość ustawienia wartości null.
Wersja 1.4.0-rc01
13 października 2021 r.
Funkcje 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ą dostępne. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Funkcja
ActivityResultRegistry
nie będzie już zwracać wyniku do funkcjiActivityResultCallback
, gdy wywołanielaunch
zwróci wartośćException
. (If4f91, b/200845664)
Wersja 1.4.0-beta01
29 września 2021 r.
Funkcje 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ą dostępne. Wersja 1.4.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Naprawiono typ zmiennych
ActivityResultContracts.OpenMultipleDocuments
iActivityResultContracts.GetMultipleContents
, który powodował używanie typu danychList<? extends Uri>
podczas korzystania z kodu w języku programowania Java. (If71de) - Publiczne stałe w klasach
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
iActivityResultContracts.RequestMultiplePermissions
są teraz dostępne w Kotlinie za pomocą publicznych obiektówCompanion
. (aosp/1832555)
Aktualizacje dokumentacji
- Komunikat o wycofaniu interfejsów API, które są teraz obsługiwane przez interfejsy Activity API (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
ionRequestPermissionsResult
), został rozszerzony o więcej szczegółów. (cce80f)
Wersja 1.4.0-alpha02
15 września 2021 r.
Funkcje 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ą dostępne. Wersja 1.4.0-alpha02 zawiera te commity.
Nowe funkcje
- Element
activity-compose
zawiera teraz błąd lintLaunchDuringComposition
, który uniemożliwia wywołanie metodylaunch
klasyActivityResultLauncher
w ramach kompozycji, ponieważ kompozycja nie powinna mieć żadnych efektów ubocznych. Użyj interfejsów API do obsługi efektów ubocznych. (7c2bbe, b/191347220)
Zmiany w interfejsie API
- Klasa
ActivityResultContract
została przepisana w języku Kotlin, aby zapewnić deweloperom możliwość definiowania prawidłowej wartości null dla klas wejściowych i wyjściowych w przypadku niestandardowych umów. (I8a8f5) - Klasa
ActivityResultContracts
i jej kontrakty zostały przepisane w Kotlinie, aby zapewnić prawidłową wartość null. (I69802)
Wersja 1.4.0-alpha01
1 września 2021 roku
Funkcje 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ą dostępne. Wersja 1.4.0-alpha01 zawiera te commity.
Nowe funkcje
- AndroidX
ComponentActivity
implementuje teraz interfejsMenuHost
. Dzięki temu każdy komponent może dodawać pozycje menu doActionBar
, dodając do aktywności instancjęMenuProvider
. Każdy elementMenuProvider
może być opcjonalnie dodany z elementemLifecycle
, który automatycznie steruje widocznością tych elementów menu na podstawie stanuLifecycle
i zajmuje się usuwaniem elementuMenuProvider
po usunięciu elementuLifecycle
. (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
ActivityResultRegistry
będzie teraz wywoływać błądIllegalStateException
, gdyActivityResultRegistry
spróbuje wywołaćlaunch()
naActivityResultLauncher
, który nie jest zarejestrowany lub został usunięty z rejestru. (Ida75d, b/192567522)
Darowizna zewnętrzna
Wersja 1.3.1
Wersja 1.3.1
4 sierpnia 2021 r.
Funkcje androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
i androidx.activity:activity-ktx:1.3.1
są dostępne. Wersja 1.3.1 zawiera te commity.
Aktualizacje zależności
- Aktywność zależy teraz od Kotlina
1.5.21
. - Aktywność Compose zależy teraz od Compose
1.0.1
.
Wersja 1.3.0
Wersja 1.3.0
28 lipca 2021 roku
Funkcje androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
i androidx.activity:activity-ktx:1.3.0
są dostępne. Wersja 1.3.0 zawiera te commity.
Ważne zmiany od wersji 1.2.0
- Element Compose w aplikacji – element
activity-compose
udostępnia metodę rozszerzeniasetContent
, która umożliwia wyświetlanie interfejsu użytkownika Jetpack Compose w aplikacji, oraz specjalne owijacze Compose do interakcji z interfejsami APIComponentActivity
, które obsługują przycisk Wstecz systemu i interfejsy API Activity Result. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją. - Zapisywanie filmów – parametr
CaptureVideo
ActivityResultContract
zastępuje wycofany parametrTakeVideo
i zwraca wartość logiczną oznaczającą sukces, która działa w wielu aplikacjach do obsługi aparatu. - Śledzenie podglądu w poziomie obrazu – podpowiedź – użytkownicy
activity-ktx
mogą teraz używać metody rozszerzeniatrackPipAnimationHintView
wActivity
, aby automatycznie odtwarzaćPictureInPictureParams
z nową pozycją widoku, gdy zmienia się on w stosunku do okna.
Wersja 1.3.0-rc02
14 lipca 2021 roku
Funkcje 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ą dostępne. Wersja 1.3.0-rc02 zawiera te commity.
Poprawki błędów
ActivityResultRegistry
callbacki są teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są dublowane w savedState. (I97816, b/191893160)
Wersja 1.3.0-rc01
1 lipca 2021 r.
Funkcje 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 porównaniu z wersją 1.3.0-beta02
. Wersja 1.3.0-rc01 zawiera te commity.
Wersja 1.3.0-beta02
16 czerwca 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-beta02 zawiera te commity.
Zaktualizowano activity-compose
, aby zależało od funkcji tworzenia wiadomości 1.0.0-beta09
. androidx.compose.ui:ui-test-junit4
jest teraz zależny od modułu activity-compose
w czasie kompilacji.
Wersja 1.3.0-beta01
2 czerwca 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Metoda
@Composable registerForActivityResult()
, która była wcześniej wycofana, została usunięta. Użyj wartościrememberLauncherForActivityResult()
. (Ic39d3)
Wersja 1.3.0-alpha08
18 maja 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha08 zawiera te commity.
Nowe funkcje
- Nowa funkcja
CaptureVideo
ActivityResultContract
zwraca wartość logiczną doActivityResultCallback
, która wskazuje, czy film został zapisany w danym identyfikatorze URI. Zastępuje ono wycofany kontraktTakeVideo
, ponieważ aplikacje do obsługi aparatów bardzo rzadko obsługiwały zwracanie bitmapy miniatury, co powodowało, że wynik był bezużyteczny. (Ie21f2, b/185938070) - Dodano nowy interfejs API
Activity#setPipAnimationHintView
, który aktualizuje wskazówkę źródła prostokąta PipParams, gdy widok się przesuwa. (I9063d)
Zmiany w interfejsie API
- Funkcja
rememberLauncherForActivityResult
zwraca teraz launcher, który wycofuje funkcjęunregister()
. Rejestracja i wyrejestrowanie tego launchera są obsługiwane automatycznie przez funkcjęrememberLauncherForActivityResult
. (I2443e)
Zgodność funkcji tworzenia
androidx.activity:activity-compose:1.3.0-alpha08
jest zgodna tylko z Compose w wersji1.0.0-beta07
lub nowszej.
Wersja 1.3.0-alpha07
21 kwietnia 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha07 zawiera te commity.
Poprawki błędów
- Funkcja
rememberLauncherForActivityResult
zwraca teraz stabilne odwołanie do tej samej instancjiActivityResultLauncher
, nawet jeśli umowa ulegnie zmianie z powodu zmiany składu. (Id2d6d) - Używanie niestabilnych wersji fragmentów w wersji wyższej niż
1.3.0
nie będzie już powodować fałszywie pozytywnego błędu lint, który zaleca używanie wersji1.3.0
. (aosp/1670206, b/184847092)
Wersja 1.3.0-alpha06
7 kwietnia 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha06 zawiera te commity.
Zmiany w interfejsie API
- Interfejs API
registerForActivityResult()
został przemianowany narememberLauncherForActivityResult()
, aby lepiej wskazywać, że zwrócony obiektActivityResultLauncher
jest obiektem zarządzanym, który jest zapamiętany w Twoim imieniu. Próba wywołania funkcjiunregister
z zwróconą wartościąActivityResultLauncher
spowoduje błąd. (I2bb6d) - Funkcje
LocalOnBackPressedDispatcherOwner.current
iLocalActivityResultRegistryOwner.current
zwracają teraz wartość opcjonalną, aby lepiej określić, czy jest ona dostępna w bieżącej kompozycji. Interfejsy API, które wymagają tych interfejsów API, np.BackHandler
irememberLauncherForActivityResult()
, będą teraz zwracać bardziej opisowy błąd, jeśli nie uda się znaleźć właściciela.NavHost
działa teraz nawet wtedy, gdy nie znalezionoOnBackPressedDispatcherOwner
. Dzieje się tak podczas wyświetlania podgląduNavHost
. (I7d8b4)
Poprawki błędów
- Komponent
BackHandler
będzie teraz prawidłowo przechwytywać naciśnięcia przycisku Wstecz w przypadku, gdy aktywność jestSTOPPED
, a potem ponownieSTARTED
, oraz gdy dodano inne wywołania zwrotne za pomocą klasy LifecycleOwner. (I71de6, b/182284739) - Użycie rozszerzenia metody
launch()
z niestandardowym parametremActivityResultContract
, który ma dane wejścioweUnit
, nie spowoduje już błęduNullPointerException
(I76282, b/183837954)
Wersja 1.3.0-alpha05
24 marca 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha05 zawiera te commity.
Poprawki błędów
- W Activity 1.2.2: rozwiązano problem z kontrolą lint
InvalidFragmentVersionForActivityResult
, która powodowała fałszywie dodatnie wyniki przy użyciu Fragment 1.3.1 lub nowszej wersji. (I54da1, b/182388985) - W wersji Activity 1.2.2:
ComponentActivity
nie powoduje już błęduClassNotFoundException
podczas uruchamianiaIntent
zActivityResultContract
, który był wcześniej przechowywany jako dodatkowy w innejIntent
. (Ieff05, b/182906230)
Aktualizacje zależności
- Od wersji Activity 1.2.2: aktywność zależy teraz od cyklu życia
2.3.1
.
Wersja 1.3.0-alpha04
10 marca 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha04 zawiera te commity.
Poprawki błędów
- W sekcji Aktywność
1.2.1
:RequestMultiplePermissions
zawsze zwraca teraz wyniki dla wszystkich żądanych uprawnień, a nie tylko tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668) - W sekcji Aktywność
1.2.1
:ActivityResultRegistry
teraz zapewnia, że w trakcie wykonywanialaunch()
żądania będą zwracać wyniki, nawet jeśli najpierwunregister()
, a potemregister()
z tym samym kluczem. (I9ef34, b/181267562) - Edytor aktywności nie dodaje już zależności testów do classpath środowiska wykonawczego. (Ifd8b3)
- Rozwiązaliśmy problem z funkcją
BackHandler
, w której po ponownym skomponowaniu nadal używana była wcześniej ustawiona lambdaonBack
. (8eb5eb)
Wersja 1.3.0-alpha03
24 lutego 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha03 zawiera te commity.
Nowe funkcje
- Dostępna jest teraz funkcja typu „composable”
registerForActivityResult
służąca do uzyskiwania wyników z działalności w komponowalnych. (Ia7851, b/172690553)
Zmiany w interfejsie API
- Interfejs
LocalOnBackPressedDispatcherOwner
zawiera teraz funkcjeprovides
, które można używać zCompositionLocalProvider
, zastępując interfejsasProvidableCompositionLocal()
API. (I45d24)
Wersja 1.3.0-alpha02
10 lutego 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem w sekcji Aktywność w komponowaniu
1.3.0-alpha01
, który powodował wyjątekNoSuchMethodError: No static method setContent
podczas korzystania z sekcji Komponuj1.0.0-alpha12
. Wszyscy użytkownicy Compose powinni korzystać z wersji1.3.0-alpha02
lub nowszej. (b/179911234)
Zmiany w interfejsie API
- Interfejs API
BackHandler
umożliwia komponentowi przechwycenie przycisku Wstecz systemu. (I58ed5, b/172154006)
Wersja 1.3.0-alpha01
10 lutego 2021 r.
Funkcje 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ą dostępne. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy artefakt
activity-compose
zawiera pomocnicze narzędzia Jetpack Compose do obsługi interfejsów APIandroidx.activity
.- Obiekt
ComponentActivity.setContent
został przeniesiony z folderuandroidx.compose.ui.platform.setContent
do folderuandroidx.activity.compose.setContent
. (Icf416)
- Obiekt
Znane problemy
- Użycie modułu Activity Compose
1.3.0-alpha01
i bibliotek, które od niego zależą, takich jakandroidx.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.
androidx.activity:activity:1.2.4
i androidx.activity:activity-ktx:1.2.4
są dostępne. 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, więc nie są dublowane w savedState. (I97816, b/191893160)
Wersja 1.2.3
Wersja 1.2.3
5 maja 2021 roku
androidx.activity:activity:1.2.3
i androidx.activity:activity-ktx:1.2.3
są dostępne. Wersja 1.2.3 zawiera te zatwierdzenia.
Poprawki błędów
- Użycie rozszerzenia metody
launch()
z niestandardowym parametremActivityResultContract
, który ma dane wejścioweUnit
, nie spowoduje już błęduNullPointerException
(I76282, b/183837954) - Usunięto błąd lint o fałszywie dodatnim wyniku, który zalecał używanie Fragment
1.3.0
podczas korzystania ze zrzutu, wersji alfa, beta lub RC nowszej wersji Fragments. (f4a57e, b/184847092)
Wersja 1.2.2
Wersja 1.2.2
24 marca 2021 r.
androidx.activity:activity:1.2.2
i androidx.activity:activity-ktx:1.2.2
są dostępne. Wersja 1.2.2 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z sprawdzaniem błędów
InvalidFragmentVersionForActivityResult
, które powodowało fałszywie pozytywny wynik przy użyciu Fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985) ComponentActivity
nie uruchamia jużClassNotFoundException
, gdyIntent
jest uruchamiane z poziomuActivityResultContract
, które było wcześniej nadliczbowym poziomem 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.
androidx.activity:activity:1.2.1
i androidx.activity:activity-ktx:1.2.1
są dostępne. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
RequestMultiplePermissions
zwraca teraz wyniki dla wszystkich żądanych uprawnień zamiast tylko tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)ActivityResultRegistry
zapewnia teraz, że w trakcie przetwarzanialaunch()
żądania będą zwracać wyniki, nawet jeśli najpierwunregister()
, a potemregister()
z tym samym kluczem. (I9ef34, b/181267562)
Wersja 1.2.0
Wersja 1.2.0
10 lutego 2021 r.
androidx.activity:activity:1.2.0
i androidx.activity:activity-ktx:1.2.0
są dostępne. Wersja 1.2.0 zawiera te zatwierdzenia.
Najważniejsze zmiany od wersji 1.1.0
- Interfejsy API wyników aktywności:
ComponentActivity
udostępnia teraz interfejsActivityResultRegistry
, który umożliwia obsługę przepływówstartActivityForResult()
+onActivityResult()
orazrequestPermissions()
+onRequestPermissionsResult()
bez nadpisywania metod w aktywności lub fragmencie. Zapewnia też większą ochronę typów za pomocąActivityResultContract
oraz zapewnia elementy do testowania tych przepływów. Zobacz zaktualizowaną wersję artykułu Pobieranie wyniku z aktywności.
ContextAware
:ComponentActivity
implementuje terazContextAware
, co pozwala dodać co najmniej 1 instancjęOnContextAvailableListener
, która otrzyma wywołanie zwrotne przed podstawową usługąActivity.onCreate()
.- Zawieszające rozszerzenie Kotlina
withContextAvailable()
umożliwia uruchamianie bloku, który nie zawiesza się, gdy kontekst stanie się dostępny, i zwracanie wyniku. - Ten interfejs API jest używany przez
FragmentActivity
w Fragment 1.3.0 do przywracania stanuFragmentManager
. Wszystkie detektory dodane do podklasFragmentActivity
będą działać po tym detektorze. - Ten interfejs API jest używany przez
AppCompatActivity
w wersji AppCompat 1.3.0-alpha02 lub nowszej. Wszystkie detektory dodane do podklasAppCompatActivity
będą działać po tym detektorze.
- Zawieszające rozszerzenie Kotlina
ViewTree
Wsparcie:ComponentActivity
obsługuje teraz interfejsy APIViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
iViewTreeSavedStateRegistryOwner
dodane w Lifecycle2.3.0
i SavedState1.1.0
, dzięki czemu zwraca aktywność jakoLifecycleOwner
,ViewModelStoreOwner
iSavedStateRegistryOwner
dla wszystkich widoków dodanych bezpośrednio doComponentActivity
.
- reportFullyDrawn() backport – metoda
Activity
klasyreportFullyDrawn()
została przeniesiona do klasyComponentActivity
, aby działała na wszystkich poziomach interfejsu API. Rozwiązano w ten sposób problem z wypadkiem w wersji 19 interfejsu API i dodano śledzenie dla tej metody na wszystkich poziomach interfejsu API.
Wersja 1.2.0-rc01
16 grudnia 2020 roku
androidx.activity:activity:1.2.0-rc01
i androidx.activity:activity-ktx:1.2.0-rc01
są dostępne. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Teraz
ActivityResultRegistry
zawsze przywraca dokładny stan, który został zapisany. (Idd56b) - Dodaj śledzenie do
ComponentActivity.reportFullyDrawn
(Ic7632)
Darowizna zewnętrzna
ComponentActivity
zastępuje terazreportFullyDrawn()
, co umożliwia wywołanie tej metody na wszystkich poziomach interfejsu API. Rozwiązano też problem z wypadkami podczas wywoływania tej metody bez odpowiedniego uprawnienia systemowego na urządzeniach z interfejsem API w wersji 19. Dziękuję, Simon Schiller. (b/163239764, #103)
Wersja 1.2.0-beta02
2 grudnia 2020 r.
androidx.activity:activity:1.2.0-beta02
i androidx.activity:activity-ktx:1.2.0-beta02
są dostępne. Wersja 1.2.0-beta02 zawiera te commity.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że interfejs ActivityResult API nie czekał na zakończenie cyklu życia
STARTED
, zanim zwrócił wyniki, gdy był zarejestrowany z użyciemLifecycle
. (I109ea)
Darowizna zewnętrzna
- Zaktualizowaliśmy dokumentację funkcji
launch()
, aby wyraźnie wskazać, że może ona wywołać błądActivityNotFoundException
. Dziękuję Michał Zieliński. (aosp/1493580)
Wersja 1.2.0-beta01
1 października 2020 roku
androidx.activity:activity:1.2.0-beta01
i androidx.activity:activity-ktx:1.2.0-beta01
są dostępne. Wersja 1.2.0-beta01 zawiera te commity.
Poprawki błędów
ActivityResultRegistry
generuje teraz losowe liczby całkowite, aż znajdzie taką, która nie została przypisana do użycia jako kod żądaniaregister()
. Zapobiega to możliwemu przepełnieniu liczby całkowitej spowodowanemu przez zwiększanie kodów żądań. (b/168779518)Lifecycle
obserwatorów są prawidłowo usuwane podczas wywoływania funkcjiunregister()
w obiekcieActivityResultLauncher
. (b/165608393)
Zmiany w zachowaniu
- Funkcja
ActivityResultRegistry
powoduje teraz błądIllegalStateException
podczas próby wywołania funkcjiregister()
z parametramiLifecycleOwner
, którejLifecycle
ma wartośćSTARTED
. (b/165435866)
Zaktualizowano dokumentację
- Dokumentacja
ContextAware
zawiera linki doLifecycleOwner
, aby wskazać, że wywołania zwrotneLifecycle
są odpowiednim miejscem do tworzenia i usuwania zdarzeń. (aosp/1414152)
Wersja 1.2.0-alpha08
19 sierpnia 2020 r.
androidx.activity:activity:1.2.0-alpha08
i androidx.activity:activity-ktx:1.2.0-alpha08
są dostępne. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
implementuje terazContextAware
, co pozwala dodać co najmniej 1 instancjęOnContextAvailableListener
, która otrzyma wywołanie zwrotne przed bazowąActivity.onCreate()
. (b/161390636)- Zawieszające rozszerzenie Kotlina
withContextAvailable()
umożliwia uruchamianie bloku, który nie zawiesza się, gdy kontekst stanie się dostępny, i zwracanie wyniku. (I8290c) - Ten interfejs API jest używany przez
FragmentActivity
w Fragment 1.3.0-alpha08 do przywracania stanuFragmentManager
. Wszystkie detektory dodane do podklasFragmentActivity
będą działać po tym detektorze. (I513da) - Ten interfejs API jest używany przez
AppCompatActivity
w AppCompat 1.3.0-alpha02. Wszystkie detektory dodane do podklasAppCompatActivity
będą działać po tym detektorze. (I513da)
- Zawieszające rozszerzenie Kotlina
Poprawki błędów
- Rozwiązaliśmy problem z sprawdzaniem Lint
ActivityResultFragmentVersionDetector
, które powodowało awarię przy użyciu Lint 27.1.0 lub nowszej wersji. (b/162155191)
Wersja 1.2.0-alpha07
22 lipca 2020 r.
androidx.activity:activity:1.2.0-alpha07
i androidx.activity:activity-ktx:1.2.0-alpha07
są dostępne. Wersja 1.2.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodano nową
InvalidFragmentVersionForActivityResult
sprawdzanie lint, które weryfikuje, czy korzystasz z Fragment1.3.0-alpha07
, gdy używasz interfejsu Activity Result API. Pozwala to uniknąć awarii w czasie działania spowodowanych problemami z „nieprawidłowym kodem żądania” i niedziałającymi żądaniami uprawnień spowodowanymi używaniem starszych wersji fragmentów. (b/152554847)
Darowizna zewnętrzna
- Naprawiono błąd
ArrayIndexOutOfBoundsException
podczas analizowania wyników umowyRequestPermission
dotyczących wyników aktywności. (I8f9e3, b/161057605)
Wersja 1.2.0-alpha06
10 czerwca 2020 r.
androidx.activity:activity:1.2.0-alpha06
i androidx.activity:activity-ktx:1.2.0-alpha06
są dostępne. Wersja 1.2.0-alpha06 zawiera te commity.
Nowe funkcje
- Teraz możesz zdestrukturyzować klasę
ActivityResult
w języku Kotlin, aby uzyskać bezpośredni dostęp do elementówrequestCode
iintent
. (b/157212935) ActivityResultLauncher
umożliwia teraz uzyskanieActivityResultContract
, który został użyty do zarejestrowania programu uruchamiającego. (b/156875743)
Zmiany w interfejsie API
- Zmiany wprowadzające: metoda
invoke()
w metodachActivityResultRegistry
nosi teraz nazwęonLaunch()
. (b/157496491) - Umowa
OpenMultipleDocuments
zwraca teraz pustą listę zamiastnull
do zarejestrowanego wywołania zwrotnego, jeśli nie zwraca żadnych wyników. (b/157348014)
Wersja 1.2.0-alpha05
20 maja 2020 r.
androidx.activity:activity:1.2.0-alpha05
i androidx.activity:activity-ktx:1.2.0-alpha05
są dostępne. Wersja 1.2.0-alpha05 zawiera te commity.
Nowe funkcje
- Dodano obsługę właściwości
ViewTreeViewModelStoreOwner
z cyklu życia2.3.0-alpha03
i właściwościViewTreeSavedStateRegistryOwner
z zapisanego stanu1.1.0-alpha01
podczas używania elementuView
w elementachComponentActivity
. (aosp/1297993, aosp/1300264)
Zmiany w interfejsie API
- Kontrakt
TakePicture
zwraca teraz wartośćboolean
wskazującą na sukces, a nie miniaturęBitmap
, ponieważ ta ostatnia była bardzo rzadko obsługiwana przez aplikacje aparatu podczas zapisywania obrazu do podanegoUri
. (b/154302879) - Rozszerzenia
invoke()
w funkcjiActivityResultLauncher
zostały usunięte na rzecz wyraźnego użycialaunch()
, aby lepiej wskazywać, że są to operacje asynchroniczne. Do pakietuandroidx.activity.result
dlaActivityResultLauncher<Void>
iActivityResultLauncher<Unit>
dodano rozszerzenia Kotlina dlalaunch
, które eliminują konieczność przekazywania odpowiednio argumentównull
lubUnit
, odzwierciedlając w ten sposób zachowanie wcześniejszych rozszerzeńinvoke()
. (aosp/1304674, aosp/1304675) - Metody
IntentSenderRequest.Builder
dlasetFlagsMask()
isetFlagsValues()
zostały połączone w jedną metodęsetFlags()
. (aosp/1302111)
Poprawki błędów
- Podczas rejestrowania
ActivityResultCallback
zLifecycleOwner
rozwią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
ActivityResultRegistry
generuje teraz kody żądań, które zaczynają się od0xFFFF
, a nie od0
, co zapobiega ich nakładaniu się podczas używania w działaniu wartościstartActivityForResult()
lubrequestPermissions()
. (aosp/1302324)
Wersja 1.2.0-alpha04
29 kwietnia 2020 r.
androidx.activity:activity:1.2.0-alpha04
i androidx.activity:activity-ktx:1.2.0-alpha04
są dostępne. Wersja 1.2.0-alpha04 zawiera te commity.
Nowe funkcje
- Do interfejsów ActivityResult API dodano kontrakt, który może wywołać metodę startIntentSenderForResult. (b/153007517)
Zmiany w interfejsie API
- Metoda
prepareCall()
została przemianowana naregisterForActivityResult()
, zarówno w przypadkuComponentActivity
, jak i w fragmentie1.3.0-alpha04
. (aosp/1278717) - Umowy
GetContents
,OpenDocuments
iRequestPermissions
zostały odpowiednio przemianowane naGetMultipleContents
,OpenMultipleDocuments
iRequestMultiplePermissions
. (aosp/1280161) ComponentActivity
korzysta teraz z interfejsuActivityResultRegisteryOwner
. (aosp/1290888)- – Interfejsy API
startActivityForResult()
/onActivityResult()
ionRequestPermissionsResult()
wComponentActivity
zostały wycofane. Użyj interfejsów Activity Result API. (b/154751887)
Poprawki błędów
- Gdy używasz umów
GetMultipleContents
iOpenMultipleDocuments
i wybierasz pojedynczy element, jest on teraz prawidłowo zwracany do wywołania zwrotnego. (b/152941153)
Wersja 1.2.0-alpha03
1 kwietnia 2020 r.
androidx.activity:activity:1.2.0-alpha03
i androidx.activity:activity-ktx:1.2.0-alpha03
są dostępne. Wersja 1.2.0-alpha03 zawiera te komisy.
Nowe funkcje
- Dodano do zestawu gotowych umów dostępnych w
ActivityResultContracts
umowyTakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
iCreateDocument
. (aosp/1262482, aosp/1266916, aosp/1268960) - Interfejsy API wyników aktywności obsługują teraz uruchamianie aktywności w celu uzyskania wyniku z opcjonalnym parametrem
ActivityOptionsCompat
. (b/151860054)
Zmiany w interfejsie API
- Kontrakt
TakePicture
przyjmuje teraz parametrUri
określający, gdzie ma być przechowywany obraz. Poprzednia umowa, która nie wymaga żadnych danych wejściowych, została przemianowana naTakePicturePreview
. (aosp/1262482) - Metoda
registerActivityResultCallback()
w elementachActivityResultRegistry
nosi teraz nazwęregister()
. (aosp/1267621) - Metoda
dispose()
w funkcjiActivityResultLauncher
została przemianowana naunregister()
, a metodaunregisterResultCallback()
w funkcjiActivityResultRegistry
została usunięta. (aosp/1267621) - Metoda
createIntent()
klasyActivityResultContact
przyjmuje teraz oprócz danych wejściowych także argumentContext
, co umożliwia tworzenie jawnych intencji. (aosp/1238800) ActivityResultContract
może teraz zastąpićgetSynchronousResult()
, aby uzyskać wynik bez wywoływaniastartActivityForResult
. Jest on używany w umowachRequestPermission
iRequestPermissions
, aby prawidłowo przekazywać stan „granted” (przyznano), jeśli żądane uprawnienia zostały już przyznane. (b/151110799)- Dostępny wcześniej kontrakt
Dial
został usunięty, ponieważIntent
nie jest przeznaczony do użytku zstartActivityForResult()
. (aosp/1266916) - Wiele interfejsów API wyników aktywności, które nie powinny być rozszerzane, jest teraz
final
. Obejmuje togetActivityResultRegistry()
, metodyprepareCall()
, wszystkie metodyActivityResultRegistry
(z wyjątkieminvoke()
) oraz wiele domyślnych umów, które nie obsługują dodatkowych opcji. (b/152439361)
Poprawki błędów
- Naprawiono błąd
NullPointerException
wActivityResultRegistry
, który występował podczas próby dostarczenia wyników do funkcji wywołania zwrotnego, która nie została jeszcze ponownie zarejestrowana po zmianie konfiguracji.ActivityResultRegistry
zapisuje teraz te oczekujące wyniki i przekazuje je, gdy funkcja wywołania zwrotnego zostanie ponownie zarejestrowana. (b/152137004)
Wersja 1.2.0-alpha02
18 marca 2020 r.
androidx.activity:activity:1.2.0-alpha02
i androidx.activity:activity-ktx:1.2.0-alpha02
są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.
Nowe funkcje
- ActivityResultRegistry:
ComponentActivity
udostępnia terazActivityResultRegistry
, który umożliwia obsługę przepływówstartActivityForResult()
+onActivityResult()
irequestPermissions()
+onRequestPermissionsResult()
bez zastępowania metod w Twojej aktywności lub fragmencie. Zapewnia też większą ochronę typów za pomocąActivityResultContract
oraz zapewnia elementy do testowania tych przepływów. Zobacz zaktualizowaną wersję artykułu Pobieranie wyniku z aktywności. (b/125158199)
1.2.0-alpha02
Wersja 1.2.0-alpha01
4 marca 2020 r.
androidx.activity:activity:1.2.0-alpha01
i androidx.activity:activity-ktx:1.2.0-alpha01
są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodano obsługę interfejsu API
ViewTreeLifecycleOwner.get(View)
dodanego w cyklu życia2.3.0-alpha01
, aby zwracał on Activity jakoLifecycleOwner
w przypadku wszystkich widoków dodanych bezpośrednio do Activity. (aosp/1182955)
Poprawki błędów
- Naprawiono regresję wprowadzoną w komponencie Activity
1.1.0
, gdy działa on w starszych wersjach platformy. W tym przypadkuonBackPressed()
powodowałIllegalStateException
z powodu błędu w komponencieandroid.app.FragmentManager
. (b/146290338)
Wersja 1.1.0
Wersja 1.1.0
22 stycznia 2020 r.
androidx.activity:activity:1.1.0
został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia:
Ważne zmiany od wersji 1.0.0
- Łączenie Lifecycle ViewModel z SavedState:
SavedStateViewModelFactory
jest teraz domyślną fabryką używaną podczas korzystania zby viewModels()
, konstruktoraViewModelProvider
lubViewModelProviders.of()
zComponentActivity
lub jego podklasami.
Wersja 1.1.0-rc03
4 grudnia 2019
androidx.activity:activity:1.1.0-rc03
i androidx.activity:activity-ktx:1.1.0-rc03
są dostępne. Wersja 1.1.0-rc03 zawiera te zatwierdzenia:
Zmiany w zależnościach
- Aktywność zależy teraz od cyklu życia
2.2.0-rc03
i stanu zapisanego LifecycleViewModel1.0.0-rc03
.
Wersja 1.1.0-rc02
7 listopada 2019 r.
androidx.activity:activity:1.1.0-rc02
i androidx.activity:activity-ktx:1.1.0-rc02
są dostępne. Wersja 1.1.0-rc02 zawiera te zatwierdzenia
Zmiany w zależnościach
- 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ą publikowane bez zmian w porównaniu z wersją 1.1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia:
Wersja 1.1.0-beta01
9 października 2019 r.
androidx.activity:activity:1.1.0-beta01
i androidx.activity:activity-ktx:1.1.0-beta01
są dostępne. Wersja 1.1.0-beta01 zawiera te commity:
Zmiany w zależnościach
- Aktywność zależy teraz od stabilnej wersji SavedState 1.0.0.
Wersja 1.1.0-alpha03
5 września 2019 r.
androidx.activity:activity:1.1.0-alpha03
i androidx.activity:activity-ktx:1.1.0-alpha03
są dostępne. Zmiany 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.
androidx.activity:activity:1.1.0-alpha02
i androidx.activity:activity-ktx:1.1.0-alpha02
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
SavedStateViewModelFactory
jest teraz domyślną fabryką używaną podczas korzystania zby viewModels()
, konstruktoraViewModelProvider
lubViewModelProviders.of()
zComponentActivity
(b/135716331)
Wersja 1.1.0-alpha01
2 lipca 2019 r.
androidx.activity:activity:1.1.0-alpha01
i androidx.activity:activity-ktx:1.1.0-alpha01
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
activity
zależy teraz od cyklu życia2.2.0-alpha02
. (aosp/1007817)activity-ktx
ma teraz zależność odlifecycle-runtime-ktx
. Nie musisz już dodawać tej biblioteki do swoich zależności podczas korzystania zactivity-ktx
lub bibliotek, które są zależne odlifecycle-runtime-ktx
(np.fragment-ktx
). (aosp/987162)activity-ktx
Wersja 1.0.0
Wersja 1.0.0
5 września 2019 r.
androidx.activity:activity:1.0.0
i androidx.activity:activity-ktx:1.0.0
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Najważniejsze funkcje wersji 1.0.0
- ComponentActivity:
ComponentActivity
służy jako nowa klasa podstawowa dlaFragmentActivity
w Fragment1.1.0
i w dalszym ciągu dlaAppCompatActivity
w AppCompat1.1.0
. - activity-ktx: moduł
activity-ktx
zawieraby viewModels
rozszerzenie właściwości Kotlina, które umożliwia dostęp do ViewModels. Ten moduł jest uwzględniany automatycznie, gdy uwzględniszfragment-ktx
z Fragmentu1.1.0
. - OnBackPressedDispatcher: jako alternatywę dla zastąpienia metody
onBackPressed()
możesz teraz zarejestrować metodęOnBackPressedCallback
z dowolnej metodyLifecycleOwner
(np. fragmentu), aby przechwytywać zdarzenia związane z przyciskiem Wstecz systemu. Doactivity-ktx
dodano funkcję lambda z wersją odbiornikaaddCallback
. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją dotyczącą niestandardowej nawigacji wstecz. - onRetainCustomNonConfigurationInstance deprecation: interfejsy API
onRetainCustomNonConfigurationInstance()
i powiązane z nimigetLastCustomNonConfigurationInstance()
zostały wycofane. Do przechowywania stanu niekonfiguracyjnego zdecydowanie zalecamy używanie ViewModels, ponieważ stanowią one rozwiązanie kompozycyjne odpowiednie dla dowolnegoViewModelStoreOwner
, które ułatwia ustalenie własności przechowywanych obiektów i zapewnia wywołanie zwrotneonCleared()
, które umożliwia oczyszczanie zasobów po ostatecznym usunięciu aktywności.
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ą publikowane bez zmian w porównaniu z wersją 1.0.0-beta01
. Zmiany 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ą publikowane bez zmian w porównaniu z wersją 1.0.0-alpha08
. Zmiany zawarte w tej wersji znajdziesz tutaj.
Wersja 1.0.0-alpha08
7 maja 2019 r.
androidx.activity:activity:1.0.0-alpha08
i androidx.activity:activity-ktx:1.0.0-alpha08
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
- Zmiana wprowadzająca zmiany: metody
addOnBackPressedCallback
iremoveOnBackPressedCallback
w klasieComponentActivity
, które zostały wycofane, zostały usunięte. aosp/953857 - Metody
setEnabled()
iisEnabled()
klasyOnBackPressedCallback
są już ostateczne. b/131416833 - Metoda
remove()
wOnBackPressedCallback
jest teraz ostateczna. aosp/952720 OnBackPressedDispatcher
ma teraz publiczne konstruktory, które umożliwiają tworzenie własnych wystąpień na potrzeby testowania itp. aosp/953431onBackPressed()
dlaComponentActivity
jest teraz wyraźnie oznaczony jako@MainThread
aosp/952721
Poprawki błędów
- Rozwiązaliśmy problem z
ConcurrentModificationException
podczas wywoływania metodyremove()
w ramach metodyhandleOnBackPressed()
obiektuOnBackPressedCalback
, który został dodany za pomocą funkcjiLifecycleOwner
. b/131765095
Wersja 1.0.0-alpha07
25 kwietnia 2019 r.
androidx.activity:activity:1.0.0-alpha07
i androidx.activity:activity-ktx:1.0.0-alpha07
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
W tej wersji wprowadzono istotne zmiany w obsługiwaniu onBackPressed()
. Aby dowiedzieć się więcej, zapoznaj się z zaktualizowaną dokumentacją dotyczącą niestandardowych stron tytułowych.
- Metody
OnBackPressedCallback
iOnBackPressedDispatcher
zostały oznaczone jako@MainThread
. (aosp/943813) - Metoda
handleOnBackPressed()
nie zwraca już wartościboolean
. Zamiast tegoOnBackPressedCallback
jest teraz abstrakcyjną klasą, którą można włączyć lub wyłączyć. MetodahandleOnBackPressed()
zostanie wywołana tylko wtedy, gdy nowa metodaisEnabled()
zwróci wartość true. W tym przypadku musisz obsłużyć przycisk Wstecz. (aosp/944518) - Metody
addCallback
klasyOnBackPressedDispatcher
nie zwracają już instancjiCancellable
.OnBackPressedCallback
zawiera teraz metodęremove()
, która realizuje tę funkcję, umożliwiając wywołanieremove()
podczashandleOnBackPressed()
. (aosp/944519) (aosp/946316) activity-ktx
zawiera teraz wywołanie zwrotne ograniczone do odbiornika dlaaddCallback
, które akceptuje funkcję pomocniczą implementującąhandleOnBackPressed()
i mającą dostęp doisEnabled
orazremove()
(aosp/944520)
Wersja 1.0.0-alpha06
3 kwietnia 2019 r.
androidx.activity:activity:1.0.0-alpha06
i androidx.activity:activity-ktx:1.0.0-alpha06
są dostępne. Zmiany 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 adnotowaniu klasy AppCompatActivity za pomocą parametru@ContentView
. To podejście działa zarówno w przypadku aplikacji, jak i modułów biblioteki. (b/128352521) - Interfejsy API związane z
OnBackPressedCallback
w ComponentActivity zostały wycofane na rzecz nowego interfejsuOnBackPressedDispatcher
, który można pobrać za pomocągetOnBackPressedDispatcher()
. (aosp/922523) - Metody dodawania nowych elementów
OnBackPressedCallback
do obiektuOnBackPressedDispatcher
zwracają teraz obiektCancellable
, co umożliwia usuwanie wywołań zwrotnych bez konieczności wyraźnego odniesienia do obiektuOnBackPressedDispatcher
. (aosp/922523) - Dodanie
OnBackPressedCallback
z powiązanymLifecycleOwner
powoduje teraz dodanie i usunięcieOnBackPressedCallback
odpowiednio po uruchomieniu i zatrzymaniu cyklu życia. (aosp/922523)
Wersja 1.0.0-alpha05
13 marca 2019 r.
Zasoby androidx.activity:activity:1.0.0-alpha05
i androidx.activity:activity-ktx:1.0.0-alpha05
są dostępne. Pełną listę zatwierdzeń uwzględnionych w tej wersji znajdziesz tutaj.
Nowe funkcje
- wyszukiwanie adnotacji
@ContentView
jest teraz przechowywane 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
są dostępne.
Nowe funkcje
- Dodano obsługę adnotacji klasy
@ContentView
, która umożliwia wskazanie, który plik XML układu należy napompować jako alternatywę dlasetContentView()
. (aosp/837619)
Zmiany w interfejsie API
- Dodano informację, że
getViewModelStore()
nie powinno być zastąpione i zostanie ostatecznie zastąpione w przyszłej wersji. Jeśli obecnie zastępujesz tę metodę, prześlij prośbę o dodanie funkcji. (aosp/837619)
Poprawki błędów
- Moduł
activity
jest teraz zależny od wersji 2.1.0-alpha02 interfejsu ViewModel, aby odpowiadać zależnościom modułuactivity-ktx
.
Wersja 1.0.0-alpha03
17 grudnia 2018 r.
androidx.activity 1.0.0-alpha03
został zwolniony.
Nowe funkcje
- ComponentActivity implementuje teraz
BundleSavedStateRegistryOwner
i używa nowo wydanej biblioteki SavedState [aosp/815133]. - Komponent ComponentActivity omija teraz błąd w platformie Androida, który powodował wyciek ostatniego widoku z aktywną metodą InputMethodManager [b/37122102]
Wersja 1.0.0-alpha02
3 grudnia 2018 r.
Zmiany w interfejsie API
- Dodano informację, że parametr
getLifecycle()
nie powinien być zastępowany i w przyszłej wersji zostanie ustawiony na wartośćfinal
. 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ę podstawową dla istniejących klas FragmentActivity
i AppCompatActivity
.
Nowe funkcje
- Możesz teraz zarejestrować
OnBackPressedCallback
za pomocąaddOnBackPressedCallback
, aby otrzymywać wywołania zwrotneonBackPressed()
bez konieczności zastępowania metody w działaniu. - Dodaliśmy nowy obiekt
by viewModels()
w języku Kotlin, który służy do pobierania właściwościViewModel
z obiektuComponentActivity
. - Oczekujące zdarzenia wejściowe (np. kliknięcia) są teraz anulowane w
onStop()
.
Zmiany w interfejsie API
- Implementacja funkcji
LifecycleOwner
iViewModelStoreOwner
została przeniesiona z poziomuFragmentActivity
doComponentActivity
. - Środowisko wykonawcze
onRetainCustomNonConfigurationInstance
zostało wycofane. Używaj zbioruViewModel
do przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.