Aktywność
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
4 września 2024 r. | 1.9.2 | - | - | 1.10.0-alfa02 |
Deklarowanie zależności
Aby dodać zależność od aktywności, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności 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ć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Wersja 1.10
Wersja 1.10.0-alfa02
4 września 2024 r.
androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
i androidx.activity:activity-ktx:1.10.0-alpha02
zostały udostępnione. Wersja 1.10.0-alfa02 zawiera te zatwierdzenia.
Zmiany w działaniu
- Umowy dotyczące wyników aktywności w usługach
PickVisualMedia
iPickMultipleVisualMedia
, które uruchamiają selektor zdjęć, nie przekazują już bezpośrednio dostępu do usług Google Play, jeśli selektor zdjęć systemowy jest niedostępny. Zamiast tego korzysta z publicznego działaniaACTION_SYSTEM_FALLBACK_PICK_IMAGES
i powiązanych dodatków, aby selektor zdjęć był spójny w aplikacjach systemowych i producentach OEM. Nie powinno to mieć wpływu na wygodę użytkowników urządzeń z najnowszą wersją Usług Google Play. (I3513D)
Poprawki błędów
- Usunęliśmy ręczne dodawanie informacji o dostępie do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie przez modelowanie API w przypadku korzystania z R8 z pakietem AGP w wersji 7.3 lub nowszej (np. R8 w wersji 3.3) oraz wszystkich kompilacji z pakietem AGP 8.1 lub nowszym (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z pakietu AGP, zalecamy zaktualizowanie go do wersji D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (I9496c, b/345472586)
- Z Aktywności
1.9.2
: naprawiliśmy błąd polegający na tym, że interfejs Activity ComposePredictiveBackHandler
w dalszym ciągu obsługiwał gest cofania się w przypadku ramki, która była wyłączona, co mogło powodować, że biblioteki takie jak Navigation Compose obsługi cofnęły się nawet przy pustym stosie tylnym. Z tego powodu wyświetlane było żądanieIndexOutOfBoundsException
. (IE3301, b/340202286) - Z Aktywności
1.9.1
: naprawiliśmy błąd polegający na tym, że po przywróceniu systemu z powrotem systemPredictiveBackHandler
powodował, że nie można było wykonać czynnościonBackPressed
z poziomuOnBackPressedDispatcher
. (I5f1f8)
Wersja 1.10.0-alpha01
26 czerwca 2024 r.
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
i androidx.activity:activity-ktx:1.10.0-alpha01
zostały udostępnione. Ta wersja jest opracowana w gałęzi wewnętrznej.
Nowe funkcje
- Dodaliśmy obsługę nowych funkcji
PhotoPicker
wprowadzonych w Androidzie V, w tym możliwość wybierania obrazów w kolejności i określania, która karta (albumy czy obrazy) ma być początkowo widoczna.
Wersja 1.9
Wersja 1.9.2
4 września 2024 r.
androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
i androidx.activity:activity-ktx:1.9.2
zostały udostępnione. Wersja 1.9.2 zawiera te uprawnienia lthcocommits.
Poprawki błędów
- Naprawiono błąd, który powodował, że interfejs API Activity Compose
PredictiveBackHandler
w dalszym ciągu obsługiwał systemowy gest cofania w przypadku ramki, która była wyłączona, co mogło powodować, że biblioteki takie jak Navigation Compose obsługiwały nawet bez pustego stosu wstecznego, co powodowało zgłaszanie błęduIndexOutOfBoundsException
. (IE3301, b/340202286)
Wersja 1.9.1
24 lipca 2024 r.
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
i androidx.activity:activity-ktx:1.9.1
zostały udostępnione. Wersja 1.9.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z
PredictiveBackHandler
, który powodował, że po powrocie do systemu próba wykonania poleceniaonBackPressed
z poziomuOnBackPressedDispatcher
kończyła się niepowodzeniem. (I5f1f8)
Wersja 1.9.0
17 kwietnia 2024 r.
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
i androidx.activity:activity-ktx:1.9.0
zostały udostępnione. Wersja 1.9.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.8.0
ComponentActivity
ma teraz zaimplementowaną zasadęOnUserLeaveHintProvider
, która umożliwia komponentom wywoływanie wywołań zwrotnych zdarzeńonUserLeaveHint
.- Interfejsy API
OnBackPressedCallback
,BackHandler
iPredictiveBackHandler
ostrzegają teraz przy wywoływaniu funkcjionBackPressedDispatcher.onBackPressed()
przy obsłudze zwrotnej, ponieważ zawsze powoduje to przerwanie przewidywanej animacji wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. - Pozostałe interfejsy API związane z aktywnością zostały napisane w kotlinie, a wszystkie rozszerzenia dostępne wcześniej w
activity-ktx
zostały przeniesione doactivity
. Arkuszactivity-ktx
jest teraz pusty.- W ramach konwersji wartości
ActivityResultLauncher
na Kotlin metodagetContract
jest teraz abstrakcyjną właściwością Kotlina. Ta zmiana jest zgodna z kodem binarnym, ale źródło nie działa, jeśli Twoja implementacjaActivityResultLauncher
została napisana w Kotlin.
- W ramach konwersji wartości
Wersja 1.9.0-rc01
3 kwietnia 2024 r.
androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
i androidx.activity:activity-ktx:1.9.0-rc01
zostały udostępnione. Wersja 1.9.0-rc01 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aktywność zależy teraz od instalatora profilu 1.3.1.
Wersja 1.9.0-beta01
20 marca 2024 r.
androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
i androidx.activity:activity-ktx:1.9.0-beta01
zostały udostępnione. Wersja 1.9.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono spadek wydajności uruchamiania po uruchomieniu w ramach Aktywności
1.9.0-alpha02
spowodowany wywołaniemOnBackPressedDispatcher
w ramach tworzenia aktywności. (IE75e3).
Wersja 1.9.0-alpha03
7 lutego 2024 r.
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
i androidx.activity:activity-ktx:1.9.0-alpha03
zostały udostępnione. Wersja 1.9.0-alfa03 zawiera te zatwierdzenia.
Ostrzeżenie Lint
- Interfejsy API
OnBackPressedCallback
,BackHandler
iPredictiveBackHandler
ostrzegają teraz przy wywoływaniu funkcjionBackPressedDispatcher.onBackPressed()
przy obsłudze zwrotnej, ponieważ zawsze powoduje to przerwanie przewidywanej animacji wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach. (1e4222, 2c950d, b/287505200)
Poprawki błędów
- Jeśli podczas wykonywania tego samego gestu przewidywanego gestu cofania zostanie wysłane z systemu zdarzenie wsteczne, używany obecnie ten gest zostanie anulowany, a nowe zdarzenie cofania rozpocznie nowy. (I3482e)
- Naprawiono poważny błąd przy uzyskiwaniu dostępu do pliku
onBackPressedDispatcher
z poziomuComponentActivity
po raz pierwszy z wątku w tle. Możesz teraz bezpiecznie uzyskać dostęp do elementuonBackPressedDispatcher
w dowolnym wątku. (I79955)
Wersja 1.9.0-alpha02
24 stycznia 2024 r.
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
i androidx.activity:activity-ktx:1.9.0-alpha02
zostały udostępnione. Wersja 1.9.0-alfa02 zawiera te zatwierdzenia.
Konwersje Kotlin
- Książka
ActivityResultRegistry
została przepisana w języku Kotlin. Dzięki temu do zbioru danychActivityResultLauncher
zwróconego użytkownikowi (ActivityResultLauncher
) będzie prawidłowo przekazywane wartości zerowe typów ogólnych w umowie przekazanej do:register
. (I121f0) - Książka
ActivityResult
została przepisana w języku Kotlin. Rozszerzenia KotlinActivityResult
, które obsługują niszczenie w polachresultCode
idata
, zostały przeniesione zactivity-ktx
doactivity
. (I0565a) - Rozszerzenia Kotlin dla języków
ComponentActivity
itrackPipAnimationHintView
zostały przeniesione zactivity-ktx
doactivity
.by viewModels()
Artefaktactivity-ktx
jest teraz całkowicie pusty. (I0a444)
Poprawki błędów
- Interfejs
enableEdgeToEdge
API skupia się teraz wokół wszystkich wycięć w ekranie. (A3644b, b/311173461) - Z działania
1.8.2
: naprawiliśmy dodatek przekazany doACTION_SYSTEM_FALLBACK_PICK_IMAGES
umowy o aktywności selektora zdjęć, aby prawidłowo przekazywał ten 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 wdrażasz zastępczy selektor zdjęć systemu, aby obsługiwał oba dodatki i zapewnił jak największą zgodność. (I96a00)
Wersja 1.9.0-alpha01
29 listopada 2023 r.
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
i androidx.activity:activity-ktx:1.9.0-alpha01
zostały udostępnione. Wersja 1.9.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
ma teraz zaimplementowaną zasadęOnUserLeaveHintProvider
, która umożliwia komponentom wywoływanie wywołań zwrotnych zdarzeńonUserLeaveHint
. (I54892)
Zmiany interfejsu API
- Książka
ComponentActivity
została przepisana w języku Kotlin. (I14f31) - Książka
ActivityResultCaller
została przepisana w języku Kotlin. (IB02e4) - Tekst
ActivityResultLauncher
został przepisany w języku Kotlin. W ramach tej konwersji metodagetContract
jest teraz abstrakcyjną właściwością Kotlina. Ta zmiana jest zgodna z kodem binarnym, ale źródło nie działa, jeśli Twoja implementacjaActivityResultLauncher
została napisana w Kotlin. (Id4615). PickVisualMediaRequest
ma teraz ten sam minimalny poziom interfejsu API, czyli 19, co umowa dotycząca wyników działań w usłudzePickVisualMedia
. (Id6e21).
Aktualizacja zależności
- Aktywność zależy teraz od rdzenia
1.13.0-alpha01
. (I14f31)
Wersja 1.8
Wersja 1.8.2
13 grudnia 2023 r.
androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
i androidx.activity:activity-ktx:1.8.2
zostały udostępnione. Wersja 1.8.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy dodatek przekazany do
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
umowy o 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 wdrażasz zastępczy selektor zdjęć systemu, aby obsługiwał oba dodatki i zapewnił jak największą zgodność. (I96a00)
Wersja 1.8.1
15 listopada 2023 r.
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
i androidx.activity:activity-ktx:1.8.1
zostały udostępnione. Wersja 1.8.1 zawiera te zatwierdzenia.
Poprawki błędów
OnBackPressedDispatcher
nadal wysyła wiadomości na właściweOnBackPressedCallback
nawet po dodaniu nowego elementuOnBackPressedCallback
w czasie, gdy wykonywany jest gest cofania. (Id0ff6)
Wersja 1.8.0
4 października 2023 roku
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
i androidx.activity:activity-ktx:1.8.0
zostały udostępnione. Wersja 1.8.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.7.0
- Przewidywanie wstecz – urządzenie
OnBackPressedCallback
oferuje teraz nowe wywołania zwrotne w przewidywanym terminie, które umożliwiają obsługę gestu cofania, postępu w jego trakcie i anulowanie, a nie tylko poprzednie wywołanie zwrotnehandleOnBackPressed()
w przypadku potwierdzenia gestu cofania. Dostępna jest też funkcjaPredictiveBackHandler
Composable, która obsługuje zdarzenia przewidywanego gestu cofania w funkcji tworzenia aktywności. Udostępnia przepływ obiektów BackEventCompat, które muszą być zebrane w podanej przez Ciebie zawieszającej lambie:
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ąpiony interfejsami API do obsługi zwrotnej. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher
, zamiast zastępować tę metodę.
- EdgeToEdge – dodano
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.
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
i androidx.activity:activity-ktx:1.8.0-rc01
zostały udostępnione. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.
Wersja 1.8.0-beta01
6 września 2023 r.
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
i androidx.activity:activity-ktx:1.8.0-beta01
zostały udostępnione. Wersja 1.8.0-beta01 zawiera te zatwierdzenia.
Ulepszenie dokumentacji
- Ulepszono dokumentację interfejsu
BackEventCompat
. (Aosp/2722254).
Wersja 1.8.0-alpha07
23 sierpnia 2023 r.
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
i androidx.activity:activity-ktx:1.8.0-alpha07
zostały udostępnione. Wersja 1.8.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
W funkcji tworzenia aktywności dodaliśmy nową kompozycję
PredictiveBackHandler
do obsługi zdarzeń predykcyjnego gestu cofania. ZapewniaFlow
zBackEventCompat
obiektów, które należy zebrać w podanej przez Ciebie zawieszającej zasadzie 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 } }
Otrzymasz również ostrzeżenie o czasie kompilowania w ramach reguły lintowania, aby zagwarantować, że
Flow
wywołacollect()
. (Id2773, b/294884345)Komponent
onBackPressedDispatcher
w elemencieComponentActivity
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ć NPE na Androidzie 13, gdy otrzyma wywołanie zwrotne typuonBackPressed()
, a aktywność ma już wartośćDESTROYED
. (Idb055, b/291869278)- Usunięto zastosowania eksperymentalnego interfejsu API
isAtLeastU()
(Ie9117, b/289269026)
Wersja 1.8.0-alpha06
21 czerwca 2023 r.
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
i androidx.activity:activity-ktx:1.8.0-alpha06
zostały udostępnione. Wersja 1.8.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
OnBackPressedDispatcher
teraz prawidłowo anuluje wszystkie wywołania zwrotne usunięte podczas przewidywania gestu cofania. (I3f90f)
Zmiany interfejsu API
- Gdy przekazujesz wartość
SystemBarStyle.auto
do interfejsu APIenableEdgeToEdge
, możesz teraz zastąpić parametr lambdadetectDarkMode
, aby zapewnić niestandardową logikę wykrywania trybu nocnego. (Aosp/2546393, b/278263793)
Wersja 1.8.0-alpha05
7 czerwca 2023 r.
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
i androidx.activity:activity-ktx:1.8.0-alpha05
zostały udostępnione. Ta wersja jest opracowana w gałęzi wewnętrznej.
Zmiany interfejsu API
- Aktywność udostępnia teraz klasę
BackEventCompat
, która służy jako zgodna wstecznie wersja obiektuBackEvent
niepołączona od klasy platformyBackEvent
. - Zmiana niezbędna: metody
handleOnBackStarted
ihandleOnBackProgressed
funkcjiOnBackPressedCallback
otrzymują teraz instancjęandroidx.activity.BackEventCompat
, a nie klasę platformyandroid.window.BackEvent
. Zaktualizowaliśmy też równoważne interfejsy API@VisibleForTesting
w systemieOnBackPressedDispatcher
. - Konstruktor dla funkcji
OnBackPressedDispatcher
ma teraz opcjonalną instancjęConsumer<Boolean>
, która umożliwia właścicielom dyspozytorów odbieranie wywołania zwrotnego, gdy liczba włączonych wywołań zwrotnych zmienia się z 0 na wartość inną niż 0 lub na odwrót.
Poprawki błędów
- W sekcji Aktywność
1.7.2
: rozwiąż problem z awarią aplikacjiReportDrawn
przy opuszczaniu ekranu przed wywołaniemreport
. (Ic46f1, b/260506820)
Wersja 1.8.0-alpha04
10 maja 2023 r.
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
i androidx.activity:activity-ktx:1.8.0-alpha04
zostały udostępnione. Została ona zwolniona z oddziału wewnętrznego.
Poprawki błędów
- Z Aktywności 1.7.1: - Element
ReportFullyDrawExecuter
nie wycieka już podczas używaniaComponentActivity
zActivityScenario
. (Id2ff2, b/277434271)
Wersja 1.8.0-alfa03
12 kwietnia 2023 r.
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
i androidx.activity:activity-ktx:1.8.0-alpha03
zostały udostępnione. Została ona zwolniona z oddziału wewnętrznego.
Nowe funkcje
- Dodaliśmy
ComponentActivity.setUpEdgeToEdge()
, aby łatwo skonfigurować obraz od krawędzi do krawędzi w sposób zgodny wstecznie.
Zmiany interfejsu API
- Interfejs
ComponentActivity.onBackPressed()
został wycofany i zastąpiony 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órego można używać 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 fragmenty kodu nieprawidłowo unieważniły MenuHosts i spowodowały nieoczekiwane działanie innych menu w aktywności. (I9404e, b/244336571)
Inne zmiany
ActivityResultRegister
używa teraz KotlinRandom
zamiast języka Java. (I4d98f, b/272096025)
Wersja 1.8.0-alpha02
8 marca 2023 r.
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
i androidx.activity:activity-ktx:1.8.0-alpha02
zostały udostępnione. Opracowane z gałęzi wewnętrznej.
Aktualizacja zależności
- Na karcie Aktywność
1.7.0-rc01
: aktywność zależy teraz od danychLifecycle 2.6.0
.
Wersja 1.8.0-alpha01
8 lutego 2023 r.
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
i androidx.activity:activity-ktx:1.8.0-alpha01
zostały udostępnione. Zostało ono utworzone z gałęzi wewnętrznej.
Nowe funkcje
- Klasa
OnBackPressedCallback
zawiera teraz nowe wywołania zwrotne postępu w prognozowaniu wstecz, które pozwalają obsługiwać gest cofania, postęp w realizacji gestu i anulowany gest wstecz, oprócz poprzedniego wywołania zwrotnegohandleOnBackPressed()
w przypadku zatwierdzenia gestu cofania.
Wersja 1.7
Wersja 1.7.2
24 maja 2023 r.
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
i androidx.activity:activity-ktx:1.7.2
zostały udostępnione. Wersja 1.7.2 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiąż problem z awarią aplikacji
ReportDrawn
podczas opuszczania ekranu przed wywołaniem funkcjireport
. (Ic46f1, b/260506820)
Wersja 1.7.1
19 kwietnia 2023 r.
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
i androidx.activity:activity-ktx:1.7.1
zostały udostępnione. Wersja 1.7.1 zawiera te zatwierdzenia.
Poprawki błędów
- Element
ReportFullyDrawExecuter
nie wycieka już podczas używaniaComponentActivity
zActivityScenario
. (Id2ff2, b/277434271)
Wersja 1.7.0
22 marca 2023 r.
androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
i androidx.activity:activity-ktx:1.7.0
zostały udostępnione. Wersja 1.7.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.6.0
- Umowy dotyczące aktywności selektora zdjęć w
PickVisualMedia
iPickMultipleVisualMedia
zostały zaktualizowane, by uwzględnić dodatkową opcję zastępczą na wypadek niedostępnościMediaStore.ACTION_PICK_IMAGES
. Dzięki niej producentom OEM i aplikacjom systemowym (takim jak Usługi Google Play) mogą zapewnić spójne działanie selektora zdjęć na większej liczbie urządzeń z Androidem i poziomów interfejsu API przez wdrożenie działania zastępczego. Selektor zdjęć będzie korzystać z tej funkcji zastępczej, o ile będzie dostępna, zanim ponownie powróci do używania funkcjiIntent.ACTION_OPEN_DOCUMENT
, która pozostanie obsługiwana przez wszystkie urządzenia z interfejsem API w wersji 19 i nowszych. ComponentDialog
implementuje terazSavedStateRegistryOwner
i ma dostęp do własnegoSavedStateRegistry
oraz ustawiaSavedStateRegistryOwner
dlaViewTree
. Teraz można korzystać z Jetpack Compose w usłudzeComponentDialog
, ponieważ spełnia ona zarówno wymaganiaLifecycleOwner
, jak iSavedStateRegistryOwner
dołączone do okna Window przez wymagania interfejsów APIViewTree
.IntentSenderRequest.Builder.setFlags()
umożliwia teraz ustawienie wielu flag zIntent
, a nie tylko jednej.
Konwersja Kotlin
Wiele klas aktywności zostało przekonwertowane na Kotlin. Wszystkie przekonwertowane klasy zachowują zgodność binarną z poprzednimi wersjami. Dla tych klas wprowadzono zmiany w przypadku klas napisanych w języku Kotlin, które są niezgodne ze źródłem: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
W tabeli poniżej znajdziesz konwersje źródłowe w nowej wersji Aktywności:
Ćwiczenie 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 format Kotlin, ale pozostają zgodne ze ź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, gdy są gotowe do interakcji. ComponentActivity
poczeka, aż wszystkie komponenty zakończą działanie, zanim zadzwoni pod numer reportFullyDrawn()
w Twoim imieniu. Te interfejsy API obsługują za Ciebie wymagania dotyczące harmonogramu i nie trzeba ich wywoływać w ramach wywołań funkcji onDraw
.
Zachęcamy do włączenia tych interfejsów API:
- Sygnalizowanie środowiska wykonawczego Androida po zakończeniu uruchamiania, aby upewnić się, że cały kod uruchomiony podczas wieloklatkowej sekwencji uruchamiania jest uwzględniony i traktowany priorytetowo przy kompilacji w tle.
- Sygnalizowanie za pomocą makroporównań i wskaźników Play, że aplikacja powinna być uznawana za w pełni wygenerowaną, pozwalająca śledzić wydajność.
Dodaliśmy 3 interfejsy API tworzenia aktywności, aby ułatwić korzystanie z interfejsu FullyDrawnReporter
z poszczególnych elementów kompozycyjnych:
ReportDrawn
oznacza, że funkcja kompozycyjna jest od razu gotowa do interakcji.ReportDrawnWhen
ma predykat (np.list.count > 0
), aby wskazać, kiedy funkcja kompozycyjna jest gotowa do interakcji.ReportDrawnAfter
stosuje metodę zawieszania, która po jej zakończeniu wskazuje, że użytkownik jest gotowy do interakcji.
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.6.1
. (8fc31d) - Aktywność zależy teraz od narzędzia ProfileInstaller
1.3.0
. (83d3b1)
Wersja 1.7.0-rc01
8 marca 2023 r.
androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
i androidx.activity:activity-ktx:1.7.0-rc01
zostały udostępnione. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aktywność zależy teraz od danych
Lifecycle 2.6.0
.
Wersja 1.7.0-beta02
22 lutego 2023 roku
androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
i androidx.activity:activity-ktx:1.7.0-beta02
zostały udostępnione. Wersja 1.7.0-beta02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Działanie i dodatkowy dodatek używane w umowach
PickVisualMedia
iPickMultipleVisualMedia
, które pełnią funkcję zastępczą w przypadku niedostępnościMediaStore.ACTION_PICK_IMAGES
, są teraz stałymi publicznymi, które zapewniają stabilność interfejsu API producentom OEM i aplikacjom systemowym, które chcą zapewnić spójne działanie selektora zdjęć. Nadal można korzystać tylko z aplikacji systemowych. (ICD320)
Wersja 1.7.0-beta01
8 lutego 2023 r.
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
i androidx.activity:activity-ktx:1.7.0-beta01
zostały udostępnione. 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
- Kreacja zastępcza
PickVisualMedia
, która obowiązuje wtedy, gdy selektor zdjęć jest niedostępny, obsługuje teraz poprawnie tylko aplikacje zainstalowane w obrazie systemu urządzenia. (If8ae6).
Konwersje Kotlin
ActivityResultRegistryOwner
jest teraz napisany w języku Kotlin. Jest to niekompatybilna zmiana źródła dla klas napisanych w Kotlin. Musisz teraz zastąpić właściwośćactivityResultRegistry
zamiast implementować poprzednią funkcjęgetActivityResultRegistry()
. (I0B00e)OnBackPressedDispatcherOwner
jest teraz napisany w języku Kotlin. Jest to niekompatybilna zmiana źródła dla klas napisanych w Kotlin. Musisz teraz zastąpić właściwośćonBackPressedDispatcher
zamiast implementować poprzednią funkcjęgetOnBackPressedDispatcher
. (Ia277d).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.
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
i androidx.activity:activity-ktx:1.7.0-alpha04
zostały udostępnione. Wersja 1.7.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Umowy dotyczące wyników aktywności w usługach
PickVisualMedia
iPickMultipleVisualMedia
będą teraz korzystać z selektora zdjęć udostępnionego przez Usługi Google Play w sytuacjach, gdy system Android dostarczył selektor zdjęć (np.MediaStore.ACTION_PICK_IMAGES
) jest niedostępne. Interfejs APIisPhotoPickerAvailable()
, który wykrywa tylko selektor zdjęć dostępny w systemie Android, został wycofany. Zalecamy używanie nowego interfejsu APIisPhotoPickerAvailable(Context)
, który będzie zwracany, gdy dostępny będzie selektor zdjęć. (I55be6)
Wersja 1.7.0-alpha03
11 stycznia 2023 r.
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
i androidx.activity:activity-ktx:1.7.0-alpha03
zostały udostępnione. Wersja 1.7.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
ComponentDialog
implementuje teraz zasadęSavedStateRegistryOwner
, ma dostęp do własnegoSavedStateRegistry
i ustawiaSavedStateRegistryOwner
dla drzewa ViewTree. Teraz można korzystać z Jetpack Compose w usłudzeComponentDialog
, ponieważ spełnia ona zarówno wymaganiaLifecycleOwner
, jak iSavedStateRegistryOwner
dołączone do okna Window przez wymagania interfejsów API ViewTree. (Idca17, I73468 b/261162296)
Zmiany interfejsu API
- Dodano kompozytor
ReportDrawn
, który natychmiast oznacza aktywność jako gotową do wywołaniareportFullyDrawn
. (Ic5b14, b/259687964)
Konwersje Kotlin
- Klasy
ActvitiyResultCallback
iOnBackPressedCallback
zostały przekonwertowane na format Kotlin przy zachowaniu zgodności źródła i pliku binarnego. (Ifc5e5, Ide1b0, b/257291701)
Wersja 1.7.0-alpha02
24 października 2022 r.
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
i androidx.activity:activity-ktx:1.7.0-alpha02
zostały udostępnione. Wersja 1.7.0-alfa02 zawiera te zatwierdzenia.
Poprawki błędów
- Z poziomu Aktywność
1.6.1
: rozwiązaliśmy problem, który powodował, że umowa dotycząca wyniku aktywnościPickMultipleVisualMedia
nie uruchamiała się na urządzeniach z Androidem R, gdy używana była wartość domyślnamaxItems
. (IE2776, b/249182130)
Wersja 1.7.0-alpha01
5 października 2022 r.
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
i androidx.activity:activity-ktx:1.7.0-alpha01
zostały udostępnione. Wersja 1.7.0-alfa01 zawiera te zatwierdzenia.
Interfejsy API FullyDrawnReporter
ComponentActivity
udostępnia teraz instancję FullyDrawnReporter
, która umożliwia wielu komponentom zgłaszanie, gdy są gotowe do interakcji. ComponentActivity
poczeka, aż wszystkie komponenty zakończą działanie, zanim zadzwoni pod numer reportFullyDrawn()
w Twoim imieniu. Te interfejsy API obsługują za Ciebie wymagania dotyczące harmonogramu i nie trzeba ich wywoływać w ramach wywołań funkcji onDraw
.
Zachęcamy do włączenia tych interfejsów API:
- Sygnalizowanie środowiska wykonawczego Androida po zakończeniu uruchamiania, aby upewnić się, że cały kod uruchomiony podczas wieloklatkowej sekwencji uruchamiania jest uwzględniony i traktowany priorytetowo przy kompilacji w tle.
- Sygnalizowanie za pomocą makroporównań i wskaźników Play, że aplikacja powinna być uznawana za w pełni wygenerowaną, pozwalająca śledzić wydajność.
Dodaliśmy 2 interfejsy API do tworzenia działań, aby ułatwić korzystanie z interfejsu FullyDrawnReporter
z poszczególnych elementów kompozycyjnych:
ReportDrawnWhen
ma predykat (np.list.count > 0
), aby wskazać, kiedy funkcja kompozycyjna jest gotowa do interakcji.ReportDrawnAfter
stosuje metodę zawieszania, która po jej zakończeniu wskazuje, że użytkownik jest gotowy do interakcji.
Wersja 1.6.1
Wersja 1.6.1
24 października 2022 r.
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
i androidx.activity:activity-ktx:1.6.1
zostały udostępnione. 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 z
PickMultipleVisualMedia
nie uruchamiała się na urządzeniach z Androidem R, gdy używana była wartość domyślnamaxItems
. (IE2776, b/249182130)
Wersja 1.6.0
Wersja 1.6.0
21 września 2022 r.
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
i androidx.activity:activity-ktx:1.6.0
zostały udostępnione. Wersja 1.6.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.5.0
- Dodano dyrektywę
ActivityResultContracts.PickVisualMedia
iActivityResultContracts.PickMultipleVisualMedia
w związku z zapewnieniem zgodności wstecznej umowy korzystającej z zasadMediaStore.ACTION_PICK_IMAGES
, gdy selektor zdjęć jest dostępny, iIntent.ACTION_OPEN_DOCUMENT
, gdy nie jest on dostępny. - Zintegrowaliśmy interfejs
OnBackInvokedCallback
w Androidzie 13 z platformąOnBackPressedDispatchers
udostępnianą przezComponentActivity
iComponentDialog
. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher
będą działać po włączeniu przewidywania gestu cofania.
Wersja 1.6.0-rc02
7 września 2022 roku
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
i androidx.activity:activity-ktx:1.6.0-rc02
zostały udostępnione. Wersja 1.6.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
OnBackPressedDispatcher
rejestruje terazOnBackInvokedCallback
zPRIORITY_DEFAULT
zamiastPRIORITY_OVERLAY
. (I3901f)- Klasy z rozszerzeniem
ComponentActivity
będą teraz zawsze miały wysłane oba wywołania zwrotneonMultiWindowModeChanged()
. (IC4d85) - Funkcja
ActivityResultRegistry
nie będzie już zwracać wyniku do funkcjiActivityResultCallback
, gdy wywołanielaunch
zwróci dowolnyException
i 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
korzysta teraz z cyklu życia2.5.1
. (If6697).
Wersja 1.6.0-rc01
24 sierpnia 2022 r.
androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
i androidx.activity:activity-ktx:1.6.0-rc01
zostały udostępnione. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Zainicjowanie
OnBackPressedDispatcher
nie będzie już powodować uruchamiania żądańClassVerificationError
w przypadku korzystania z pakietu SDK w wersji starszej niż 33. (IC32e1). - Klasy, które zastępują wywołanie zwrotne
onPictureInPictureModeChanged()
użytkownikaComponentActivity
, zawsze będą miały wysłane wywołania zwrotne. (Ib7fdb).
Wersja 1.6.0-beta01
10 sierpnia 2022 r.
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
i androidx.activity:activity-ktx:1.6.0-beta01
zostały udostępnione. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Oznaczono wycofane metody
startActivityForResult
istartIntentSenderForResult
wComponentActivity
o wartości@NonNull
, ponieważ przejścienull
zawsze skutkowało awarią. (Id2a25, b/231476082)
Poprawki błędów
- Z Aktywności
1.5.1
:ActivityResultRegistry
nie zwróci już wyniku do funkcjiActivityResultCallback
, jeśli wywołanielaunch
zwróci jakikolwiekException
i wywołanie zwrotne zostało zarejestrowane bezLifecycleOwner
. (Ia7ff7, b/238350794) - Z poziomu działania
1.5.1
: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
- Z poziomu Aktywności
1.5.1
: bibliotekaActivity
zależy teraz od wersji2.5.1
(Lifecycle
). (If6697).
Wersja 1.6.0-alpha05
15 czerwca 2022 r.
androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
i androidx.activity:activity-ktx:1.6.0-alpha05
zostały udostępnione. Wersja 1.6.0-alfa05 została opracowana w prywatnej gałęzi przedpremierowej i nie ma żadnych zatwierdzeń publicznych.
Zmiany interfejsu API
minCompileSdk
ma teraz wersję 33, aby dostosować ją do pakietu SDK Tiramisu Beta 3
Poprawki błędów
- Rozwiązaliśmy problem z awarią na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK
PickVisualMedia
. AplikacjaActivityResultContract
powinna teraz działać z pakietemACTION_OPEN_DOCUMENT
na urządzeniach z Androidem 10 i starszymi.
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
zostały udostępnione.
Poprawki błędów
- Naprawiliśmy błąd w
PickVisualMediaRequest
, który powodował, że próba utworzenia żądania za pomocą narzędzia do budowania lub funkcji Kotlin najwyższego poziomu prowadziła do przepełnienia stosu. - Zintegrowaliśmy
OnBackInvokedCallback
w wersji deweloperskiej Androida 13 w wersji beta 2 z platformąOnBackPressedDispatcher
dostarczaną przezComponentDialog
. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher
będą działać przy włączaniu gestu przewidywania tekstu wstecz.
Wersja 1.6.0-alpha03
27 kwietnia 2022 r.
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
i androidx.activity:activity-ktx:1.6.0-alpha03
zostały udostępnione.
- Uwaga: ta wersja jest kompilowana tylko z pakietem Android 13 Developer Beta 1 SDK.
Nowe funkcje
- Dodano dyrektywę
ActivityResultContracts.PickVisualMedia
iActivityResultContracts.PickMultipleVisualMedia
w związku z zapewnieniem zgodności wstecznej umowy korzystającej z zasadMediaStore.ACTION_PICK_IMAGES
, gdy selektor zdjęć jest dostępny, iIntent.ACTION_OPEN_DOCUMENT
, gdy nie jest on dostępny. - Zintegrowaliśmy
OnBackInvokedCallback
w wersji deweloperskiej Androida 13 w wersji beta 1 z platformąOnBackPressedDispatcher
dostarczaną przezComponentActivity
. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher
będą działać po włączeniu gestu przewidywania tekstu wstecz.
Wersja 1.6.0-alpha01
23 marca 2022 r.
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
i androidx.activity:activity-ktx:1.6.0-alpha01
zostały udostępnione.
- Uwaga: ta wersja jest kompilowana tylko z pakietem SDK Android 13 Developer Preview 2.
Nowe funkcje
- Zintegrowaliśmy zmiany w wersji przedpremierowej Androida 13 w wersji deweloperskiej 2 z funkcją
ComponentActivity
.
Wersja 1.5.1
Wersja 1.5.1
27 lipca 2022 roku
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
i androidx.activity:activity-ktx:1.5.1
zostały udostępnione. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
ActivityResultRegistry
nie będzie już zwracać wyników doActivityResultCallback
, gdy wywołanielaunch()
zwróci dowolnyException
i wywołanie zwrotne zostało zarejestrowane bezLifecycleOwner
. (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 funkcji superwydajnej. (Ie33c5, b/238057118)
Aktualizacja zależności
- Biblioteka
Activity
korzysta teraz z cyklu życia2.5.1
. (If6697).
Wersja 1.5.0
Wersja 1.5.0
29 czerwca 2022 r.
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
i androidx.activity:activity-ktx:1.5.0
zostały udostępnione. Wersja 1.5.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.4.0
- KomponentDialog –
ComponentDialog
to podklasa klasyDialog
zawierająca klasęOnBackPressedDispatcher
, która zostanie wywołana po naciśnięciu systemowego przycisku Wstecz i wyświetleniu okna. Co ważne, ta podklasa również ustawiaViewTreeOnBackPressedDispatcherOwner
, umożliwiając widokom ogólny sposób pobierania prawidłowego dyspozytora niezależnie od tego, czy znajduje się on wComponentActivity
czyComponentDialog
. - Interfejsy wywołań zwrotnych –
ComponentActivity
implementuje zestaw modułowych interfejsów wywołania zwrotnego, których można używać zamiast wywołań zwrotnychActivity
. Te interfejsy obejmują:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- Integracja dodatków do tworzenia –
ComponentActivity
może teraz udostępniać bezstanoweViewModelProvider.Factory
za pomocą funkcjiCreationExtras
w cyklu życia2.5.0
.
Inne zmiany
- Konstruktor „brak parametrów” dla funkcji
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
.
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 udostępnione bez zmian od wersji 1.5.0 do beta01. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.
Wersja 1.5.0-beta01
20 kwietnia 2022 r.
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
i androidx.activity:activity-ktx:1.5.0-beta01
zostały udostępnione. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.
Aktualizacje zależności
- Aktywność zależy teraz od cyklu życia
2.4.0-beta01
.
Wersja 1.5.0-alpha05
6 kwietnia 2022 roku
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
i androidx.activity:activity-ktx:1.5.0-alpha05
zostały udostępnione. Wersja 1.5.0-alfa05 zawiera te zatwierdzenia.
Poprawki błędów
- Funkcja
onPanelClosed()
przeglądarkiComponentActivity
wywołuje teraz również element SuperonPanelClosed()
, naprawiono problem, który powodował, że metodaonContextMenuClosed
nie była wywoływana. (Ib6f77).
Wersja 1.5.0-alpha04
23 marca 2022 r.
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
i androidx.activity:activity-ktx:1.5.0-alpha04
zostały udostępnione. Wersja 1.5.0-alfa04 zawiera te zatwierdzenia.
Poprawki błędów
SavedStateViewFactory
obsługuje teraz korzystanie zCreationExtras
nawet wtedy, gdy zostało zainicjowane za pomocąSavedStateRegistryOwner
. Jeśli podano dodatki, zainicjowane argumenty są ignorowane. (I6c43b, b/224844583)
Wersja 1.5.0-alpha03
23 lutego 2022 r.
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
i androidx.activity:activity-ktx:1.5.0-alpha03
zostały udostępnione. Wersja 1.5.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Teraz możesz przekazać
CreationExtras
do funkcjiby viewModels()
aktywności (I6a3e6, b/217600303)
Wersja 1.5.0-alpha02
9 lutego 2022 r.
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
i androidx.activity:activity-ktx:1.5.0-alpha02
zostały udostępnione. Wersja 1.5.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
implementuje interfejsOnPictureInPictureModeChangedProvider
, aby umożliwić do odbierania zdarzeń zmiany trybu obrazu w obrazie. (I9f567)ComponentActivity
implementuje interfejsOnMultiWindowModeChangedProvider
, aby umożliwić do odbierania zdarzeń zmiany trybu wielu okien. (I62d91)
Wersja 1.5.0-alpha01
26 stycznia 2022 r.
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
i androidx.activity:activity-ktx:1.5.0-alpha01
zostały udostępnione. Wersja 1.5.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Interfejs
ComponentActivity
integruje się teraz z dodatkami do tworzenia modeli widoku danych, wprowadzonych w ramach cyklu życia2.5.0-alpha01
. (IE7e00, b/207012584) - Dodano podklasę
ComponentDialog
, która wynosiDialog
zawierającyOnBackPressedDispatcher
który zostanie wywołany po naciśnięciu systemowego przycisku Wstecz naciśnięty, gdy okno dialogowe jest widoczne. Ważne: ta podklasa ustawia teżViewTreeOnBackPressedDispatcherOwner
, zezwala na wyświetlenia ogólny sposób na uzyskanie prawidłowego dyspozytora niezależnie od tego, czy znajduje się w elemencieComponentActivity
czyComponentDialog
(I8a1bc). ComponentActivity
stosuje teraz nową InterfejsOnNewIntentProvider
umożliwiający zezwalanie dowolny komponent odbierający te zdarzenia. (If1f8b).ComponentActivity
stosuje teraz nową InterfejsOnConfigurationChangedProvider
umożliwiający zezwalanie dowolny komponent odbierający te zdarzenia. (If623b).ComponentActivity
stosuje teraz nowąOnTrimMemoryProvider
umożliwiający dostęp do dowolnych komponentów. aby otrzymywać te zdarzenia. (IA9295).
Zmiany interfejsu API
- Konstruktor bez parametrów dla
Poprzednia wartość „
ActivityResultContracts.CreateDocument
” to wycofane i zastąpione nowym konstruktorem używający konkretnego typu MIME (np."image/png"
) zgodnie z wymaganiamiIntent.ACTION_CREATE_DOCUMENT
(I2bec6). OnBackPressedDispatcherOwner
powiązane z widokiem danych można teraz pobierać za pośrednictwemViewTreeOnBackPressedDispatcherOwner
, a niż przesyłanie z urządzeniaContext
. (I74685)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował awarię podczas uzyskiwania dostępu do:
ViewModel
po raz pierwszy odregisterForActivityResult()
wywołania zwrotnego lub wywołania zwrotne doLifecycleObserver
dodane w ramachinit
zComponentActivity
. (Ife83f).
Wersja 1.4.0
Wersja 1.4.0
27 października 2021 roku
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
i androidx.activity:activity-ktx:1.4.0
zostały udostępnione. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.3.0
- W AndroidzieX
ComponentActivity
zaimplementowano interfejsMenuHost
. Dzięki temu każdy komponent może dodawać pozycje menu do elementuActionBar
przez dodanie do aktywności wystąpieniaMenuProvider
. Każdy elementMenuProvider
można opcjonalnie dodać za pomocą elementuLifecycle
, który będzie automatycznie kontrolować widoczność tych pozycji menu na podstawie stanuLifecycle
i obsługiwać usuwanie funkcjiMenuProvider
w przypadku zniszczenia elementuLifecycle
. - Klasa
ActivityResultContract
została przeredagowana w języku Kotlin, aby deweloperzy tworzący niestandardowe umowy w tym języku mogli definiować prawidłową wartość null klas danych wejściowych i wyjściowych. - Klasa
ActivityResultContracts
i kontrakty zostały napisane od nowa w Kotlin, aby zapewnić prawidłową zgodność z wartościami null.
Wersja 1.4.0-rc01
13 października 2021 r.
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
i androidx.activity:activity-ktx:1.4.0-rc01
zostały udostępnione. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
ActivityResultRegistry
nie będzie już zwracać wyników doActivityResultCallback
, gdy wywołanielaunch
zwróci dowolnyException
(If4f91, b/200845664)
Wersja 1.4.0-beta01
29 września 2021 r.
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
i androidx.activity:activity-ktx:1.4.0-beta01
zostały udostępnione. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Naprawiono typ
ActivityResultContracts.OpenMultipleDocuments
orazActivityResultContracts.GetMultipleContents
, które spowodował użycie typu wyjściowegoList<? extends Uri>
przy użyciu kodu od oraz język programowania Java. (If71de). - Stałe publiczne w klasach
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
iActivityResultContracts.RequestMultiplePermissions
są teraz dostępne podczas korzystania z usługi Kotlin za pomocą ich publicznych obiektówCompanion
. (Aosp/1832555).
Aktualizacje dokumentacji
- Komunikat o wycofaniu interfejsów API obsługiwany teraz przez interfejsy Activity Result API (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
ionRequestPermissionsResult
) został rozszerzony i zawiera więcej szczegółów. (CCE80F).
Wersja 1.4.0-alpha02
15 września 2021 r.
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
i androidx.activity:activity-ktx:1.4.0-alpha02
zostały udostępnione. Wersja 1.4.0-alfa02 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 wywoływać ubocznych efektów. użyć interfejsów API do obsługi efektów ubocznych. (7c2bbe, b/191347220)
Zmiany interfejsu API
- Zajęcia
ActivityResultContract
mają w języku Kotlin, żeby deweloperzy pisanie niestandardowych umów w Kotlin może zdefiniować poprawna dopuszczalna wartość null w danych wejściowych i wyjściowych zajęcia. (I8a8f5). - Klasa
ActivityResultContracts
i jej: w Kotlin zostały napisane od nowa, prawidłową wartość null. (I69802).
Wersja 1.4.0-alpha01
1 września 2021 roku
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
i androidx.activity:activity-ktx:1.4.0-alpha01
zostały udostępnione. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- W Androidzie X w wersji
ComponentActivity
zaimplementowano interfejsMenuHost
. Dzięki temu każdy komponent może dodawać pozycje menu do elementuActionBar
przez dodanie do aktywności wystąpieniaMenuProvider
. Każdy elementMenuProvider
można opcjonalnie dodać za pomocą elementuLifecycle
, który będzie automatycznie kontrolować widoczność tych pozycji menu na podstawie stanuLifecycle
i obsługiwać usuwanie funkcjiMenuProvider
w przypadku zniszczenia 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
wyrzuci terazIllegalStateException
podczas próby połączenia z numeremlaunch()
wActivityResultLauncher
, które nie są zarejestrowane lub zostały nie zarejestrowano. (Ida75d, b/192567522)
Treści tłumaczone przez użytkowników zewnętrznych
Wersja 1.3.1
Wersja 1.3.1
4 sierpnia 2021 r.
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
i androidx.activity:activity-ktx:1.3.1
zostały udostępnione. Wersja 1.3.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Aktywność zależy teraz od aplikacji 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
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
i androidx.activity:activity-ktx:1.3.0
zostały udostępnione. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.2.0
- Artefakt tworzenia aktywności – artefakt
activity-compose
udostępnia metodę rozszerzeniasetContent
służącą do hostowania interfejsu Jetpack Compose w aktywności oraz określonych kodów towarzyszących tworzenia wiadomości na potrzeby interakcji z interfejsami APIComponentActivity
w celu obsługi systemowego przycisku Wstecz i interfejsów API wyników działań. Więcej informacji znajdziesz w dokumentacji. - Umowa dotycząca nagrywania filmów –
CaptureVideo
ActivityResultContract
zastępuje nieużywaną już umowęTakeVideo
i zwraca wartość logiczną oznaczającą sukces, który sprawdza się w wielu aplikacjach do obsługi aparatów. - Śledzenie wyświetlania podpowiedzi obrazu w obrazie – użytkownicy
activity-ktx
mogą teraz korzystać z metody rozszerzeniatrackPipAnimationHintView
wActivity
, by automatycznie utworzyćPictureInPictureParams
z nową pozycją widoku, gdy zmieni się on względem okna.
Wersja 1.3.0-rc02
14 lipca 2021 roku
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
i androidx.activity:activity-ktx:1.3.0-rc02
zostały udostępnione. Wersja 1.3.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Wywołania zwrotne
ActivityResultRegistry
zostały zapisane prawidłowo i przywrócono, aby wywołania zwrotne nie były zduplikowane w saveState. (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 udostępnione bez zmian od 1.3.0-beta02
. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Wersja 1.3.0-beta02
16 czerwca 2021 r.
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
i androidx.activity:activity-ktx:1.3.0-beta02
zostały udostępnione. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Zaktualizowano zasadę activity-compose
, by korzystać z funkcji Utwórz 1.0.0-beta09
. W środowisku androidx.compose.ui:ui-test-junit4
zależność czasu kompilowania jest teraz związana z elementem activity-compose
.
Wersja 1.3.0-beta01
2 czerwca 2021 r.
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
i androidx.activity:activity-ktx:1.3.0-beta01
zostały udostępnione. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Wycofana wcześniej metoda
@Composable registerForActivityResult()
została usunięta. Użyj kontarememberLauncherForActivityResult()
. (IC39d3).
Wersja 1.3.0-alfa08
18 maja 2021 r.
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
i androidx.activity:activity-ktx:1.3.0-alpha08
zostały udostępnione. Wersja 1.3.0-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
CaptureVideo
ActivityResultContract
zwraca błąd wartość logiczna do wartościActivityResultCallback
, która wskazuje, czy film został zapisano pod podanym identyfikatorem URI. Zastąpi to wycofywaną umowęTakeVideo
, ponieważ aplikacje aparatu bardzo rzadko obsługiwały zwracanie bitmapy miniatury, przez co wynik był nieprzydatny. (Ie21f2, b/185938070)- Dodano nowy interfejs API
Activity#setPipAnimationHintView
do aktualizacji PipParams wskazówkę dotyczącą prostokąta źródłowego przy każdym ruchu widoku. (I9063D)
Zmiany interfejsu 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ść podczas tworzenia wiadomości
- Usługa
androidx.activity:activity-compose:1.3.0-alpha08
jest zgodna tylko z funkcją tworzenia wiadomości w wersji1.0.0-beta07
i nowszych.
Wersja 1.3.0-alpha07
21 kwietnia 2021 r.
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
i androidx.activity:activity-ktx:1.3.0-alpha07
zostały udostępnione. Wersja 1.3.0-alfa07 zawiera te zatwierdzenia.
Poprawki błędów
- Teraz
rememberLauncherForActivityResult
zwraca stabilne odwołanie do tego samegoActivityResultLauncher
, nawet jeśli zmian w umowach wynikających ze zmian kompozycji. (Id2d6d). - Używanie niestabilnych wersji fragmentów kodu powyżej
1.3.0
nie będzie już generuje błąd fałszywie pozytywny z prośbą o użycie1.3.0
. (Aosp/1670206, b/184847092)
Wersja 1.3.0-alpha06
7 kwietnia 2021 r.
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
i androidx.activity:activity-ktx:1.3.0-alpha06
zostały udostępnione. Wersja 1.3.0-alfa06 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nazwa interfejsu API
registerForActivityResult()
została zmieniona narememberLauncherForActivityResult()
, aby lepiej wskazać, że zwróconyActivityResultLauncher
jest obiektem zarządzanym zapamiętywanym w Twoim imieniu. Próba wywołania funkcjiunregister
zwróci błądActivityResultLauncher
. (I2bb6d). LocalOnBackPressedDispatcherOwner.current
iLocalActivityResultRegistryOwner.current
zwraca teraz błąd dopuszczalna wartość null, aby lepiej określić, czy jest dostępna w bieżącej kompozycji. interfejsy API, które ich wymagają, na przykładBackHandler
irememberLauncherForActivityResult()
, spowoduje teraz bardziej opisowy błąd, jeśli nie można znaleźć bazowego właściciela. FunkcjaNavHost
już działa nawet jeśliOnBackPressedDispatcherOwner
nie zostanie znaleziony, tak jest w przypadku podglądu elementuNavHost
. (I7d8b4)
Poprawki błędów
BackHandler
będzie teraz prawidłowo przechwytywać naciśnięcia zdarzenie, że aktywność toSTOPPED
, potemSTARTED
i inne zdarzenie Dodano wywołania zwrotne z właścicielem cyklu życia. (I71de6, b/182284739)- Używanie rozszerzenia metody
launch()
z niestandardowym parametremActivityResultContract
z danymi wejściowymiUnit
nie będzie już wywoływać funkcjiNullPointerException
(I76282, b/183837954)
Wersja 1.3.0-alpha05
24 marca 2021 r.
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
i androidx.activity:activity-ktx:1.3.0-alpha05
zostały udostępnione. Wersja 1.3.0-alfa05 zawiera te zatwierdzenia.
Poprawki błędów
- Z Aktywności 1.2.2: naprawiono błąd sprawdzania lintowania
InvalidFragmentVersionForActivityResult
, który prowadził do wyniku fałszywie pozytywnego w przypadku użycia fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985) - W Aktywności 1.2.2:
ComponentActivity
teraz omijaClassNotFoundException
podczas uruchamiania elementuIntent
z poziomuActivityResultContract
, który wcześniej był zablokowany jako dodatkowy w innymIntent
. (IEff05, b/182906230)
Aktualizacje zależności
- W Aktywności 1.2.2: Aktywność zależy teraz od cyklu życia
2.3.1
.
Wersja 1.3.0-alfa04
10 marca 2021 r.
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
i androidx.activity:activity-ktx:1.3.0-alpha04
zostały udostępnione. Wersja 1.3.0-alfa04 zawiera te zatwierdzenia.
Poprawki błędów
- Z poziomu Aktywności
1.2.1
: terazRequestMultiplePermissions
zawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko uprawnień, które nie zostały przyznane wcześniej. (I50bc3, b/180884668) - Od aktywności
1.2.1
:ActivityResultRegistry
teraz dba o to, aby przetwarzane żądanialaunch()
zwracały wyniki nawet wtedy, gdy:unregister()
, a następnieregister()
z tym samym kluczem. (I9ef34, b/181267562) - Tworzenie aktywności nie dodaje już testów w ścieżce klasy środowiska wykonawczego. (Ifd8b3).
- Rozwiązaliśmy 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.
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
i androidx.activity:activity-ktx:1.3.0-alpha03
zostały udostępnione. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Dostępna jest teraz funkcja kompozycyjna
registerForActivityResult
. (Ia7851, b/172690553)
Zmiany interfejsu API
LocalOnBackPressedDispatcherOwner
ma teraz funkcjeprovides
, które mogą używane z zasadąCompositionLocalProvider
, zastępującasProvidableCompositionLocal()
API. (I45d24)
Wersja 1.3.0-alfa02
10 lutego 2021 r.
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
i androidx.activity:activity-ktx:1.3.0-alpha02
zostały udostępnione. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z tworzeniem aktywności (
1.3.0-alpha01
), który powodował wyjątekNoSuchMethodError: No static method setContent
podczas korzystania z funkcji Utwórz1.0.0-alpha12
. Wszyscy użytkownicy funkcji Compose powinni korzystać z wersji1.3.0-alpha02
lub nowszej. (b/179911234)
Zmiany interfejsu API
- Interfejsu API
BackHandler
można użyć, aby umożliwić funkcji Composable przechwycenie systemowego przycisku Wstecz. (I58ed5, b/172154006)
Wersja 1.3.0-alpha01
10 lutego 2021 r.
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
i androidx.activity:activity-ktx:1.3.0-alpha01
zostały udostępnione. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy artefakt
activity-compose
zawiera funkcje pomocnicze Jetpack Compose do interfejsów APIandroidx.activity
.- Element
ComponentActivity.setContent
został przeniesiony z jednostki organizacyjnejandroidx.compose.ui.platform.setContent
do jednostki organizacyjnejandroidx.activity.compose.setContent
. (Icf416).
- Element
Znane problemy
- Korzystanie z funkcji tworzenia wiadomości o aktywności
1.3.0-alpha01
i zależnych od niej bibliotek, takich jakandroidx.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.
androidx.activity:activity:1.2.4
i androidx.activity:activity-ktx:1.2.4
zostały udostępnione. Wersja 1.2.4 zawiera te zatwierdzenia.
Poprawki błędów
- Z poziomu Activity
1.3.0-rc02
: wywołania zwrotne ActivityResultRegistry są teraz zapisane prawidłowo i przywrócono, aby wywołania zwrotne nie były zduplikowane w saveState. (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
zostały udostępnione. Wersja 1.2.3 zawiera te zatwierdzenia.
Poprawki błędów
- Używanie rozszerzenia metody
launch()
z niestandardowym parametremActivityResultContract
z danymi wejściowymiUnit
nie będzie już wywoływać funkcjiNullPointerException
(I76282, b/183837954) - Naprawiono błąd fałszywie dodatniego lintera informujący o konieczności użycia fragmentu
1.3.0
w przypadku korzystania ze zrzutu, alfa, beta lub RC w nowszej wersji fragmentów kodu. (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
zostały udostępnione. Wersja 1.2.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd sprawdzania lintowania
InvalidFragmentVersionForActivityResult
, który prowadził do wyniku fałszywie pozytywnego w przypadku użycia fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985) ComponentActivity
teraz omijaClassNotFoundException
podczas uruchamiania zadaniaIntent
zActivityResultContract
, które wcześniej były zablokowane jako dodatkowe w innym obiekcieIntent
. (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
zostały udostępnione. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
RequestMultiplePermissions
zawsze zwraca teraz wyniki dla wszystkich wymaganych uprawnień, a nie tylko uprawnień, które nie zostały przyznane wcześniej. (I50bc3, b/180884668)ActivityResultRegistry
zapewnia teraz, że przetwarzane żądanialaunch()
zwracają wyniki nawet wtedy, gdyunregister()
, a następnieregister()
ponownie 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
zostały udostępnione. 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 teraz interfejsActivityResultRegistry
, który umożliwia obsługę przepływówstartActivityForResult()
+onActivityResult()
orazrequestPermissions()
+onRequestPermissionsResult()
bez zastępowania metod we fragmencie aktywności lub we fragmencie, zwiększa bezpieczeństwo typów za pomocąActivityResultContract
oraz udostępnia punkty zaczepienia do testowania tych przepływów. Zobacz zaktualizowany artykuł Uzyskiwanie wyników z aktywności.
ContextAware
:ComponentActivity
implementuje terazContextAware
, co pozwala dodać co najmniej 1 instancjęOnContextAvailableListener
, która otrzyma wywołanie zwrotne przed podstawową wartościąActivity.onCreate()
.- Zawieszenie rozszerzenia Kotlin
withContextAvailable()
umożliwia uruchomienie niezawieszającego bloku, gdy kontekst stanie się dostępny i zwrócony wynik. - Ten interfejs API jest używany przez
FragmentActivity
w Fragmentie 1.3.0 do przywrócenia stanuFragmentManager
. Wszystkie detektory dodane do podklasFragmentActivity
będą uruchamiane po tym detektorze. - Ten interfejs API jest używany przez
AppCompatActivity
w aplikacji AppCompat w wersji 1.3.0-alpha02 lub nowszej. Wszystkie detektory dodane do podklasAppCompatActivity
będą uruchamiane po tym detektorze.
- 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
, tak że zwraca ono aktywność jakoLifecycleOwner
,ViewModelStoreOwner
iSavedStateRegistryOwner
w przypadku wszystkich widoków danych dodanych bezpośrednio doComponentActivity
.
- reportFullyDrawn() – metoda
Activity
reportFullyDrawn()
została wComponentActivity
wstecznie przeniesiona, aby działała na wszystkich poziomach interfejsu API. Naprawiliśmy awarię w interfejsie API 19 i dodaliśmy śledzenie 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
zostały udostępnione. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
ActivityResultRegistry
zawsze przywraca teraz dokładny stan zapisanej książki. (IdD56b)- Dodaj śledzenie do:
ComponentActivity.reportFullyDrawn
(IC7632)
Treści tłumaczone przez użytkowników zewnętrznych
- Metoda
ComponentActivity
zastępuje teraz metodęreportFullyDrawn()
, co umożliwia jej wywoływanie na wszystkich poziomach interfejsu API i naprawianie awarii przy wywoływaniu tej metody bez odpowiednich uprawnień systemowych na urządzeniach z interfejsem API 19. Dzięki Simon Schiller. (b/163239764, #103)
Wersja 1.2.0-beta02
Grudzień 2, 2020
androidx.activity:activity:1.2.0-beta02
i androidx.activity:activity-ktx:1.2.0-beta02
zostały udostępnione. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że interfejs Activity Result API na koncie
nie będzie czekać na
STARTED
przed cyklem życia dostarczanie wyników po zarejestrowaniu wLifecycle
. (I109ea)
Treści tłumaczone przez użytkowników zewnętrznych
- Zaktualizowaliśmy dokumentację obiektu
launch()
, by wyraźnie wskazać, że może on zgłaszaćActivityNotFoundException
. Dziękujemy, 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
zostały udostępnione. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
Funkcja
ActivityResultRegistry
generuje teraz losowe liczby całkowite, aż znajdzie taki, który nie jest przypisany do użycia jako kod żądaniaregister()
. Zapobiega to możliwie przepełnieniu się liczby całkowitej spowodowanemu przez zwiększanie liczby kodów żądań. (b/168779518)Obserwatorzy (
Lifecycle
) są prawidłowo usunięci podczas wywoływania funkcjiunregister()
na urządzeniuActivityResultLauncher
. (B/165608393)
Zmiany w działaniu
ActivityResultRegistry
wysyła terazIllegalStateException
podczas próby wywołaniaregister()
zLifecycleOwner
, któregoLifecycle
jest jużSTARTED
. (b/165435866)
Zaktualizowana dokumentacja
- Dokumentacja usługi
ContextAware
zawiera link do dokumentuLifecycleOwner
, aby wyróżnić wywołania zwrotneLifecycle
jako odpowiednie miejsce do tworzenia i zniszczenia. (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
zostały udostępnione. Wersja 1.2.0-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
ComponentActivity
implementuje terazContextAware
, co pozwala dodać co najmniej 1 instancjęOnContextAvailableListener
, która otrzyma wywołanie zwrotne przed podstawową wartościąActivity.onCreate()
. (B/161390636)- Zawieszenie rozszerzenia Kotlin
withContextAvailable()
umożliwia uruchomienie niezawieszającego bloku, gdy kontekst stanie się dostępny i zwrócony wynik. (I8290C) - Ten interfejs API jest używany przez
FragmentActivity
we fragmencie 1.3.0-alfa08 do przywrócenia stanuFragmentManager
. Wszystkie detektory dodane do podklasFragmentActivity
będą uruchamiane po tym detektorze. (I513da). - Ten interfejs API jest używany przez
AppCompatActivity
w aplikacji AppCompat 1.3.0-alpha02. Wszystkie detektory dodane do podklasAppCompatActivity
będą uruchamiane po tym detektorze. (I513da).
- Zawieszenie rozszerzenia Kotlin
Poprawki błędów
- Rozwiązaliśmy problem ze sprawdzaniem Lint w
ActivityResultFragmentVersionDetector
, który powodował awarię go podczas korzystania z Lint w wersji 27.1.0 lub nowszej. (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
zostały udostępnione. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nowe sprawdzanie lint
InvalidFragmentVersionForActivityResult
, które weryfikują, czy podczas korzystania z interfejsu Activity Result API używasz fragmentu1.3.0-alpha07
, co pozwala uniknąć awarii środowiska wykonawczego z powodu problemów z nieprawidłowym kodem żądania i niedziałających próśb o uprawnienia spowodowanych używaniem starszych wersji fragmentów kodu. (b/152554847)
Treści tłumaczone przez użytkowników zewnętrznych
- Naprawiono błąd
ArrayIndexOutOfBoundsException
, gdy: analizowanie wyników dla aktywnościRequestPermission
Wynik umowy. (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
zostały udostępnione. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Możesz teraz zniszczyć klasę
ActivityResult
w kotlin, aby uzyskać bezpośredni dostęp dorequestCode
iintent
. (b/157212935) ActivityResultLauncher
umożliwia teraz uzyskanieActivityResultContract
, który został użyty do zarejestrowania programu uruchamiającego. (b/156875743)
Zmiany interfejsu API
- Niezbędna zmiana: nazwa metody
invoke()
wActivityResultRegistry
została zmieniona naonLaunch()
. (b/157496491) - Umowa
OpenMultipleDocuments
zwraca teraz pustą listę zamiastnull
do zarejestrowanego wywołania zwrotnego, jeśli nie zostanie zwrócony żaden wynik. (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
zostały udostępnione. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę funkcji
ViewTreeViewModelStoreOwner
z cyklu życia2.3.0-alpha03
iViewTreeSavedStateRegistryOwner
z SavedState1.1.0-alpha01
w przypadku używania parametruView
wComponentActivity
. (aosp/1297993, aosp/1300264)
Zmiany interfejsu API
- Umowa
TakePicture
zwraca teraz stanboolean
wskazujący na powodzenie, a nie miniaturęBitmap
, ponieważ aplikacje aparatu rzadko obsługiwały to zdarzenie przy zapisie obrazu do podanegoUri
. (b/154302879) - Rozszerzenia
invoke()
w witrynieActivityResultLauncher
zostały usunięte na rzecz jawnego użycialaunch()
, aby lepiej wskazać, że są to operacje asynchroniczne. Rozszerzenia Kotlin dlalaunch
zostały dodane do pakietuandroidx.activity.result
w językachActivityResultLauncher<Void>
iActivityResultLauncher<Unit>
. Dzięki temu nie trzeba przekazywać odpowiednio informacjinull
lubUnit
, odzwierciedlając to działanie z poprzednich rozszerzeńinvoke()
. (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 właściwości
ActivityResultCallback
za pomocąLifecycleOwner
rozwiązaliśmy problem, który powodował, że wywołanie zwrotne było wywoływane, zanim stan osiągnie wartośćSTARTED
. (Aosp/1309744)
Zmiany w działaniu
ActivityResultRegistry
generuje teraz kody żądań rozpoczynające się od0xFFFF
, a nie od0
, co zapobiega nakładaniu się kodówstartActivityForResult()
lubrequestPermissions()
w aktywności. (Aosp/1302324).
Wersja 1.2.0-alfa04
29 kwietnia 2020 roku
androidx.activity:activity:1.2.0-alpha04
i androidx.activity:activity-ktx:1.2.0-alpha04
zostały udostępnione. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano umowę, która może wywoływać startIntentSenderForResult do interfejsów API ActivityResult. (B/153007517)
Zmiany interfejsu API
- Nazwa metody
prepareCall()
została zmieniona naregisterForActivityResult()
. Zarówno w domenieComponentActivity
, jak i we Fragmentie1.3.0-alpha04
. (Aosp/1278717) - Nazwy umów
GetContents
,OpenDocuments
iRequestPermissions
zostały zmienione na odpowiednioGetMultipleContents
,OpenMultipleDocuments
iRequestMultiplePermissions
. (Aosp/1280161). - W projekcie
ComponentActivity
zaimplementowano interfejsActivityResultRegisteryOwner
. (Aosp/1290888) - – Interfejsy API
startActivityForResult()
/onActivityResult()
ionRequestPermissionsResult()
w systemieComponentActivity
zostały wycofane. Użyj interfejsów Activity Result API. (b/154751887)
Poprawki błędów
- Gdy korzystasz z umów
GetMultipleContents
iOpenMultipleDocuments
i wybierasz 1 element, jest on teraz prawidłowo zwracany do wywołania zwrotnego. (b/152941153)
Wersja 1.2.0-alfa03
Kwiecień 1, 2020
androidx.activity:activity:1.2.0-alpha03
i androidx.activity:activity-ktx:1.2.0-alpha03
zostały udostępnione. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano umowy
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
iCreateDocument
do zestawu gotowych umów udostępnionych przez użytkownikaActivityResultContracts
. (aosp/1262482, aosp/1266916, aosp/1268960) - Interfejsy API wyników działań obsługują teraz uruchamianie aktywności dla wyniku z opcjonalnym
ActivityOptionsCompat
. (B/151860054)
Zmiany interfejsu API
- Umowa
TakePicture
wymaga terazUri
miejsca, w którym obraz ma być przechowywany. 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()
wActivityResultRegistry
została usunięta. (Aosp/1267621). - Metoda
createIntent()
metodyActivityResultContact
oprócz danych wejściowych wykorzystuje teraz parametrContext
, aby umożliwić tworzenie wyraźnych intencji. (AOSP/1238800) - Pole
ActivityResultContract
może teraz zastąpić metodęgetSynchronousResult()
, aby wyświetlić wynik bez wywoływania funkcjistartActivityForResult
. Jest on używany w umowachRequestPermission
iRequestPermissions
do prawidłowego przyznawania stanu „Przyznano”, jeśli żądane uprawnienia zostały już przyznane. (B/151110799) - Dotychczasowa umowa
Dial
została usunięta, ponieważ usługaIntent
nie jest przeznaczona do użytku z usługamistartActivityForResult()
. (Aosp/1266916). - Wiele interfejsów API wyników działań, które nie powinny być rozszerzone, to teraz
final
. Obejmuje togetActivityResultRegistry()
, metodyprepareCall()
, wszystkie metodyActivityResultRegistry
opróczinvoke()
oraz wiele umów domyślnych, które nie obsługują opcjonalnych dodatków. (b/152439361)
Poprawki błędów
- Naprawiliśmy błąd
NullPointerException
wActivityResultRegistry
podczas próby dostarczenia wyników do wywołania zwrotnego, które nie zostało jeszcze ponownie zarejestrowane po zmianie konfiguracji.ActivityResultRegistry
zachowuje teraz oczekujące wyniki i dostarcza je po ponownym zarejestrowaniu wywołania zwrotnego. (B/152137004)
Wersja 1.2.0-alfa02
18 marca 2020 r.
androidx.activity:activity:1.2.0-alpha02
i androidx.activity:activity-ktx:1.2.0-alpha02
zostały udostępnione. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- ActivityResultRegistry:
ComponentActivity
udostępnia teraz obiektActivityResultRegistry
, który umożliwia obsługę przepływówstartActivityForResult()
+onActivityResult()
irequestPermissions()
+onRequestPermissionsResult()
bez zastępowania metod w aktywności lub fragmencie, zwiększa bezpieczeństwo typów za pomocąActivityResultContract
oraz udostępnia punkty zaczepienia do testowania tych przepływów. Zobacz zaktualizowany artykuł Uzyskiwanie wyników z aktywności. (b/125158199)
Wersja 1.2.0-alpha01
Marzec 4, 2020
androidx.activity:activity:1.2.0-alpha01
i androidx.activity:activity-ktx:1.2.0-alpha01
zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę interfejsu API
ViewTreeLifecycleOwner.get(View)
w cyklu życia2.3.0-alpha01
, tak aby zwracał on aktywność jakoLifecycleOwner
w przypadku wszystkich widoków danych dodanych bezpośrednio do aktywności. (Aosp/1182955).
Poprawki błędów
- Naprawiliśmy regresję wprowadzoną w aktywności
1.1.0
w przypadku starszych wersji platformy, w przypadku których elementonBackPressed()
powodował wyświetlenie błęduIllegalStateException
z powodu błędu wandroid.app.FragmentManager
. (B/146290338)
Wersja 1.1.0
Wersja 1.1.0
Styczeń 22, 2020
Usługa androidx.activity:activity:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.0.0
- Integracja SavedState z modelem cyklu życia:
SavedStateViewModelFactory
jest teraz domyślną fabryką używaną w przypadku używaniaby viewModels()
, konstruktoraViewModelProvider
lubViewModelProviders.of()
z klasąComponentActivity
lub jej 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
zostały udostępnione. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Zmiany zależności
- Aktywność zależy teraz od cyklu życia
2.2.0-rc03
i parametru ViewModel cyklu życia1.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
zostały udostępnione. 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 zwolnione bez zmian od 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
zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Zmiany zależności
- Aktywność korzysta teraz ze stabilnej wersji SavedState 1.0.0.
Wersja 1.1.0-alfa03
5 września 2019 r.
androidx.activity:activity:1.1.0-alpha03
i androidx.activity:activity-ktx:1.1.0-alpha03
zostały udostępnione. 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.
androidx.activity:activity:1.1.0-alpha02
i androidx.activity:activity-ktx:1.1.0-alpha02
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
SavedStateViewModelFactory
jest teraz domyślnym ustawieniem fabrycznym podczas używaniaby 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
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
activity
zależy teraz od cyklu życia2.2.0-alpha02
. (Aosp/1007817).- Funkcja
activity-ktx
dodała zależność odlifecycle-runtime-ktx
; nie musisz już dodawać go do zależności podczas korzystania z bibliotekiactivity-ktx
lub bibliotek, które wymagająactivity-ktx
(np.fragment-ktx
). (Aosp/987162)
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
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Główne funkcje 1.0.0
- KomponentActivity:
ComponentActivity
służy jako nowa klasa bazowa dlaFragmentActivity
w fragmentu1.1.0
, a co za tym idzie –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 ViewModels. Ten moduł jest automatycznie uwzględniany, gdy uwzględniasz tagfragment-ktx
z fragmentu1.1.0
. - OnBackPressedDispatcher: zamiast zastępowania
onBackPressed()
możesz zarejestrować elementOnBackPressedCallback
z dowolnego elementuLifecycleOwner
(np. fragment), by przechwytywać systemowe zdarzenia przycisku wstecz. Do zakresuactivity-ktx
została dodana funkcja lambda z odbiornikiem w wersjiaddCallback
. Więcej informacji znajdziesz w artykule Przesyłanie niestandardowych informacji o nawigacji wstecznej. - wycofanie instancji onRetentionCustomNonConfigurationInstance: interfejsy API
onRetainCustomNonConfigurationInstance()
i powiązane z nimigetLastCustomNonConfigurationInstance()
interfejsy API zostały wycofane. Zdecydowanie zalecamy używanie obiektów ViewModels do przechowywania stanu niezwiązanego z konfiguracją, ponieważ oferują one kompozycyjne rozwiązanie odpowiednie dla każdego obiektuViewModelStoreOwner
, które zapewnia jasny obraz własności przechowywanych obiektów i zapewnia wywołanie zwrotneonCleared()
do wyczyszczenia zasobów po ostatecznym zniszczeniu aktywności.
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 zwolnione bez zmian od 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 zwolnione bez zmian od 1.0.0-alpha08
. Zatwierdzenia 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
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany interfejsu API
- Niezbędna zmiana: wycofane wcześniej metody
addOnBackPressedCallback
iremoveOnBackPressedCallback
w systemieComponentActivity
zostały usunięte. Aosp/953857 - Metody
setEnabled()
iisEnabled()
metodyOnBackPressedCallback
są teraz ostateczne. b/131416833 - Metoda
remove()
metodyOnBackPressedCallback
jest już ostateczna. Aosp/952720 OnBackPressedDispatcher
ma teraz publiczne konstruktory, dzięki którym możesz tworzyć własne instancje do testowania itp. aosp/953431- Parametr
onBackPressed()
dla domenyComponentActivity
jest teraz oznaczony jako@MainThread
aosp/952721
Poprawki błędów.
- Naprawiono błąd
ConcurrentModificationException
wywoływanyremove()
z użyciem metodyhandleOnBackPressed()
w elemencieOnBackPressedCalback
, który został dodany za pomocąLifecycleOwner
. 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
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany interfejsu API
W tej wersji wprowadzono istotne zmiany w obsłudze elementu onBackPressed()
. Więcej informacji znajdziesz w zaktualizowanej dokumentacji tylnej części ekranu.
- Metody dla
OnBackPressedCallback
iOnBackPressedDispatcher
zostały oznaczone jako@MainThread
. (Aosp/943813) - Metoda
handleOnBackPressed()
nie zwraca już wartościboolean
. Zamiast tegoOnBackPressedCallback
jest teraz klasą abstrakcyjną, którą można włączyć lub wyłączyć. Dopiero wtedy, gdy nowa metodaisEnabled()
zwróci wartość „prawda”, wywoływana jest funkcjahandleOnBackPressed()
, w której musisz obsługiwać przycisk Wstecz. (Aosp/944518) - Metody
addCallback
metodyOnBackPressedDispatcher
nie zwracają już instancjiCancellable
.OnBackPressedCallback
zawiera teraz metodęremove()
, która spełnia tę funkcję, umożliwiając wywołanie metodyremove()
podczashandleOnBackPressed()
. (aosp/944519) (aosp/946316) activity-ktx
zawiera teraz wywołanie zwrotne ograniczone do odbiorcy dlaaddCallback
, które akceptuje lamdbę z implementacjąhandleOnBackPressed()
i ma dostęp doisEnabled
iremove()
(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
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany interfejsu API
- KomponentActivity zawiera teraz drugi konstruktor korzystający z metody
@LayoutRes int
, która zastępuje poprzednie zachowanie polegające na oznaczaniu klasy AppCompatActivity adnotacjami@ContentView
. Ta metoda działa zarówno w modułach aplikacji, jak i biblioteki. (b/128352521) - Interfejsy API związane z funkcją
OnBackPressedCallback
w KomponentActivity zostały wycofane i zastąpione nowymOnBackPressedDispatcher
. Możesz je pobrać za pomocągetOnBackPressedDispatcher()
. (Aosp/922523) - Metody dodawania nowego elementu
OnBackPressedCallback
doOnBackPressedDispatcher
zwracają teraz obiektCancellable
, co umożliwia usunięcie wywołania zwrotnego bez konieczności jawnego odniesienia doOnBackPressedDispatcher
. (Aosp/922523) - Dodanie elementu
OnBackPressedCallback
z powiązanym elementemLifecycleOwner
powoduje teraz dodanie i usunięcie elementuOnBackPressedCallback
odpowiednio jako rozpoczęcie i zatrzymanie cyklu życia. (Aosp/922523)
Wersja 1.0.0-alpha05
13 marca 2019 r.
androidx.activity:activity:1.0.0-alpha05
i
androidx.activity:activity-ktx:1.0.0-alpha05
zostały zwolnione. Pełna lista zatwierdzeń
zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Wyszukiwania adnotacji (
@ContentView
) są 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
zostały zwolnione.
Nowe funkcje
- Dodaliśmy obsługę adnotacji klasy
@ContentView
, która umożliwia wskazanie pliku XML układu, który należy powiększyć jako alternatywę dla użyciasetContentView()
. (Aosp/837619).
Zmiany interfejsu API
- Dodaliśmy uwagę, że klasy
getViewModelStore()
nie należy zastępować – w przyszłej wersji zostaną one zmienione na wersję ostateczną. Jeśli zastępujesz tę metodę, zgłoś prośbę o dodanie funkcji. (Aosp/837619).
Poprawki błędów.
- Moduł
activity
korzysta teraz z wersji 2.1.0-alfa02 interfejsu ViewModel, aby zapewnić zgodność z zależnością modułuactivity-ktx
.
Wersja 1.0.0-alpha03
17 grudnia 2018 r.
Usługa androidx.activity 1.0.0-alpha03
została zwolniona.
Nowe funkcje
- Komponent KomponentActivity implementuje komponent
BundleSavedStateRegistryOwner
i zależy od nowo opublikowanej biblioteki SavedState [aosp/815133] - Komponent KomponentActivity dotyczy teraz błędu platformy Androida, który spowodowałby wyciek ostatniego skupionego widoku [b/37122102].
Wersja 1.0.0-alpha02
3 grudnia 2018 r.
Zmiany interfejsu API
- Dodano notatkę o tym, że właściwości
getLifecycle()
nie powinny być zastępowane i zostanąfinal
w przyszłej wersji. Zgłoś funkcję , jeśli zastępują obecnie tę metodę. (Aosp/815834)
Wersja 1.0.0-alpha01
5 listopada 2018 r.
androidx.activity 1.0.0-alpha01
– wprowadzenie
ComponentActivity
, nowa klasa bazowa istniejących obiektów FragmentActivity
oraz
AppCompatActivity
Nowe funkcje
- Możesz teraz zarejestrować
OnBackPressedCallback
przezaddOnBackPressedCallback
aby otrzymywaćonBackPressed()
wywołania zwrotnego bez konieczności zastępowania metody w Twojej aktywności. - Dodano nowego przedstawiciela dostępu do usługi Kotlin
by viewModels()
do pobieraniaViewModel
z:ComponentActivity
. - Oczekujące zdarzenia wejściowe (np. kliknięcia) są teraz anulowane w usłudze
onStop()
.
Zmiany interfejsu API
- Implementacja
LifecycleOwner
iViewModelStoreOwner
została przeniesiono z jednostki organizacyjnejFragmentActivity
do jednostki organizacyjnejComponentActivity
. - Usługa
onRetainCustomNonConfigurationInstance
została wycofana. UżyjViewModel
do przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.