Aktywność
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
17 kwietnia 2024 r. | 1,9,0 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od aktywności, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
dependencies { def activity_version = "1.9.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.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ć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.9
Wersja 1.9.0
17 kwietnia 2024 r.
Opublikowano androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
i androidx.activity:activity-ktx:1.9.0
. Wersja 1.9.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.8.0
ComponentActivity
korzysta teraz z metodyOnUserLeaveHintProvider
, by umożliwić komponenty wywołań zwrotnych w przypadku zdarzeńonUserLeaveHint
.- Interfejsy API
OnBackPressedCallback
,BackHandler
iPredictiveBackHandler
ostrzegają teraz, gdy wywołuje to metodęonBackPressedDispatcher.onBackPressed()
przy użyciu wstecznej, ponieważ zawsze powoduje to przerwanie animacji przewidującej wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. - Pozostałe interfejsy API Activity API zostały napisane na nowo w Kotlin, a wszystkie rozszerzenia dostępne wcześniej w
activity-ktx
zostały przeniesione doactivity
. Plikactivity-ktx
jest teraz całkowicie pusty.- W ramach przekształcania funkcji
ActivityResultLauncher
w kod Kotlin metodagetContract
jest teraz abstrakcyjną właściwością Kotlin. Jest to zmiana zgodna z systemem binarnym, ale źródłowa jest awaria, jeśli implementacjaActivityResultLauncher
została napisana w kotlinie.
- W ramach przekształcania funkcji
Wersja 1.9.0-rc01
3 kwietnia 2024 r.
Opublikowano androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
i androidx.activity:activity-ktx:1.9.0-rc01
. Wersja 1.9.0-rc01 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aktywność zależy teraz od wersji instalatora profilu w wersji 1.3.1.
Wersja 1.9.0-beta01
20 marca 2024 r.
Opublikowano androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
i androidx.activity:activity-ktx:1.9.0-beta01
. Wersja 1.9.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono spadek wydajności uruchamiania aktywności w aktywności
1.9.0-alpha02
powodowany przez wywołanie metodyOnBackPressedDispatcher
podczas tworzenia aktywności. (Ie75e3)
Wersja 1.9.0-alfa03
7 lutego 2024 r.
Opublikowano androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
i androidx.activity:activity-ktx:1.9.0-alpha03
. Wersja 1.9.0-alpha03 zawiera te zatwierdzenia.
Lunch z ostrzeżeniem
- Interfejsy API
OnBackPressedCallback
,BackHandler
iPredictiveBackHandler
ostrzegają teraz, gdy wywołuje to metodęonBackPressedDispatcher.onBackPressed()
przy użyciu wstecznej, ponieważ zawsze powoduje to przerwanie animacji przewidującej wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. (1e4222, 2c950d, b/287505200)
Poprawki błędów
- Jeśli w trakcie prognostycznego gestu wstecznego zostanie wysłane zdarzenie wstecz, które zostanie wysłane z systemu uruchomionego w trakcie prognostycznego gestu wstecz, obecnie aktywny gest przewidywanego przejścia wstecz zostanie anulowany i przejmie nowe zdarzenie powrotu, aby rozpocząć nowy gest przewidywań wstecznych. (I3482e)
- Naprawiono awarię, która występowała podczas pierwszego uzyskiwania dostępu do dokumentu
onBackPressedDispatcher
z poziomuComponentActivity
z wątku w tle. Możesz teraz bezpiecznie uzyskać dostęp do:onBackPressedDispatcher
w dowolnym wątku. (I79955)
Wersja 1.9.0-alfa02
24 stycznia 2024 r.
Opublikowano androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
i androidx.activity:activity-ktx:1.9.0-alpha02
. Wersja 1.9.0-alpha02 zawiera te zatwierdzenia.
Konwersje Kotlin
- Tekst
ActivityResultRegistry
został napisany od nowa w Kotlin. Dzięki temu informacje ogólne dotyczące umowy przekazanej doregister
będą prawidłowo przekazywane doActivityResultLauncher
. (I121f0). - Tekst
ActivityResult
został napisany od nowa w Kotlin. RozszerzeniaActivityResult
Kotlin, które obsługują niszczenie struktury w polachresultCode
idata
, zostały przeniesione zactivity-ktx
doactivity
. (I0565a) - Rozszerzenia Kotlin o nazwie
by viewModels()
dla użytkownikówComponentActivity
itrackPipAnimationHintView
zostały przeniesione z folderuactivity-ktx
do folderuactivity
. Artefaktactivity-ktx
jest teraz całkowicie pusty. (I0a444)
Poprawki błędów
- Interfejs
enableEdgeToEdge
API rysuje teraz wokół wszystkich wycięć w ekranie. (A3644b, b/311173461) - Z Aktywności
1.8.2
: poprawiliśmy dodatkową informację przekazaną doACTION_SYSTEM_FALLBACK_PICK_IMAGES
umowy dotyczącej aktywności selektora zdjęć, aby prawidłowo przekazywać kluczEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, zamiast używać dodatkowego z kluczem"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Zdecydowanie zalecamy to rozwiązanie, jeśli jesteś producentem OEM i wdrożył zastępczy selektor zdjęć, aby zapewnić obsługę obu dodatków, aby zapewnić jak największą zgodność. (I96a00)
Wersja 1.9.0-alfa01
29 listopada 2023 r.
Opublikowano androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
i androidx.activity:activity-ktx:1.9.0-alpha01
. Wersja 1.9.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
korzysta teraz z metodyOnUserLeaveHintProvider
, by umożliwić komponenty wywołań zwrotnych w przypadku zdarzeńonUserLeaveHint
. (I54892)
Zmiany w interfejsie API
- Tekst
ComponentActivity
został napisany od nowa w Kotlin. (I14f31). - Tekst
ActivityResultCaller
został napisany od nowa w Kotlin. (Ib02e4). - Tekst
ActivityResultLauncher
został napisany od nowa w Kotlin. W ramach tej konwersji metodagetContract
jest teraz abstrakcyjną właściwością Kotlin. Jest to zmiana zgodna z systemem binarnym, ale źródłowa jest awaria, jeśli implementacjaActivityResultLauncher
została napisana w kotlinie. (Id4615). PickVisualMediaRequest
ma teraz ten sam minimalny poziom interfejsu API wynoszący 19 co umowa dotycząca wyniku aktywności wPickVisualMedia
. (Id6e21).
Aktualizacja zależności
- Aktywność zależy teraz od podstawowego elementu
1.13.0-alpha01
. (I14f31).
Wersja 1.8
Wersja 1.8.2
13 grudnia 2023 r.
Opublikowano androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
i androidx.activity:activity-ktx:1.8.2
. Wersja 1.8.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy dodatkową informację przekazywaną do elementu
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
umowy dotyczącej aktywności selektora zdjęć, aby prawidłowo przekazywać kluczEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, zamiast używać tego dodatkowego z kluczem"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Zdecydowanie zalecamy to rozwiązanie, jeśli jesteś producentem OEM i wdrożył zastępczy selektor zdjęć, aby zapewnić obsługę obu dodatków, aby zapewnić jak największą zgodność. (I96a00)
Wersja 1.8.1
15 listopada 2023 r.
Opublikowano androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
i androidx.activity:activity-ktx:1.8.1
. Wersja 1.8.1 zawiera te zatwierdzenia.
Poprawki błędów
OnBackPressedDispatcher
nadal wysyła pocztę do właściwego urządzeniaOnBackPressedCallback
, nawet po dodaniu nowego obiektuOnBackPressedCallback
podczas obsługi gestu cofania. (Id0ff6)
Wersja 1.8.0
4 października 2023 r.
Opublikowano androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
i androidx.activity:activity-ktx:1.8.0
. Wersja 1.8.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.7.0
- Przewidywanie wsteczne – oprócz poprzedniego wywołania zwrotnego
handleOnBackPressed()
po wykonaniu gestu cofaniaOnBackPressedCallback
oferuje teraz nowe wywołania zwrotne funkcji przewidującej wstecz do obsługi rozpoczynania gestu cofania, postępu w trakcie gestu i anulowania gestu cofania. Jest też dostępna w ramach funkcji kompozycyjnejPredictiveBackHandler
, która umożliwia obsługę zdarzeń polegających na przewidywaniu gestów wstecz w ramach tworzenia aktywności. Udostępnia przepływ obiektów BackEventCompat, które muszą być zbierane w dostarczonym przez Ciebie narzędziu lamba zawieszenia:
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
}
}
Interfejs ComponentActivity.onBackPressed()
został wycofany i zastąpiono interfejsami API do obsługi zwrotnej. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher
, zamiast zastępować tę metodę.
- EdgeToEdge – dodano komponent
ComponentActivity.enableEdgeToEdge()
, aby łatwo skonfigurować wyświetlanie od krawędzi do krawędzi w sposób zgodny wstecznie.
Wersja 1.8.0-rc01
20 września 2023 r.
Opublikowano androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
i androidx.activity:activity-ktx:1.8.0-rc01
. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.
Wersja 1.8.0-beta01
6 września 2023 r.
Opublikowano androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
i androidx.activity:activity-ktx:1.8.0-beta01
. Wersja 1.8.0-beta01 zawiera te zatwierdzenia.
Ulepszenie dokumentacji
- Ulepszyliśmy dokumentację
BackEventCompat
. (Aosp/2722254)
Wersja 1.8.0-alfa07
23 sierpnia 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
i androidx.activity:activity-ktx:1.8.0-alpha07
. Wersja 1.8.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
Funkcja tworzenia aktywności zawiera nowy element kompozycyjny
PredictiveBackHandler
, który obsługuje zdarzenia przewidywania gestów wstecz. UdostępniaFlow
zBackEventCompat
obiektów, które muszą być zebrane w udostępnionym przez Ciebie systemie lamba: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 o czasie kompilacji przez regułę lintowania, aby zapewnić, że
Flow
wywołuje metodęcollect()
. (Id2773, b/294884345)Obiekt
onBackPressedDispatcher
wComponentActivity
jest teraz inicjowany leniwie, więc jest tworzony tylko wtedy, gdy jest wymagany. (I0bf8e)
Poprawki błędów
ComponentActivity
nie będzie już wyświetlać identyfikatora NPE na Androidzie 13, gdy otrzyma wywołanie zwrotneonBackPressed()
, a Aktywność będzie już oznaczona jakoDESTROYED
. (Idb055, b/291869278)- Usunięto przypadki użycia eksperymentalnego interfejsu API
isAtLeastU()
(Ie9117, b/289269026)
Wersja 1.8.0-alfa06
21 czerwca 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
i androidx.activity:activity-ktx:1.8.0-alpha06
. Wersja 1.8.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
OnBackPressedDispatcher
teraz prawidłowo anuluje wywołania zwrotne, które są usuwane podczas gestu przewidywanego przejścia wstecz. (I3f90f)
Zmiany w interfejsie API
- Podczas przekazywania parametru
SystemBarStyle.auto
do interfejsu APIenableEdgeToEdge
możesz teraz zastąpić parametr lambdadetectDarkMode
, aby udostępnić niestandardową logikę wykrywania trybu nocnego. (Aosp/2546393, b/278263793)
Wersja 1.8.0-alfa05
7 czerwca 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
i androidx.activity:activity-ktx:1.8.0-alpha05
. Ta wersja została opracowana w gałęzi wewnętrznej.
Zmiany w interfejsie API
- Aktywność udostępnia teraz klasę
BackEventCompat
, która służy jako zgodną wstecznie wersjaBackEvent
, która jest odłączona od klasyBackEvent
platformy. - Zmiana powodująca niezgodność: metody
handleOnBackStarted
ihandleOnBackProgressed
obiektuOnBackPressedCallback
otrzymują teraz instancjęandroidx.activity.BackEventCompat
, a nie klasęandroid.window.BackEvent
platformy. Zaktualizowaliśmy też interfejsy API@VisibleForTesting
w systemieOnBackPressedDispatcher
. - Konstruktor dla
OnBackPressedDispatcher
przyjmuje teraz opcjonalne wystąpienieConsumer<Boolean>
, które pozwala właścicielom dyspozytora otrzymywać wywołanie zwrotne, gdy liczba włączonych wywołań zwrotnych zmieni się z 0 na inną niż 0 lub na odwrót.
Poprawki błędów
- Z poziomu aktywności
1.7.2
: napraw awarięReportDrawn
przy opuszczeniu ekranu przed wywołaniemreport
. (Ic46f1, b/260506820)
Wersja 1.8.0-alfa04
10 maja 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
i androidx.activity:activity-ktx:1.8.0-alpha04
. Ta wersja została zwolniona z gałęzi wewnętrznej.
Poprawki błędów
- Od aktywności 1.7.1:
ReportFullyDrawExecuter
nie wycieka już podczas korzystania zComponentActivity
zActivityScenario
. (Id2ff2, b/277434271)
Wersja 1.8.0-alfa03
12 kwietnia 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
i androidx.activity:activity-ktx:1.8.0-alpha03
. Ta wersja została zwolniona z gałęzi wewnętrznej.
Nowe funkcje
- Dodano funkcję
ComponentActivity.setUpEdgeToEdge()
, która ułatwia konfigurowanie ekranu od krawędzi do krawędzi w sposób zgodny wstecznie.
Zmiany w interfejsie API
- Interfejs
ComponentActivity.onBackPressed()
został wycofany i zastąpiono interfejsami API do obsługi zwrotnej. Deweloperzy powinni teraz używać metodyOnBackPressedDispatcher
, zamiast zastępować tę metodę. (Ibce2f, b/271596918) 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
- Naprawiono błąd polegający na tym, że elementy Fragmenty nieprawidłowo unieważniły MenuHosts i powodowały nieoczekiwane działanie innych menu w aktywności. (I9404e, b/244336571)
Inne zmiany
- W
ActivityResultRegister
używany jest teraz KotlinRandom
zamiast Java. (I4d98f, b/272096025)
Wersja 1.8.0-alfa02
8 marca 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
i androidx.activity:activity-ktx:1.8.0-alpha02
. Opracowane na podstawie gałęzi wewnętrznej.
Aktualizacja zależności
- Z Aktywności
1.7.0-rc01
: aktywność zależy teraz od:Lifecycle 2.6.0
.
Wersja 1.8.0-alfa01
8 lutego 2023 r.
Opublikowano androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
i androidx.activity:activity-ktx:1.8.0-alpha01
. Zostało to utworzone na podstawie gałęzi wewnętrznej.
Nowe funkcje
- Klasa
OnBackPressedCallback
zawiera teraz nowe wywołania zwrotne postępu prognostycznego wstecznego do obsługi uruchamiania gestu wstecz, postępu w trakcie gestu i anulowania gestu cofania oprócz poprzedniego wywołania zwrotnegohandleOnBackPressed()
dla gestu cofania.
Wersja 1.7
Wersja 1.7.2
24 maja 2023 r.
Opublikowano androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
i androidx.activity:activity-ktx:1.7.2
. Wersja 1.7.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawianie awarii aplikacji
ReportDrawn
podczas opuszczania ekranu przed wywołaniemreport
. (Ic46f1, b/260506820)
Wersja 1.7.1
19 kwietnia 2023 r.
Opublikowano androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
i androidx.activity:activity-ktx:1.7.1
. Wersja 1.7.1 zawiera te zatwierdzenia.
Poprawki błędów
ReportFullyDrawExecuter
nie wycieka podczas używaniaComponentActivity
zActivityScenario
. (Id2ff2, b/277434271)
Wersja 1.7.0
22 marca 2023 r.
Opublikowano androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
i androidx.activity:activity-ktx:1.7.0
. Wersja 1.7.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.6.0
- Zaktualizowaliśmy umowy dotyczące aktywności selektora zdjęć w usługach
PickVisualMedia
iPickMultipleVisualMedia
, aby uwzględnić dodatkową opcję zastępczą, gdy usługaMediaStore.ACTION_PICK_IMAGES
jest niedostępna. Pozwala to producentom OEM i aplikacjom systemowym, takim jak Usługi Google Play, zapewnienie spójnego sposobu korzystania z selektora zdjęć na większej liczbie urządzeń z Androidem i poziomu interfejsu API przez wdrożenie działania awaryjnego. Selektor zdjęć użyje tej kreacji zastępczej, jeśli będzie ona dostępna, a następnie przełączy się na interfejsIntent.ACTION_OPEN_DOCUMENT
, który nadal będzie obsługiwać wszystkie urządzenia z interfejsem API w wersji 19 i nowszych. ComponentDialog
implementuje terazSavedStateRegistryOwner
i ma dostęp do własnegoSavedStateRegistry
oraz ustawiaSavedStateRegistryOwner
dlaViewTree
. Jetpack Compose można teraz używać w obiekcieComponentDialog
, ponieważ spełnia on wymaganiaLifecycleOwner
iSavedStateRegistryOwner
dołączone do Window przezViewTree
API.IntentSenderRequest.Builder.setFlags()
umożliwia teraz ustawienie wielu flag zIntent
, a nie tylko jednej.
Konwersja Kotlin
Niektóre zajęcia zostały zmienione na Kotlin. Wszystkie przekonwertowane klasy zachowują zgodność binarną z poprzednimi wersjami. Te klasy mają niezgodne źródła w przypadku klas napisanych w języku Kotlin: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
Tabela poniżej zawiera źródłowe konwersje w nowej wersji aktywności:
Ćwiczenie 1.5 | Ćwiczenie 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Te zajęcia zostały też przekonwertowane na język Kotlin, ale pozostają zgodne ze źródłem: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
i OnBackPressedDispatcher
Interfejsy API FullyDrawnReporter
ComponentActivity
udostępnia teraz wystąpienie FullyDrawnReporter
, które umożliwia wielu komponentom raportowanie, gdy są gotowe do interakcji. ComponentActivity
poczeka na zakończenie działania wszystkich komponentów, zanim zadzwoni w Twoim imieniu pod numer reportFullyDrawn()
. 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 środowiska wykonawczego Androida po zakończeniu uruchamiania, aby zapewnić uwzględnienie całego kodu podczas wieloklatkowej sekwencji uruchamiania i sprawić, że kompilacja w tle będzie najważniejsza.
- Sygnalizowanie testu porównawczego makr i wskaźników Google Play, gdy aplikacja powinna być w pełni pobrana, aby umożliwić śledzenie jej wydajności.
Dodaliśmy 3 interfejsy API do tworzenia aktywności, aby ułatwić korzystanie z elementu FullyDrawnReporter
z poszczególnych funkcji kompozycyjnych:
ReportDrawn
oznacza, że funkcja kompozycyjna jest od razu gotowa do interakcji.ReportDrawnWhen
przyjmuje predykat (np.list.count > 0
), aby wskazać, kiedy funkcja kompozycyjna jest gotowa do interakcji.ReportDrawnAfter
stosuje metodę zawieszania, która po zakończeniu oznacza gotowość do interakcji.
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.6.1
. (8fc31d) - Aktywność zależy teraz od elementu ProfileInstaller
1.3.0
. (83d3b1)
Wersja 1.7.0-rc01
8 marca 2023 r.
Opublikowano androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
i androidx.activity:activity-ktx:1.7.0-rc01
. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aktywność zależy teraz od kolumny
Lifecycle 2.6.0
.
Wersja 1.7.0-beta02
22 lutego 2023 roku
Opublikowano androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
i androidx.activity:activity-ktx:1.7.0-beta02
. Wersja 1.7.0-beta02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Działanie i dodatkowe czynności używane przez umowy
PickVisualMedia
iPickMultipleVisualMedia
jako rozwiązanie zastępcze w sytuacji, gdy usługaMediaStore.ACTION_PICK_IMAGES
jest niedostępna, są teraz stałymi publicznymi stałymi, które zapewniają stabilność interfejsu API producentom OEM i aplikacjom systemowym, które chcą zapewnić spójny interfejs selektora zdjęć. Implementacja tej kreacji zastępczej nadal ogranicza się tylko do aplikacji systemowych. (Icd320)
Wersja 1.7.0-beta01
8 lutego 2023 r.
Opublikowano androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
i androidx.activity:activity-ktx:1.7.0-beta01
. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
IntentSenderRequest.Builder.setFlags()
umożliwia teraz ustawienie wielu flag zIntent
, a nie tylko jednej. (Iac04c)
Poprawki błędów
- Zastępcza wartość
PickVisualMedia
, która pojawia się, gdy selektor zdjęć jest niedostępny, prawidłowo ogranicza obsługę do aplikacji zainstalowanych w obrazie systemu urządzenia. (If8ae6)
Konwersje Kotlin
ActivityResultRegistryOwner
jest teraz napisany w Kotlin. Jest to niekompatybilna zmiana źródła dla tych klas napisanych w Kotlin. Zamiast implementować poprzednią funkcjęgetActivityResultRegistry()
, musisz teraz zastąpić właściwośćactivityResultRegistry
. (I0b00e).OnBackPressedDispatcherOwner
jest teraz napisany w Kotlin. Jest to niekompatybilna zmiana źródła dla tych klas napisanych w Kotlin. Zamiast implementować poprzednią funkcjęgetOnBackPressedDispatcher
, musisz teraz zastąpić właściwośćonBackPressedDispatcher
. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
iOnBackPressedDispatcher
są teraz w języku Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Wersja 1.7.0-alfa04
25 stycznia 2023 r.
Opublikowano androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
i androidx.activity:activity-ktx:1.7.0-alpha04
. Wersja 1.7.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Umowy dotyczące wyników związanych z aktywnością w usługach
PickVisualMedia
iPickMultipleVisualMedia
będą teraz korzystać z selektora zdjęć udostępnianego w Usługach Google Play w przypadkach, gdy system Android dostarczył selektor zdjęć (np.MediaStore.ACTION_PICK_IMAGES
) jest niedostępna. Interfejs APIisPhotoPickerAvailable()
, który wykrywa tylko selektor zdjęć dostarczany przez system Android, został wycofany. Zaleca się użycie nowego interfejsu APIisPhotoPickerAvailable(Context)
, który będzie dostępny, gdy dostępny będzie selektor zdjęć. (I55be6)
Wersja 1.7.0-alfa03
11 stycznia 2023 r.
Opublikowano androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
i androidx.activity:activity-ktx:1.7.0-alpha03
. Wersja 1.7.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
ComponentDialog
implementuje terazSavedStateRegistryOwner
i ma dostęp do własnegoSavedStateRegistry
oraz ustawiaSavedStateRegistryOwner
dla swojego drzewa ViewTree. Można teraz korzystać z Jetpack Compose w obiekcieComponentDialog
, ponieważ spełnia on zarówno wymaganiaLifecycleOwner
, jak iSavedStateRegistryOwner
dołączone do Window przez wymagania interfejsów ViewTree API. (Idca17, I73468 b/261162296)
Zmiany w interfejsie API
- Dodano element kompozycyjny
ReportDrawn
, który od razu oznacza aktywność jako gotową do wywołaniareportFullyDrawn
. (Ic5b14, b/259687964)
Konwersje Kotlin
- Klasy
ActvitiyResultCallback
iOnBackPressedCallback
zostały przekonwertowane do formatu Kotlin przy zachowaniu zgodności źródła i plików binarnych. (Ifc5e5, Ide1b0, b/257291701)
Wersja 1.7.0-alfa02
24 października 2022 r.
Opublikowano androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
i androidx.activity:activity-ktx:1.7.0-alpha02
. Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Od aktywności
1.6.1
: usunięto problem z umową dotyczącą wyniku aktywności wPickMultipleVisualMedia
nie uruchamianą na urządzeniach z Androidem R w przypadku korzystania z wartości domyślnejmaxItems
. (Ie2776, b/249182130)
Wersja 1.7.0-alfa01
5 października 2022 r.
Opublikowano androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
i androidx.activity:activity-ktx:1.7.0-alpha01
. Wersja 1.7.0-alpha01 zawiera te zatwierdzenia.
Interfejsy API FullyDrawnReporter
ComponentActivity
udostępnia teraz wystąpienie FullyDrawnReporter
, które umożliwia wielu komponentom raportowanie, gdy są gotowe do interakcji. ComponentActivity
poczeka na zakończenie działania wszystkich komponentów, zanim zadzwoni w Twoim imieniu pod numer reportFullyDrawn()
. 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 środowiska wykonawczego Androida po zakończeniu uruchamiania, aby zapewnić uwzględnienie całego kodu podczas wieloklatkowej sekwencji uruchamiania i sprawić, że kompilacja w tle będzie najważniejsza.
- Sygnalizowanie testu porównawczego makr i wskaźników Google Play, gdy aplikacja powinna być w pełni pobrana, aby umożliwić śledzenie jej wydajności.
Aby ułatwić korzystanie z elementu FullyDrawnReporter
z poszczególnych elementów kompozycyjnych, dodaliśmy 2 interfejsy API do tworzenia aktywności:
ReportDrawnWhen
przyjmuje predykat (np.list.count > 0
), aby wskazać, kiedy funkcja kompozycyjna jest gotowa do interakcji.ReportDrawnAfter
stosuje metodę zawieszania, która po zakończeniu oznacza gotowość do interakcji.
Wersja 1.6.1
Wersja 1.6.1
24 października 2022 r.
Opublikowano androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
i androidx.activity:activity-ktx:1.6.1
. Wersja 1.6.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że umowa dotycząca wyniku aktywności w
PickMultipleVisualMedia
nie była uruchamiana na urządzeniach z Androidem R w przypadku korzystania z wartości domyślnejmaxItems
. (Ie2776, b/249182130)
Wersja 1.6.0
Wersja 1.6.0
21 września 2022 r.
Opublikowano androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
i androidx.activity:activity-ktx:1.6.0
. Wersja 1.6.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.5.0
- Dodaliśmy
ActivityResultContracts.PickVisualMedia
iActivityResultContracts.PickMultipleVisualMedia
, aby zapewnić zgodną wstecznie umowę, która korzysta zMediaStore.ACTION_PICK_IMAGES
, gdy selektor zdjęć jest dostępny, iIntent.ACTION_OPEN_DOCUMENT
, gdy jest niedostępny. - Zintegrowaliśmy pakiet
OnBackInvokedCallback
w Androidzie 13 z usługąOnBackPressedDispatchers
zapewnianą przezComponentActivity
iComponentDialog
. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher
będą działać po włączeniu przewidywanego gestu wstecz.
Wersja 1.6.0-rc02
7 września 2022 roku
Opublikowano androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
i androidx.activity:activity-ktx:1.6.0-rc02
. Wersja 1.6.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
OnBackPressedDispatcher
rejestruje terazOnBackInvokedCallback
za pomocąPRIORITY_DEFAULT
zamiastPRIORITY_OVERLAY
. (I3901f)- Klasy, które rozszerzają zakres
ComponentActivity
, będą teraz zawsze miały wysyłane oba wywołania zwrotneonMultiWindowModeChanged()
. (Ic4d85) ActivityResultRegistry
nie będzie już zwracać wyniku doActivityResultCallback
, jeśli wywołanielaunch
zwróci jakiekolwiek wywołanieException
, a wywołanie zwrotne zostało zarejestrowane bezLifecycleOwner
. (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
zależy teraz od cyklu życia2.5.1
. (If6697)
Wersja 1.6.0-rc01
24 sierpnia 2022 r.
Opublikowano androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
i androidx.activity:activity-ktx:1.6.0-rc01
. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Inicjowanie pakietu SDK
OnBackPressedDispatcher
nie będzie już powodować wywoływaniaClassVerificationError
w przypadku korzystania z pakietu SDK w wersji starszej niż 33. (Ic32e1). - Klasy, które zastępują wywołanie zwrotne
onPictureInPictureModeChanged()
klasyComponentActivity
, będą teraz zawsze wysyłane do tych klas. (Ib7fdb)
Wersja 1.6.0-beta01
10 sierpnia 2022 r.
Opublikowano androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
i androidx.activity:activity-ktx:1.6.0-beta01
. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Oznaczono wycofane metody
startActivityForResult
istartIntentSenderForResult
wComponentActivity
o wartości@NonNull
, ponieważ przejście nanull
zawsze skutkuje awarią. (Id2a25, b/231476082)
Poprawki błędów
- Z aktywności
1.5.1
:ActivityResultRegistry
nie będzie już zwracać wyniku doActivityResultCallback
, jeśli wywołanielaunch
zwróci jakiekolwiek daneException
, a wywołanie zwrotne zostało zarejestrowane bez parametruLifecycleOwner
. (Ia7ff7, b/238350794) - Od aktywności
1.5.1
:ComponentActivity
będzie teraz prawidłowo wysyłać wywołania menu doonPrepareOptionMenu()
,onCreateOptionsMenu()
ionOptionsItemSelected()
zastąpień bez konieczności wywoływania funkcji super. (Ie33c5, b/238057118)
Aktualizacja zależności
- Z aktywności
1.5.1
: bibliotekaActivity
zależy teraz od wersji2.5.1
Lifecycle
. (If6697)
Wersja 1.6.0-alfa05
15 czerwca 2022 r.
Opublikowano androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
i androidx.activity:activity-ktx:1.6.0-alpha05
. Wersja 1.6.0-alfa05 została opracowana w prywatnej gałęzi przedpremierowej i nie ma publicznych zatwierdzeń.
Zmiany w interfejsie API
minCompileSdk
ma teraz wartość 33, aby zapewnić zgodność z pakietem SDK Tiramisu w wersji beta 3
Poprawki błędów
- Rozwiązaliśmy problem z awarią na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK dla pakietu
PickVisualMedia
ActivityResultContract
, dzięki czemu powinien on teraz działać zACTION_OPEN_DOCUMENT
na urządzeniach z Androidem 10 lub starszym.
Wersja 1.6.0-alfa04
18 maja 2022 r.
Opublikowano 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ł, że próba utworzenia żądania za pomocą konstruktora lub funkcji Kotlin najwyższego poziomu skutkowała przepełnieniem stosu. - Aplikacja
OnBackInvokedCallback
w wersji deweloperskiej Androida 13 w wersji beta 2 została zintegrowana z platformąOnBackPressedDispatcher
dostarczaną przezComponentDialog
. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher
będą działać przy włączaniu gestu przewidywania tyłu.
Wersja 1.6.0-alfa03
27 kwietnia 2022 r.
Opublikowano androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
i androidx.activity:activity-ktx:1.6.0-alpha03
.
- Uwaga: ta wersja zostanie skompilowana tylko z pakietem SDK w wersji beta 1 dla programistów Androida 13.
Nowe funkcje
- Dodaliśmy
ActivityResultContracts.PickVisualMedia
iActivityResultContracts.PickMultipleVisualMedia
, aby zapewnić zgodną wstecznie umowę, która korzysta zMediaStore.ACTION_PICK_IMAGES
, gdy selektor zdjęć jest dostępny, iIntent.ACTION_OPEN_DOCUMENT
, gdy jest niedostępny. - Zintegrowaliśmy interfejs
OnBackInvokedCallback
w wersji deweloperskiej Androida 13 w wersji beta 1 z oprogramowaniemOnBackPressedDispatcher
dostarczanym przezComponentActivity
. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher
będą działać przy włączaniu gestu przewidywania tyłu.
Wersja 1.6.0-alfa01
23 marca 2022 r.
Opublikowano androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
i androidx.activity:activity-ktx:1.6.0-alpha01
.
- Uwaga: ta wersja skompilowa się tylko z pakietem Android 13 Developer Preview 2 SDK.
Nowe funkcje
- Zmiany wprowadzone w wersji testowej 2 dla programistów Androida 13 zostały zintegrowane z
ComponentActivity
.
Wersja 1.5.1
Wersja 1.5.1
27 lipca 2022 roku
Opublikowano androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
i androidx.activity:activity-ktx:1.5.1
. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
ActivityResultRegistry
nie będzie już zwracać wyniku doActivityResultCallback
, gdy wywołanielaunch()
zwróci jakiekolwiek wywołanieException
, a wywołanie zwrotne zostało zarejestrowane bezLifecycleOwner
. (Ia7ff7, b/238350794)ComponentActivity
będzie teraz prawidłowo wysyłać wywołania menu doonPrepareOptionMenu()
,onCreateOptionsMenu()
ionOptionsItemSelected()
zastąpień bez konieczności wywoływania funkcji super. (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.
Opublikowano androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
i androidx.activity:activity-ktx:1.5.0
. Wersja 1.5.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.4.0
- KomponentDialog –
ComponentDialog
to podklasa klasyDialog
zawierająca elementOnBackPressedDispatcher
, który zostanie wywołany po naciśnięciu systemowego przycisku Wstecz i pojawi się okno. Co ważne, ta podklasa ustawia teżViewTreeOnBackPressedDispatcherOwner
, co pozwala wyświetlać ogólny sposób pobierania prawidłowego dyspozytora niezależnie od tego, czy istnieje on wComponentActivity
czyComponentDialog
. - Interfejsy wywołania zwrotnego –
ComponentActivity
implementuje teraz zestaw modułowych interfejsów wywołania zwrotnego, których można używać zamiast wywołań zwrotnychActivity
. Te interfejsy to:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- Integracja dodatku do tworzenia –
ComponentActivity
ma teraz możliwość dostarczania bezstanowego elementuViewModelProvider.Factory
za pomocą funkcjiCreationExtras
w cyklu życia2.5.0
.
Inne zmiany
- Konstruktor bez parametrów dla elementu
ActivityResultContracts.CreateDocument
został wycofany i zastąpiony nowym konstruktorem, który korzysta z konkretnego typu MIME (np. „image/png”), co jest wymagane przez zasadęIntent.ACTION_CREATE_DOCUMENT
.
Wersja 1.5.0-rc01
11 maja 2022 roku
Wersje 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 opublikowane bez zmian od wersji 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.
Wersja 1.5.0-beta01
20 kwietnia 2022 r.
Opublikowano androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
i androidx.activity:activity-ktx:1.5.0-beta01
. 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-alfa05
6 kwietnia 2022 roku
Opublikowano androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
i androidx.activity:activity-ktx:1.5.0-alpha05
. Wersja 1.5.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Funkcja
onPanelClosed()
w przeglądarceComponentActivity
wywołuje teraz także funkcję SuperonPanelClosed()
, naprawiając problem, który uniemożliwia wywołanie metodyonContextMenuClosed
. (Ib6f77)
Wersja 1.5.0-alfa04
23 marca 2022 r.
Opublikowano androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
i androidx.activity:activity-ktx:1.5.0-alpha04
. Wersja 1.5.0-alpha04 zawiera te zatwierdzenia.
Poprawki błędów
SavedStateViewFactory
obsługuje teraz użycieCreationExtras
, nawet jeśli zainicjowano go za pomocąSavedStateRegistryOwner
. W przypadku podania dodatków zainicjowane argumenty są ignorowane. (I6c43b, b/224844583)
Wersja 1.5.0-alfa03
23 lutego 2022 r.
Opublikowano androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
i androidx.activity:activity-ktx:1.5.0-alpha03
. Wersja 1.5.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Możesz teraz przekazywać
CreationExtras
do funkcjiby viewModels()
aktywności (I6a3e6, b/217600303)
Wersja 1.5.0-alfa02
9 lutego 2022 r.
Opublikowano androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
i androidx.activity:activity-ktx:1.5.0-alpha02
. Wersja 1.5.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
implementuje teraz interfejsOnPictureInPictureModeChangedProvider
, aby umożliwić dowolnemu komponentowi odbieranie zdarzeń zmiany trybu obrazu w obrazie. (I9f567)ComponentActivity
implementuje teraz interfejsOnMultiWindowModeChangedProvider
, aby umożliwić dowolnym komponentom otrzymywanie zdarzeń zmiany trybu wielu okien. (I62d91)
Wersja 1.5.0-alfa01
26 stycznia 2022 r.
Opublikowano androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
i androidx.activity:activity-ktx:1.5.0-alpha01
. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
integruje się teraz z funkcją ViewModel CreationExtras w ramach cyklu życia2.5.0-alpha01
. (Ie7e00, b/207012584)- Dodano
ComponentDialog
podklasęDialog
zawierającej elementOnBackPressedDispatcher
, który jest wywoływany po naciśnięciu systemowego przycisku Wstecz, gdy pojawi się okno. Co ważne, ta podklasa ustawia też właściwośćViewTreeOnBackPressedDispatcherOwner
, co umożliwia widokom ogólny sposób pobierania prawidłowego dyspozytora niezależnie od tego, czy znajduje się on w obiekcieComponentActivity
czyComponentDialog
. (I8a1bc) ComponentActivity
implementuje teraz nowy interfejsOnNewIntentProvider
, aby umożliwić odbieranie tych zdarzeń wszystkim komponentom. (If1f8b)ComponentActivity
implementuje teraz nowy interfejsOnConfigurationChangedProvider
, aby umożliwić odbieranie tych zdarzeń wszystkim komponentom. (If623b)ComponentActivity
implementuje teraz nowy interfejsOnTrimMemoryProvider
, który umożliwia dowolnemu komponentowi odbieranie tych zdarzeń. (Ia9295)
Zmiany w interfejsie API
- Konstruktor bez parametrów dla właściwości
ActivityResultContracts.CreateDocument
został wycofany i zastąpiony nowym konstruktorem, który korzysta z konkretnego typu MIME (np."image/png"
) zgodnie z wymaganiamiIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) - Obiekt
OnBackPressedDispatcherOwner
powiązany z widokiem danych można teraz pobrać za pomocąViewTreeOnBackPressedDispatcherOwner
, zamiast polegać na przesyłaniuContext
. (I74685)
Poprawki błędów
- Naprawiliśmy awarię, która wystąpiła podczas uzyskiwania dostępu do
ViewModel
po raz pierwszy z wywołania zwrotnegoregisterForActivityResult()
lub wywołań zwrotnych doLifecycleObserver
dodanego w ramachinit
ComponentActivity
. (Ife83f)
Wersja 1.4.0
Wersja 1.4.0
27 października 2021 roku
Opublikowano androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
i androidx.activity:activity-ktx:1.4.0
. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- W AndroidzieX
ComponentActivity
jest teraz zaimplementowany interfejsMenuHost
. Dzięki temu każdy komponent może dodawać pozycje menu do funkcjiActionBar
przez dodanie do działania wystąpieniaMenuProvider
. Każdy elementMenuProvider
można opcjonalnie dodać z elementemLifecycle
, który będzie automatycznie kontrolować widoczność tych pozycji menu na podstawie stanuLifecycle
i usuwaćMenuProvider
po zniszczeniu elementuLifecycle
. - Klasa
ActivityResultContract
została przepisana w Kotlin, aby deweloperzy tworzący niestandardowe umowy w Kotlin mogli zdefiniować prawidłową wartość null dla klas danych wejściowych i wyjściowych. - Klasa
ActivityResultContracts
i jej umowy zostały przepisane w Kotlin, aby zapewnić prawidłową wartość null.
Wersja 1.4.0-rc01
13 października 2021 r.
Opublikowano androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
i androidx.activity:activity-ktx:1.4.0-rc01
. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
ActivityResultRegistry
nie będzie już zwracać wyniku do interfejsuActivityResultCallback
, gdy wywołanielaunch
zwróci jakiekolwiek wywołanieException
. (If4f91, b/200845664)
Wersja 1.4.0-beta01
29 września 2021 r.
Opublikowano androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
i androidx.activity:activity-ktx:1.4.0-beta01
. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Naprawiliśmy typ danych
ActivityResultContracts.OpenMultipleDocuments
iActivityResultContracts.GetMultipleContents
, które spowodowały użycie typu wyjściowegoList<? extends Uri>
podczas korzystania z kodu w języku programowania Java. (If71de) - Stałe publiczne w klasach
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
iActivityResultContracts.RequestMultiplePermissions
są teraz dostępne podczas korzystania z Kotlin za pomocą ich publicznych obiektówCompanion
. (Aosp/1832555)
Aktualizacje dokumentacji
- Komunikat o wycofaniu interfejsów API jest teraz obsługiwany przez interfejsy API wyników związane z aktywnością (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
ionRequestPermissionsResult
) i zawiera więcej szczegółów. (CCE80F)
Wersja 1.4.0-alfa02
15 września 2021 r.
Opublikowano androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
i androidx.activity:activity-ktx:1.4.0-alpha02
. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Artefakt
activity-compose
zawiera teraz błąd lintowaniaLaunchDuringComposition
, który uniemożliwia wywołanie metodylaunch
elementuActivityResultLauncher
w ramach kompozycji, ponieważ kompozycja nie powinna zawierać 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 napisana w Kotlin, aby deweloperzy piszący niestandardowe umowy w Kotlin mogli definiować prawidłową wartość null klas danych wejściowych i wyjściowych. (I8a8f5) - Klasa
ActivityResultContracts
i jej umowy zostały napisane w Kotlin, aby zapewnić prawidłową wartość null. (I69802)
Wersja 1.4.0-alfa01
1 września 2021 roku
Opublikowano androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
i androidx.activity:activity-ktx:1.4.0-alpha01
. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- AndroidX
ComponentActivity
korzysta teraz z interfejsuMenuHost
. Dzięki temu każdy komponent może dodawać pozycje menu do funkcjiActionBar
przez dodanie do działania wystąpieniaMenuProvider
. Każdy elementMenuProvider
można opcjonalnie dodać z elementemLifecycle
, który będzie automatycznie kontrolować widoczność tych pozycji menu na podstawie stanuLifecycle
i usuwaćMenuProvider
po zniszczeniu 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 działaniu
ActivityResultRegistry
zwróci teraz błądIllegalStateException
przy próbie wywołania metodylaunch()
na urządzeniuActivityResultLauncher
, które nie jest zarejestrowane lub zostało wyrejestrowane. (Ida75d, b/192567522)
Wkład z zewnątrz
Wersja 1.3.1
Wersja 1.3.1
4 sierpnia 2021 r.
Opublikowano androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
i androidx.activity:activity-ktx:1.3.1
. Wersja 1.3.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Aktywność zależy teraz od Kotlin
1.5.21
. - Tworzenie aktywności zależy teraz od funkcji Utwórz
1.0.1
.
Wersja 1.3.0
Wersja 1.3.0
28 lipca 2021 roku
Opublikowano androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
i androidx.activity:activity-ktx:1.3.0
. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Artefakt tworzenia aktywności – artefakt
activity-compose
zapewnia metodę rozszerzeniasetContent
służącą do hostowania interfejsu Jetpack Compose w aktywności i tworzenie konkretnych kodów na potrzeby interakcji z interfejsami APIComponentActivity
na potrzeby obsługi przycisku Wstecz w systemie oraz interfejsów API wyniku aktywności. Więcej informacji znajdziesz w dokumentacji. - Umowa CaptureVideo –
CaptureVideo
ActivityResultContract
zastępuje wycofaną już umowęTakeVideo
i zwraca wartość logiczną oznaczającą sukces w wielu aplikacjach aparatu. - Śledzenie widoku obrazu w obrazie – użytkownicy
activity-ktx
mogą teraz korzystać z metody rozszerzeniatrackPipAnimationHintView
wActivity
, aby automatycznie ponownie kompilowaćPictureInPictureParams
z nową pozycją widoku, gdy zmienia on swoje położenie względem okna.
Wersja 1.3.0-rc02
14 lipca 2021 roku
Opublikowano androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
i androidx.activity:activity-ktx:1.3.0-rc02
. Wersja 1.3.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Wywołania zwrotne
ActivityResultRegistry
są teraz prawidłowo zapisane i przywracane, dzięki czemu nie są one zduplikowane w zapisanym stanie. (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
zostały opublikowane bez zmian z 1.3.0-beta02
. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Wersja 1.3.0-beta02
16 czerwca 2021 r.
Opublikowano androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
i androidx.activity:activity-ktx:1.3.0-beta02
. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Zaktualizowano tabelę activity-compose
, aby była zgodna z opcją Utwórz 1.0.0-beta09
. W androidx.compose.ui:ui-test-junit4
jest teraz zależność czasu kompilacji activity-compose
.
Wersja 1.3.0-beta01
2 czerwca 2021 r.
Opublikowano androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
i androidx.activity:activity-ktx:1.3.0-beta01
. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wycofana wcześniej metoda
@Composable registerForActivityResult()
została usunięta. Użyj adresurememberLauncherForActivityResult()
. (Ic39d3)
Wersja 1.3.0-alfa08
18 maja 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
i androidx.activity:activity-ktx:1.3.0-alpha08
. Wersja 1.3.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Nowa
CaptureVideo
ActivityResultContract
zwraca doActivityResultCallback
wartość logiczną, która wskazuje, czy film został zapisany pod podanym identyfikatorem URI. Zastąpi to wycofaną już umowęTakeVideo
, ponieważ aplikacje aparatu bardzo rzadko zwracały bitmapy, przez co wynik był nieprzydatny. (Ie21f2, b/185938070) - Dodano nowy interfejs API
Activity#setPipAnimationHintView
, aby aktualizować wskazówkę źródła parametru PipParams za każdym razem, gdy widok jest przenoszony. (I9063d)
Zmiany w interfejsie API
- Funkcja
rememberLauncherForActivityResult
zwraca teraz program uruchamiający, który wycofuje funkcjęunregister()
. Rejestracja i wyrejestrowanie programu uruchamiającego są obsługiwane automatycznie przezrememberLauncherForActivityResult
. (I2443e)
Zgodność z wiadomością
- Funkcja
androidx.activity:activity-compose:1.3.0-alpha08
jest zgodna tylko z funkcją Utwórz w wersji1.0.0-beta07
i nowszych.
Wersja 1.3.0-alfa07
21 kwietnia 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
i androidx.activity:activity-ktx:1.3.0-alpha07
. Wersja 1.3.0-alpha07 zawiera te zatwierdzenia.
Poprawki błędów
rememberLauncherForActivityResult
zwraca teraz stabilne odwołanie do tej samej instancjiActivityResultLauncher
, nawet jeśli umowa ulegnie zmianie w wyniku zmian kompozycji. (Id2d6d).- Korzystanie z niestabilnych wersji fragmentów powyżej
1.3.0
nie będzie już powodować zwracania fałszywie dodatniego błędu lintacyjnego sugerującego użycie interfejsu1.3.0
. (Aosp/1670206, b/184847092)
Wersja 1.3.0-alfa06
7 kwietnia 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
i androidx.activity:activity-ktx:1.3.0-alpha06
. Wersja 1.3.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nazwa interfejsu API
registerForActivityResult()
została zmieniona narememberLauncherForActivityResult()
, aby lepiej wskazać, że zwrócony obiektActivityResultLauncher
jest obiektem zarządzanym, który jest zapamiętywany w Twoim imieniu. Próba wywołania funkcjiunregister
zwracany plikActivityResultLauncher
spowoduje błąd. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
iLocalActivityResultRegistryOwner.current
zwracają teraz wartość null, 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 zostanie znaleziony właściciel interfejsu API.NavHost
działa teraz nawet wtedy, gdy nie można znaleźć elementuOnBackPressedDispatcherOwner
, tak jak ma to miejsce podczas wyświetlania podglądu elementuNavHost
. (I7d8b4)
Poprawki błędów
BackHandler
będzie teraz prawidłowo przechwytywać naciśnięcia wsteczne w sytuacji, gdy aktywność toSTOPPED
, a następnie znowuSTARTED
i dodano inne wywołania zwrotne z atrybutem właściciela cyklu życia. (I71de6, b/182284739)- Użycie rozszerzenia metody
launch()
z niestandardowym elementemActivityResultContract
, który zawiera dane wejścioweUnit
, nie będzie już powodować błęduNullPointerException
(I76282, b/183837954)
Wersja 1.3.0-alfa05
24 marca 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
i androidx.activity:activity-ktx:1.3.0-alpha05
. Wersja 1.3.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Od Aktywności 1.2.2: usunięto błąd dotyczący sprawdzania lintowania
InvalidFragmentVersionForActivityResult
, który powodował fałszywe trafienie przy korzystaniu z fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985) - Od aktywności 1.2.2:
ComponentActivity
unika terazClassNotFoundException
podczas uruchamianiaIntent
zActivityResultContract
, które wcześniej były dodatkowe w innymIntent
. (Ieff05, b/182906230)
Aktualizacje zależności
- Od Aktywności 1.2.2: aktywność zależy teraz od cyklu życia
2.3.1
.
Wersja 1.3.0-alfa04
10 marca 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
i androidx.activity:activity-ktx:1.3.0-alpha04
. Wersja 1.3.0-alpha04 zawiera te zatwierdzenia.
Poprawki błędów
- Z aktywności
1.2.1
:RequestMultiplePermissions
zawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko uprawnień, które nie zostały wcześniej przyznane. (I50bc3, b/180884668) - Z aktywności
1.2.1
:ActivityResultRegistry
zapewnia teraz, że trwające żądanialaunch()
zwracają wyniki, nawet jeśliunregister()
, a następnieregister()
ponownie z tym samym kluczem. (I9ef34, b/181267562) - Tworzenie aktywności nie dodaje już zależności testowych do ścieżki klasy środowiska wykonawczego. (Ifd8b3)
- Naprawiono problem z funkcją
BackHandler
, który powodował, że wcześniej ustawiona lambdaonBack
była nadal używana po zmianie kompozycji. (8eb5eb)
Wersja 1.3.0-alfa03
24 lutego 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
i androidx.activity:activity-ktx:1.3.0-alpha03
. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Dostępna jest teraz funkcja
registerForActivityResult
kompozycyjna umożliwiająca uzyskiwanie wyników z działań w elementach kompozycyjnych. (Ia7851, b/172690553)
Zmiany w interfejsie API
LocalOnBackPressedDispatcherOwner
zawiera teraz funkcjeprovides
, których można używać zCompositionLocalProvider
, zastępując interfejs APIasProvidableCompositionLocal()
. (I45d24)
Wersja 1.3.0-alfa02
10 lutego 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
i androidx.activity:activity-ktx:1.3.0-alpha02
. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z funkcją
1.3.0-alpha01
tworzenia aktywności, który powodował wyjątekNoSuchMethodError: No static method setContent
podczas korzystania z funkcji Utwórz1.0.0-alpha12
. Wszyscy użytkownicy tworzenia wiadomości powinni korzystać z wersji1.3.0-alpha02
i nowszych. (b/179911234)
Zmiany w interfejsie API
- Interfejs API
BackHandler
może być używany, aby umożliwić obiektowi kompozycyjnemu przechwycenie systemowego przycisku Wstecz. (I58ed5, b/172154006)
Wersja 1.3.0-alfa01
10 lutego 2021 r.
Opublikowano androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
i androidx.activity:activity-ktx:1.3.0-alpha01
. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy artefakt
activity-compose
udostępnia określone pomocnicze elementy Jetpack Compose dla interfejsów APIandroidx.activity
.- Element
ComponentActivity.setContent
został przeniesiony zandroidx.compose.ui.platform.setContent
doandroidx.activity.compose.setContent
. (Icf416)
- Element
Znane problemy
- Korzystanie z elementu
1.3.0-alpha01
do tworzenia aktywności i bibliotek zależnych od niego, np.androidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, spowoduje utworzenie wyjątkuNoSuchMethodError: No static method setContent
. (b/179911234)
Wersja 1.2.4
Wersja 1.2.4
21 lipca 2021 r.
Opublikowano 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 aktywności
1.3.0-rc02
: wywołania zwrotne ActivityResultRegistry są teraz prawidłowo zapisywane i przywracane, dzięki czemu wywołania zwrotne nie są duplikowane w ramach parametru savedState. (I97816, b/191893160)
Wersja 1.2.3
Wersja 1.2.3
5 maja 2021 roku
Opublikowano 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życie rozszerzenia metody
launch()
z niestandardowym elementemActivityResultContract
, który zawiera dane wejścioweUnit
, nie będzie już powodować błęduNullPointerException
(I76282, b/183837954) - Naprawiono błąd linta związany z fałszywym twierdzeniem informujący o użyciu fragmentu
1.3.0
podczas korzystania ze zrzutu, kompilacji alfa, beta lub RC dla nowszej wersji fragmentów kodu. (F4a57e, b/184847092)
Wersja 1.2.2
Wersja 1.2.2
24 marca 2021 r.
Opublikowano 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
- Naprawiono błąd związany z sprawdzaniem linterów w
InvalidFragmentVersionForActivityResult
, który powodował fałszywe trafienie przy korzystaniu z fragmentu kodu w wersji 1.3.1 lub nowszej. (I54da1, b/182388985) ComponentActivity
omija terazClassNotFoundException
przy uruchamianiu elementuIntent
z elementuActivityResultContract
, który wcześniej był ustawiony jako dodatkowa w innym zadaniuIntent
. (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.
Opublikowano 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
RequestMultiplePermissions
teraz zawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko uprawnień, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)ActivityResultRegistry
teraz dba o to, aby żądanialaunch()
zwracały swoje wyniki, nawet jeśliunregister()
, a następnieregister()
ponownie z tym samym kluczem. (I9ef34, b/181267562)
Wersja 1.2.0
Wersja 1.2.0
10 lutego 2021 r.
Opublikowano androidx.activity:activity:1.2.0
i androidx.activity:activity-ktx:1.2.0
. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Interfejsy API wyników związanych z aktywnością:
ComponentActivity
udostępnia terazActivityResultRegistry
, który umożliwia obsługę przepływówstartActivityForResult()
+onActivityResult()
irequestPermissions()
+onRequestPermissionsResult()
bez zastępowania metod w aktywności lub fragmencie kodu. Zapewnia większe bezpieczeństwo typów za pomocąActivityResultContract
i zapewnia haki do testowania tych przepływów. Zobacz zaktualizowany Uzyskiwanie wyników z aktywności.
ContextAware
:ComponentActivity
implementuje teraz instancjęContextAware
, dzięki czemu możesz dodać co najmniej 1 instancjęOnContextAvailableListener
, która otrzyma wywołanie zwrotne przed podstawowymActivity.onCreate()
.- Zawieszenie rozszerzenia Kotlin
withContextAvailable()
pozwala uruchomić blok niezawieszający, gdy kontekst stanie się dostępny i zwróci wynik. - Ten interfejs API jest używany przez
FragmentActivity
w fragmentie 1.3.0 do przywrócenia stanuFragmentManager
. Wszystkie detektory dodane do podklas środowiskaFragmentActivity
będą działać później. - Ten interfejs API jest używany przez
AppCompatActivity
w systemie AppCompat w wersji 1.3.0-alpha02 lub nowszej. Wszystkie detektory dodane do podklas środowiskaAppCompatActivity
będą działać później.
- Zawieszenie rozszerzenia Kotlin
Pomoc techniczna
ViewTree
:ComponentActivity
obsługuje teraz interfejsy APIViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
iViewTreeSavedStateRegistryOwner
dodane w cyklu życia2.3.0
i SavedState1.1.0
, dzięki czemu w przypadku widoków dodanych bezpośrednio doComponentActivity
usługa zwróci aktywność jakoLifecycleOwner
,ViewModelStoreOwner
iSavedStateRegistryOwner
.
- backport reportFullyDrawn() – metoda
Activity
obiektureportFullyDrawn()
została uaktualniona w wersjiComponentActivity
, aby działała na wszystkich poziomach interfejsu API. Naprawiono awarię interfejsu API 19 i dodaliśmy śledzenie w przypadku tej metody na wszystkich poziomach interfejsu API.
Wersja 1.2.0-rc01
16 grudnia 2020 roku
Opublikowano 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
ActivityResultRegistry
teraz zawsze przywraca dokładnie taki stan, który został zapisany. (Idd56b)- Dodaj śledzenie do
ComponentActivity.reportFullyDrawn
(Ic7632)
Wkład z zewnątrz
- Metoda
ComponentActivity
zastępuje terazreportFullyDrawn()
, co umożliwia jej wywoływanie na wszystkich poziomach interfejsu API i naprawienie awarii w przypadku wywoływania tej metody bez odpowiednich uprawnień systemowych na urządzeniach z interfejsem API 19. Dziękuję, Simon Schiller! (b/163239764, #103)
Wersja 1.2.0-beta02
Grudzień 2, 2020
Opublikowano androidx.activity:activity:1.2.0-beta02
i androidx.activity:activity-ktx:1.2.0-beta02
. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że interfejs Activity Result API nie czekał na wartość
STARTED
w ramach cyklu życia przed dostarczeniem wyników po zarejestrowaniu go za pomocąLifecycle
. (I109ea).
Wkład z zewnątrz
- Zaktualizowaliśmy dokumentację elementu
launch()
, by wyraźnie wskazać, że może zgłosić błądActivityNotFoundException
. Dziękuję, Michał Zieliński! (Aosp/1493580)
Wersja 1.2.0-beta01
1 października 2020 roku
Opublikowano 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
ActivityResultRegistry
teraz losowo generuje liczby całkowite, aż znajdzie wartość, która nie zostanie przydzielona do użycia jako kod żądaniaregister()
. Zapobiega to potencjalnemu przepełnieniu liczby całkowitej spowodowanego zwiększeniem liczby kodów żądań. (b/168779518)Obserwatorzy funkcji
Lifecycle
są prawidłowo usuwani podczas wywoływania funkcjiunregister()
na urządzeniuActivityResultLauncher
. (b/165608393)
Zmiany w działaniu
ActivityResultRegistry
generuje terazIllegalStateException
podczas próby nawiązania połączenia z numeremregister()
przy użyciu urządzeniaLifecycleOwner
, któregoLifecycle
dołączył się już do instancjiSTARTED
. (b/165435866)
Aktualizacja dokumentacji
- Dokumentacja
ContextAware
zawiera linki doLifecycleOwner
, w których wyróżnione są wywołania zwrotne (Lifecycle
) jako odpowiednie miejsce do tworzenia i zniszczenia zdarzeń. (Aosp/1414152)
Wersja 1.2.0-alfa08
19 sierpnia 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha08
i androidx.activity:activity-ktx:1.2.0-alpha08
. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
implementuje teraz instancjęContextAware
, dzięki czemu możesz dodać co najmniej 1 instancjęOnContextAvailableListener
, która otrzyma wywołanie zwrotne przed podstawowym elementemActivity.onCreate()
. (b/161390636)- Zawieszenie rozszerzenia Kotlin
withContextAvailable()
pozwala uruchomić blok niezawieszający, gdy kontekst stanie się dostępny i zwróci wynik. (I8290c) - Ten interfejs API jest używany przez
FragmentActivity
we fragmentie 1.3.0-alpha08 do przywrócenia stanuFragmentManager
. Wszystkie detektory dodane do podklas środowiskaFragmentActivity
będą działać później. (I513da) - Ten interfejs API jest używany przez
AppCompatActivity
w AppCompat 1.3.0-alpha02. Wszystkie detektory dodane do podklas środowiskaAppCompatActivity
będą działać później. (I513da)
- Zawieszenie rozszerzenia Kotlin
Poprawki błędów
- Naprawiono błąd sprawdzania Lint (
ActivityResultFragmentVersionDetector
), który powodował awarię narzędzia w przypadku korzystania z linta w wersji 27.1.0 lub nowszej. (b/162155191)
Wersja 1.2.0-alfa07
22 lipca 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha07
i androidx.activity:activity-ktx:1.2.0-alpha07
. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nowe sprawdzanie lint
InvalidFragmentVersionForActivityResult
, które sprawdza, czy używasz fragmentu1.3.0-alpha07
podczas korzystania z interfejsu Activity Result API. Pozwala to uniknąć awarii w czasie działania spowodowanych problemami dotyczącymi „nieprawidłowego kodu żądania” oraz niedziałających próśb o przyznanie uprawnień spowodowanych używaniem starszych wersji fragmentów kodu. (b/152554847)
Wkład z zewnątrz
- Poprawiliśmy
ArrayIndexOutOfBoundsException
podczas analizowania wyników w przypadku umowy dotyczącej wyników aktywności wRequestPermission
. (I8f9e3, b/161057605)
Wersja 1.2.0-alfa06
10 czerwca 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha06
i androidx.activity:activity-ktx:1.2.0-alpha06
. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Możesz teraz zdestrukturyzować klasę
ActivityResult
w kotlin, aby uzyskać bezpośredni dostęp dorequestCode
iintent
. (b/157212935) ActivityResultLauncher
umożliwia teraz pobranieActivityResultContract
użytego do zarejestrowania programu uruchamiającego. (b/156875743)
Zmiany w interfejsie API
- Zmiana powodująca niezgodność: nazwa metody
invoke()
wActivityResultRegistry
została zmieniona naonLaunch()
. (b/157496491) - Jeśli nie zostanie zwrócony żaden wynik, umowa
OpenMultipleDocuments
zwraca teraz pustą listę zamiastnull
do zarejestrowanego wywołania zwrotnego. (b/157348014)
Wersja 1.2.0-alfa05
20 maja 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha05
i androidx.activity:activity-ktx:1.2.0-alpha05
. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę
ViewTreeViewModelStoreOwner
z Cykl życia2.3.0-alpha03
iViewTreeSavedStateRegistryOwner
z SavedState1.1.0-alpha01
przy użyciuView
wComponentActivity
. (Aosp/1297993, aosp/1300264)
Zmiany w interfejsie API
- Umowa
TakePicture
zwraca teraz wartośćboolean
oznaczającą sukces, a nie miniaturęBitmap
, ponieważ ten tryb był bardzo rzadko obsługiwany przez aplikacje aparatu podczas zapisywania obrazu w podanymUri
. (b/154302879) - Rozszerzenia
invoke()
w domenieActivityResultLauncher
zostały usunięte, a zamiast tego użyto wprost funkcjilaunch()
, aby lepiej wskazać, że są to operacje asynchroniczne. Rozszerzenia Kotlin dlalaunch
zostały dodane do pakietuandroidx.activity.result
dlaActivityResultLauncher<Void>
iActivityResultLauncher<Unit>
. Dzięki temu nie trzeba przekazywać odpowiednio parametrunull
lubUnit
, powielając to działanie z poprzednichinvoke()
rozszerzeń. (Aosp/1304674, aosp/1304675) - Metody
IntentSenderRequest.Builder
dla metodsetFlagsMask()
isetFlagsValues()
zostały połączone w jedną metodęsetFlags()
. (Aosp/1302111)
Poprawki błędów
- Podczas rejestrowania obiektu
ActivityResultCallback
za pomocą metodyLifecycleOwner
rozwiązaliśmy problem, który powodował, że wywołanie zwrotne było aktywowane przed osiągnięciem stanuSTARTED
. (Aosp/1309744)
Zmiany w działaniu
ActivityResultRegistry
generuje teraz kody żądań, zaczynając od0xFFFF
, a nie od0
, co uniemożliwia nakładanie się kodówstartActivityForResult()
lubrequestPermissions()
w aktywności. (Aosp/1302324)
Wersja 1.2.0-alfa04
29 kwietnia 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha04
i androidx.activity:activity-ktx:1.2.0-alpha04
. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy umowę, która może wywoływać metodę startIntentSenderForResult do interfejsów ActivityResult API. (b/153007517)
Zmiany w interfejsie API
- Nazwa metody
prepareCall()
została zmieniona naregisterForActivityResult()
, zarówno wComponentActivity
tutaj, jak i w fragmentie1.3.0-alpha04
. (Aosp/1278717) - Zmieniliśmy nazwy umów
GetContents
,OpenDocuments
iRequestPermissions
na odpowiednioGetMultipleContents
,OpenMultipleDocuments
iRequestMultiplePermissions
. (Aosp/1280161) ComponentActivity
implementuje teraz interfejsActivityResultRegisteryOwner
. (Aosp/1290888)- – Interfejsy API
startActivityForResult()
/onActivityResult()
ionRequestPermissionsResult()
wComponentActivity
zostały wycofane. Użyj interfejsów API wyników związanych z aktywnością. (b/154751887)
Poprawki błędów
- Gdy korzystasz z umów
GetMultipleContents
iOpenMultipleDocuments
i wybierasz pojedynczy element, jest on teraz prawidłowo zwracany do wywołania zwrotnego. (b/152941153)
Wersja 1.2.0-alfa03
1 kwietnia 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha03
i androidx.activity:activity-ktx:1.2.0-alpha03
. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Umowy
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
iCreateDocument
zostały dodane do zestawu gotowych umów dostępnych wActivityResultContracts
. (aosp/1262482, aosp/1266916, aosp/1268960) - Interfejsy API wyników działań obsługują teraz uruchamianie działania dla wyniku z opcjonalną funkcją
ActivityOptionsCompat
. (b/151860054)
Zmiany w interfejsie API
- Umowa
TakePicture
pobiera teraz dane wejścioweUri
określające miejsce przechowywania obrazu. Nazwa poprzedniej umowy, która nie wymaga żadnych danych wejściowych, została zmieniona naTakePicturePreview
. (Aosp/1262482) - Nazwa metody
registerActivityResultCallback()
w systemieActivityResultRegistry
została zmieniona naregister()
. (Aosp/1267621) - Nazwa metody
dispose()
w systemieActivityResultLauncher
została zmieniona naunregister()
, a metodaunregisterResultCallback()
w witrynieActivityResultRegistry
została usunięta. (Aosp/1267621) - Metoda
createIntent()
obiektuActivityResultContact
oprócz danych wejściowych używa teraz obiektuContext
, aby umożliwić tworzenie jawnych intencji. (Aosp/1238800) ActivityResultContract
może teraz zastąpić regułęgetSynchronousResult()
, aby dostarczyć wynik bez wywoływania metodystartActivityForResult
. Jest on używany w umowachRequestPermission
iRequestPermissions
do prawidłowego określania stanu „Przyznano”, jeśli wymagane uprawnienia zostały już przyznane. (b/151110799)- Dostępna wcześniej umowa
Dial
została usunięta, ponieważ usługaIntent
nie powinna być używana z usługąstartActivityForResult()
. (Aosp/1266916) - Wiele z interfejsów API wyników związanych z aktywnością, które nie powinny być rozszerzane, ma teraz nazwę
final
. Obejmuje to metodygetActivityResultRegistry()
, metodyprepareCall()
, wszystkie metodyActivityResultRegistry
opróczinvoke()
oraz szereg umów domyślnych, które nie obsługują dodatków. (b/152439361)
Poprawki błędów
- Poprawiliśmy błąd
NullPointerException
w funkcjiActivityResultRegistry
, gdy próbowano dostarczyć wyniki wywołania zwrotnego, który nie został jeszcze ponownie zarejestrowany po zmianie konfiguracji.ActivityResultRegistry
zatrzymuje teraz te wyniki oczekujące i dostarcza je po ponownym zarejestrowaniu wywołania zwrotnego. (b/152137004)
Wersja 1.2.0-alfa02
18 marca 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha02
i androidx.activity:activity-ktx:1.2.0-alpha02
. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- ActivityResultRegistry:
ComponentActivity
udostępnia terazActivityResultRegistry
, który umożliwia obsługę przepływówstartActivityForResult()
+onActivityResult()
irequestPermissions()
+onRequestPermissionsResult()
bez zastępowania metod w aktywności lub fragmencie kodu, zwiększając bezpieczeństwo typów za pomocąActivityResultContract
i zapewnia haki do testowania tych przepływów. Zobacz zaktualizowany Uzyskiwanie wyników z aktywności. (b/125158199)
Wersja 1.2.0-alfa01
4 marca 2020 r.
Opublikowano androidx.activity:activity:1.2.0-alpha01
i androidx.activity:activity-ktx:1.2.0-alpha01
. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę interfejsu API
ViewTreeLifecycleOwner.get(View)
w cyklu życia2.3.0-alpha01
, dzięki czemu w przypadku wszystkich widoków dodanych bezpośrednio do aktywności będzie on zwracał aktywność jakoLifecycleOwner
. (Aosp/1182955)
Poprawki błędów
- Naprawiliśmy regresję wprowadzoną w aktywności
1.1.0
podczas uruchamiania na starszych wersjach platformy, w przypadku którejonBackPressed()
powodował(a) błądIllegalStateException
z powodu błędu wandroid.app.FragmentManager
. (b/146290338)
Wersja 1.1.0
Wersja 1.1.0
22 stycznia 2020 r.
Aplikacja androidx.activity:activity:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Integracja z zapisanym stanem widoku modelu cyklu życia:
SavedStateViewModelFactory
jest teraz domyślną fabryką używaną w przypadku korzystania zby viewModels()
, konstruktoraViewModelProvider
lubViewModelProviders.of()
z klasąComponentActivity
lub jej podklasami.
Wersja 1.1.0-rc03
4 grudnia 2019
Opublikowano androidx.activity:activity:1.1.0-rc03
i androidx.activity:activity-ktx:1.1.0-rc03
. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Zmiany zależności
- Aktywność zależy teraz od wartości
2.2.0-rc03
cyklu życia i metody SavedState w cyklu życia (1.0.0-rc03
).
Wersja 1.1.0-rc02
7 listopada 2019 r.
Opublikowano androidx.activity:activity:1.1.0-rc02
i androidx.activity:activity-ktx:1.1.0-rc02
. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.
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.
Wersje androidx.activity:activity:1.1.0-rc01
i androidx.activity:activity-ktx:1.1.0-rc01
zostały opublikowane bez zmian z 1.1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
9 października 2019 r.
Opublikowano androidx.activity:activity:1.1.0-beta01
i androidx.activity:activity-ktx:1.1.0-beta01
. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Zmiany zależności
- Aktywność zależy teraz od stabilnej wersji SavedState 1.0.0.
Wersja 1.1.0-alfa03
5 września 2019 r.
Opublikowano 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 wersji stabilnej Core 1.1.0.
Poprawki błędów
- Aktywność zależy teraz od cyklu życia
2.2.0-alpha04
.
Wersja 1.1.0-alfa02
7 sierpnia 2019 r.
Opublikowano 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
SavedStateViewModelFactory
jest teraz domyślną fabryką używaną w przypadkuby viewModels()
, konstruktoraViewModelProvider
lubViewModelProviders.of()
zComponentActivity
(b/135716331)
Wersja 1.1.0-alfa01
2 lipca 2019 r.
Opublikowano 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
activity
zależy teraz od cyklu życia2.2.0-alpha02
. (Aosp/1007817)activity-ktx
dodał zależność dolifecycle-runtime-ktx
. Nie musisz już dodawać jej bezpośrednio do zależności, gdy używaszactivity-ktx
lub bibliotek zależnych odactivity-ktx
(na przykładfragment-ktx
). (aosp/987162)
Wersja 1.0.0
Wersja 1.0.0
5 września 2019 r.
Opublikowano 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
- KomponentActivity:
ComponentActivity
służy jako nowa klasa bazowa dlaFragmentActivity
w fragmentie1.1.0
i, jako rozszerzenie,AppCompatActivity
w AppCompat1.1.0
. - activity-ktx: moduł
activity-ktx
zawiera rozszerzenie właściwościby viewModels
Kotlin umożliwiające dostęp do modeli ViewModel. Ten moduł jest automatycznie dołączany, gdy dodasz elementfragment-ktx
z fragmentu1.1.0
. - OnBackPressedDispatcher: jako kompozycyjna alternatywa dla zastępowania
onBackPressed()
możesz teraz zarejestrowaćOnBackPressedCallback
z dowolnego elementuLifecycleOwner
(np. fragmentu) w celu przechwycenia zdarzeń systemowych przycisku Wstecz. Do parametruactivity-ktx
dodano lambda z odbiornikiem w wersjiaddCallback
. Więcej informacji znajdziesz w artykule Udostępnianie dokumentacji niestandardowej nawigacji wstecz. - Wycofanie instancji onRetainCustomNonConfiguration: interfejs API
onRetainCustomNonConfigurationInstance()
i powiązane z nim interfejsy APIgetLastCustomNonConfigurationInstance()
zostały wycofane. Zdecydowanie zalecamy użycie obiektu ViewModels do przechowywania stanu bez konfiguracji, ponieważ oferują one rozwiązanie kompozycyjne odpowiednie dla każdego elementuViewModelStoreOwner
, które wyraźnie określa własność zachowanych obiektów i udostępnia wywołanie zwrotneonCleared()
do czyszczenia zasobów, gdy aktywność zostanie ostatecznie zniszczona.
Wersja 1.0.0-rc01
2 lipca 2019 r.
Wersje androidx.activity:activity:1.0.0-rc01
i androidx.activity:activity-ktx:1.0.0-rc01
zostały opublikowane bez zmian z 1.0.0-beta01
. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Wersja 1.0.0-beta01
5 czerwca 2019 r.
Wersje androidx.activity::activity:1.0.0-beta01
i androidx.activity:activity-ktx:1.0.0-beta01
zostały opublikowane bez zmian z 1.0.0-alpha08
. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Wersja 1.0.0-alfa08
7 maja 2019 r.
Opublikowano 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 niezbędna: wcześniej wycofane metody
addOnBackPressedCallback
iremoveOnBackPressedCallback
wComponentActivity
zostały usunięte. aosp/953857 - Metody
setEnabled()
iisEnabled()
w metodzieOnBackPressedCallback
są teraz ostateczne. b/131416833 - Metoda
remove()
elementuOnBackPressedCallback
jest teraz ostateczna. aosp/952720 OnBackPressedDispatcher
zawiera teraz publiczne konstruktory, które pozwalają tworzyć własne instancje do testowania itp. aosp/953431- Pole
onBackPressed()
dla domenyComponentActivity
jest teraz wyraźnie oznaczone jako@MainThread
aosp/952721
Poprawki błędów
- Naprawiliśmy błąd
ConcurrentModificationException
podczas wywoływania funkcjiremove()
z poziomu metodyhandleOnBackPressed()
elementuOnBackPressedCalback
dodanego za pomocą metodyLifecycleOwner
. b/131765095
Wersja 1.0.0-alfa07
25 kwietnia 2019 r.
Opublikowano 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 interfejsu onBackPressed()
. Więcej informacji znajdziesz w nowej dokumentacji dotyczącej niestandardowych tyłu.
- Metody
OnBackPressedCallback
iOnBackPressedDispatcher
zostały oznaczone jako@MainThread
. (Aosp/943813) - Metoda
handleOnBackPressed()
nie zwraca już wartościboolean
. Zamiast tegoOnBackPressedCallback
jest klasą abstrakcyjną, którą można włączyć lub wyłączyć. Wywołane będziehandleOnBackPressed()
tylko wtedy, gdy nowa metodaisEnabled()
zwróci wartość prawda, w której musisz użyć przycisku Wstecz. (Aosp/944518) - Metody
addCallback
obiektuOnBackPressedDispatcher
nie zwracają już instancjiCancellable
.OnBackPressedCallback
zawiera teraz metodęremove()
, która spełnia tę funkcję, co umożliwia wywołanieremove()
w czasiehandleOnBackPressed()
. (Aosp/944519) (Aosp/946316) - Funkcja
activity-ktx
zawiera teraz wywołanie zwrotne o zakresie odbiorcy na potrzebyaddCallback
, które akceptuje lamdba z implementacjąhandleOnBackPressed()
i ma dostęp doisEnabled
iremove()
(aosp/944520)
Wersja 1.0.0-alfa06
3 kwietnia 2019 r.
Opublikowano 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
- Komponent CompatActivity zawiera teraz drugi konstruktor, który przyjmuje obiekt
@LayoutRes int
, co zastępuje poprzednie działanie adnotacji klasy AppCompatActivity z użyciem@ContentView
. Ta metoda działa zarówno w modułach aplikacji, jak i bibliotece. (b/128352521) - Interfejsy API powiązane z
OnBackPressedCallback
w komponencie KomponentActivity zostały wycofane i zastąpione nową wersjąOnBackPressedDispatcher
, którą można pobrać za pomocągetOnBackPressedDispatcher()
. (Aosp/922523) - Metody dodawania nowego elementu
OnBackPressedCallback
do obiektuOnBackPressedDispatcher
zwracają teraz obiektCancellable
, co pozwala na usunięcie wywołania zwrotnego bez konieczności bezpośredniego odwołania doOnBackPressedDispatcher
. (Aosp/922523) - Dodanie elementu
OnBackPressedCallback
z powiązanym elementemLifecycleOwner
skutkuje teraz dodaniem i usunięciem elementuOnBackPressedCallback
w miarę rozpoczęcia i zatrzymania cyklu życia. (Aosp/922523)
Wersja 1.0.0-alfa05
13 marca 2019 r.
Zwolniono androidx.activity:activity:1.0.0-alpha05
i androidx.activity:activity-ktx:1.0.0-alpha05
. Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.
Nowe funkcje
- Wyszukiwania adnotacji
@ContentView
są teraz przechowywane w pamięci podręcznej (b/123709449)
Wersja 1.0.0-alfa04
30 stycznia 2019 r.
androidx.activity:activity 1.0.0-alpha04
i androidx.activity:activity-ktx 1.0.0-alpha04
zostali zwolnieni.
Nowe funkcje
- Dodaliśmy obsługę adnotacji klasy
@ContentView
, która pozwala wskazać plik XML układu, który należy powiększyć zamiast używaniasetContentView()
. (Aosp/837619)
Zmiany w interfejsie API
- Dodaliśmy uwagę, że adresu
getViewModelStore()
nie należy zastąpić. W kolejnej wersji zostanie ona uniezależniona od wersji. Jeśli obecnie zastępujesz tę metodę, prześlij prośbę o dodanie funkcji. (Aosp/837619)
Poprawki błędów
- Moduł
activity
korzysta teraz z wersji 2.1.0-alpha02 modelu ViewModel, aby dostosować go do zależności modułuactivity-ktx
.
Wersja 1.0.0-alfa03
17 grudnia 2018 r.
Aplikacja androidx.activity 1.0.0-alpha03
została zwolniona.
Nowe funkcje
- Komponent KomponentActivity wdraża teraz
BundleSavedStateRegistryOwner
i korzysta z nowej biblioteki SavedState [aosp/815133] - Komponent KomponentActivity działa teraz na bazie błędu platformy Androida, który spowodowałby wyciek ostatniego zaznaczonego widoku z In-MethodManager [b/37122102]
Wersja 1.0.0-alfa02
3 grudnia 2018 r.
Zmiany w interfejsie API
- Dodaliśmy uwagę, że adresu
getLifecycle()
nie należy zastąpić i zostanie ono zmienione nafinal
w kolejnej wersji. Jeśli zastępujesz tę metodę, prześlij prośbę o dodanie funkcji. (Aosp/815834)
Wersja 1.0.0-alfa01
5 listopada 2018 r.
androidx.activity 1.0.0-alpha01
wprowadza ComponentActivity
, nową klasę bazową istniejących obiektów FragmentActivity
i AppCompatActivity
.
Nowe funkcje
- Możesz teraz zarejestrować obiekt
OnBackPressedCallback
waddOnBackPressedCallback
, aby otrzymywać wywołania zwrotneonBackPressed()
bez konieczności zastępowania metody w swojej aktywności. - Dodano nowego delegata właściwości
by viewModels()
Kotlin do pobierania elementówViewModel
zComponentActivity
. - Oczekujące zdarzenia wejściowe (takie jak kliknięcia) są teraz anulowane w
onStop()
.
Zmiany w interfejsie API
- Implementacja
LifecycleOwner
iViewModelStoreOwner
została przeniesiona zFragmentActivity
doComponentActivity
. - Interfejs
onRetainCustomNonConfigurationInstance
został wycofany. TypViewModel
służy do przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.