Aktywność

Korzystaj z kompozycyjnych interfejsów API utworzonych w oparciu o 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.

Tworzenie nowego numeru

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 i PickMultipleVisualMedia, 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łania ACTION_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 Compose PredictiveBackHandler 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 żądanie IndexOutOfBoundsException. (IE3301, b/340202286)
  • Z Aktywności 1.9.1: naprawiliśmy błąd polegający na tym, że po przywróceniu systemu z powrotem system PredictiveBackHandler powodował, że nie można było wykonać czynności onBackPressed z poziomu OnBackPressedDispatcher. (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łędu IndexOutOfBoundsException. (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 polecenia onBackPressed z poziomu OnBackPressedDispatcher 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 i PredictiveBackHandler ostrzegają teraz przy wywoływaniu funkcji onBackPressedDispatcher.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 do activity. Arkusz activity-ktx jest teraz pusty.
    • W ramach konwersji wartości ActivityResultLauncher na Kotlin metoda getContract 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 implementacja ActivityResultLauncher została napisana w Kotlin.

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

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łaniem OnBackPressedDispatcher 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

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 poziomu ComponentActivity po raz pierwszy z wątku w tle. Możesz teraz bezpiecznie uzyskać dostęp do elementu onBackPressedDispatcher 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 danych ActivityResultLauncher 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 Kotlin ActivityResult, które obsługują niszczenie w polach resultCode i data, zostały przeniesione z activity-ktx do activity. (I0565a)
  • Rozszerzenia Kotlin dla języków ComponentActivity i trackPipAnimationHintView zostały przeniesione z activity-ktx do activity.by viewModels() Artefakt activity-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 do ACTION_SYSTEM_FALLBACK_PICK_IMAGES umowy o aktywności selektora zdjęć, aby prawidłowo przekazywał ten klucz EXTRA_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 metoda getContract 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 implementacja ActivityResultLauncher 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łudze PickVisualMedia. (Id6e21).

Aktualizacja zależności

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ć klucz EXTRA_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ściwe OnBackPressedCallback nawet po dodaniu nowego elementu OnBackPressedCallback 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 zwrotne handleOnBackPressed() w przypadku potwierdzenia gestu cofania. Dostępna jest też funkcja PredictiveBackHandler 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. Zapewnia Flow z BackEventCompat 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ła collect(). (Id2773, b/294884345)

  • Komponent onBackPressedDispatcher w elemencie ComponentActivity 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 typu onBackPressed(), 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 API enableEdgeToEdge, możesz teraz zastąpić parametr lambda detectDarkMode, 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 obiektu BackEvent niepołączona od klasy platformy BackEvent.
  • Zmiana niezbędna: metody handleOnBackStarted i handleOnBackProgressed funkcji OnBackPressedCallback otrzymują teraz instancję androidx.activity.BackEventCompat, a nie klasę platformy android.window.BackEvent. Zaktualizowaliśmy też równoważne interfejsy API @VisibleForTesting w systemie OnBackPressedDispatcher.
  • 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

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

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ć metody OnBackPressedDispatcher, zamiast zastępować tę metodę. (Ibce2f, b/271596918)
  • ComponentDialog i ComponentActivity zawierają teraz publiczny interfejs API initViewTreeOwners(), 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 Kotlin Random 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

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 zwrotnego handleOnBackPressed() 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 funkcji report. (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żywania ComponentActivity z ActivityScenario. (Id2ff2, b/277434271)

Wersja 1.7.0

22 marca 2023 r.

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 i androidx.activity:activity-ktx:1.7.0 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 i PickMultipleVisualMedia zostały zaktualizowane, by uwzględnić dodatkową opcję zastępczą na wypadek niedostępności MediaStore.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 funkcji Intent.ACTION_OPEN_DOCUMENT, która pozostanie obsługiwana przez wszystkie urządzenia z interfejsem API w wersji 19 i nowszych.
  • ComponentDialog implementuje teraz SavedStateRegistryOwner i ma dostęp do własnego SavedStateRegistry oraz ustawia SavedStateRegistryOwner dla ViewTree. Teraz można korzystać z Jetpack Compose w usłudze ComponentDialog, ponieważ spełnia ona zarówno wymagania LifecycleOwner, jak i SavedStateRegistryOwner dołączone do okna Window przez wymagania interfejsów API ViewTree.
  • IntentSenderRequest.Builder.setFlags() umożliwia teraz ustawienie wielu flag z Intent, 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

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

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 i PickMultipleVisualMedia, które pełnią funkcję zastępczą w przypadku niedostępności MediaStore.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 z Intent, 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 i OnBackPressedDispatcher 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 i PickMultipleVisualMedia 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 API isPhotoPickerAvailable(), który wykrywa tylko selektor zdjęć dostępny w systemie Android, został wycofany. Zalecamy używanie nowego interfejsu API isPhotoPickerAvailable(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łasnego SavedStateRegistry i ustawia SavedStateRegistryOwner dla drzewa ViewTree. Teraz można korzystać z Jetpack Compose w usłudze ComponentDialog, ponieważ spełnia ona zarówno wymagania LifecycleOwner, jak i SavedStateRegistryOwner 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łania reportFullyDrawn. (Ic5b14, b/259687964)

Konwersje Kotlin

  • Klasy ActvitiyResultCallback i OnBackPressedCallback 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ści PickMultipleVisualMedia nie uruchamiała się na urządzeniach z Androidem R, gdy używana była wartość domyślna maxItems. (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ślna maxItems. (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 i ActivityResultContracts.PickMultipleVisualMedia w związku z zapewnieniem zgodności wstecznej umowy korzystającej z zasad MediaStore.ACTION_PICK_IMAGES, gdy selektor zdjęć jest dostępny, i Intent.ACTION_OPEN_DOCUMENT, gdy nie jest on dostępny.
  • Zintegrowaliśmy interfejs OnBackInvokedCallback w Androidzie 13 z platformą OnBackPressedDispatchers udostępnianą przez ComponentActivity i ComponentDialog. Dzięki temu wszystkie interfejsy API oparte na OnBackPressedDispatcher 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 teraz OnBackInvokedCallback z PRIORITY_DEFAULT zamiast PRIORITY_OVERLAY. (I3901f)
  • Klasy z rozszerzeniem ComponentActivity będą teraz zawsze miały wysłane oba wywołania zwrotne onMultiWindowModeChanged(). (IC4d85)
  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie launch zwróci dowolny Exception i wywołanie zwrotne zostało zarejestrowane bez LifecycleOwner. (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

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żytkownika ComponentActivity, 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 i startIntentSenderForResult w ComponentActivity o wartości @NonNull, ponieważ przejście null zawsze skutkowało awarią. (Id2a25, b/231476082)

Poprawki błędów

  • Z Aktywności 1.5.1: ActivityResultRegistry nie zwróci już wyniku do funkcji ActivityResultCallback, jeśli wywołanie launch zwróci jakikolwiek Exception i wywołanie zwrotne zostało zarejestrowane bez LifecycleOwner. (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() i onOptionsItemSelected() bez konieczności wywoływania superfunkcji. (Ie33c5, b/238057118)

Aktualizacja zależności

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. Aplikacja ActivityResultContract powinna teraz działać z pakietem ACTION_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ą przez ComponentDialog. Dzięki temu wszystkie interfejsy API oparte na OnBackPressedDispatcher 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 i ActivityResultContracts.PickMultipleVisualMedia w związku z zapewnieniem zgodności wstecznej umowy korzystającej z zasad MediaStore.ACTION_PICK_IMAGES, gdy selektor zdjęć jest dostępny, i Intent.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ą przez ComponentActivity. Dzięki temu wszystkie interfejsy API oparte na OnBackPressedDispatcher 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 do ActivityResultCallback, gdy wywołanie launch() zwróci dowolny Exception i wywołanie zwrotne zostało zarejestrowane bez LifecycleOwner. (Ia7ff7, b/238350794)

  • ComponentActivity będzie teraz prawidłowo wysyłać wywołania menu do zastąpień onPrepareOptionMenu(), onCreateOptionsMenu() i onOptionsItemSelected() bez konieczności wywoływania funkcji superwydajnej. (Ie33c5, b/238057118)

Aktualizacja zależności

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

  • KomponentDialogComponentDialog to podklasa klasy Dialog 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ż ustawia ViewTreeOnBackPressedDispatcherOwner, umożliwiając widokom ogólny sposób pobierania prawidłowego dyspozytora niezależnie od tego, czy znajduje się on w ComponentActivity czy ComponentDialog.
  • Interfejsy wywołań zwrotnychComponentActivity implementuje zestaw modułowych interfejsów wywołania zwrotnego, których można używać zamiast wywołań zwrotnych Activity. Te interfejsy obejmują: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • Integracja dodatków do tworzeniaComponentActivity może teraz udostępniać bezstanowe ViewModelProvider.Factory za pomocą funkcji CreationExtras w cyklu życia 2.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 wymaganiami 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 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

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ądarki ComponentActivity wywołuje teraz również element Super onPanelClosed(), naprawiono problem, który powodował, że metoda onContextMenuClosed 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 z CreationExtras 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 funkcji by 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 interfejs OnPictureInPictureModeChangedProvider, aby umożliwić do odbierania zdarzeń zmiany trybu obrazu w obrazie. (I9f567)
  • ComponentActivity implementuje interfejs OnMultiWindowModeChangedProvider, 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 życia 2.5.0-alpha01. (IE7e00, b/207012584)
  • Dodano podklasę ComponentDialog, która wynosi Dialog zawierający OnBackPressedDispatcher 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 elemencie ComponentActivity czy ComponentDialog (I8a1bc).
  • ComponentActivity stosuje teraz nową Interfejs OnNewIntentProvider umożliwiający zezwalanie dowolny komponent odbierający te zdarzenia. (If1f8b).
  • ComponentActivity stosuje teraz nową Interfejs OnConfigurationChangedProvider 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 wymaganiami Intent.ACTION_CREATE_DOCUMENT (I2bec6).
  • OnBackPressedDispatcherOwner powiązane z widokiem danych można teraz pobierać za pośrednictwem ViewTreeOnBackPressedDispatcherOwner, a niż przesyłanie z urządzenia Context. (I74685)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował awarię podczas uzyskiwania dostępu do: ViewModel po raz pierwszy od registerForActivityResult() wywołania zwrotnego lub wywołania zwrotne do LifecycleObserver dodane w ramach init z ComponentActivity. (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 interfejs MenuHost. Dzięki temu każdy komponent może dodawać pozycje menu do elementu ActionBar przez dodanie do aktywności wystąpienia MenuProvider. Każdy element MenuProvider można opcjonalnie dodać za pomocą elementu Lifecycle, który będzie automatycznie kontrolować widoczność tych pozycji menu na podstawie stanu Lifecycle i obsługiwać usuwanie funkcji MenuProvider w przypadku zniszczenia elementu Lifecycle.
  • 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 do ActivityResultCallback, gdy wywołanie launch zwróci dowolny Exception (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 oraz ActivityResultContracts.GetMultipleContents, które spowodował użycie typu wyjściowego List<? extends Uri> przy użyciu kodu od oraz język programowania Java. (If71de).
  • Stałe publiczne w klasach ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult i ActivityResultContracts.RequestMultiplePermissions są teraz dostępne podczas korzystania z usługi Kotlin za pomocą ich publicznych obiektów Companion. (Aosp/1832555).

Aktualizacje dokumentacji

  • Komunikat o wycofaniu interfejsów API obsługiwany teraz przez interfejsy Activity Result API (startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions i onRequestPermissionsResult) 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 lintowania LaunchDuringComposition, który uniemożliwia wywołanie metody launch elementu ActivityResultLauncher 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 interfejs MenuHost. Dzięki temu każdy komponent może dodawać pozycje menu do elementu ActionBar przez dodanie do aktywności wystąpienia MenuProvider. Każdy element MenuProvider można opcjonalnie dodać za pomocą elementu Lifecycle, który będzie automatycznie kontrolować widoczność tych pozycji menu na podstawie stanu Lifecycle i obsługiwać usuwanie funkcji MenuProvider w przypadku zniszczenia elementu Lifecycle. (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 teraz IllegalStateException podczas próby połączenia z numerem launch() w ActivityResultLauncher, które nie są zarejestrowane lub zostały nie zarejestrowano. (Ida75d, b/192567522)

Treści tłumaczone przez użytkowników zewnętrznych

  • Dziękujemy dmitrilc za poprawienie literówki w dokumentacji usługi ActivityResult. (nr 221).

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ę rozszerzenia setContent 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 API ComponentActivity 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ówCaptureVideo 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 rozszerzenia trackPipAnimationHintView w Activity, 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 konta rememberLauncherForActivityResult(). (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ści ActivityResultCallback, 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 przez rememberLauncherForActivityResult. (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 wersji 1.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 samego ActivityResultLauncher, 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życie 1.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 na rememberLauncherForActivityResult(), aby lepiej wskazać, że zwrócony ActivityResultLauncher jest obiektem zarządzanym zapamiętywanym w Twoim imieniu. Próba wywołania funkcji unregister zwróci błąd ActivityResultLauncher. (I2bb6d).
  • LocalOnBackPressedDispatcherOwner.current i LocalActivityResultRegistryOwner.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ład BackHandler i rememberLauncherForActivityResult(), spowoduje teraz bardziej opisowy błąd, jeśli nie można znaleźć bazowego właściciela. Funkcja NavHost już działa nawet jeśli OnBackPressedDispatcherOwner nie zostanie znaleziony, tak jest w przypadku podglądu elementu NavHost. (I7d8b4)

Poprawki błędów

  • BackHandler będzie teraz prawidłowo przechwytywać naciśnięcia zdarzenie, że aktywność to STOPPED, potem STARTED i inne zdarzenie Dodano wywołania zwrotne z właścicielem cyklu życia. (I71de6, b/182284739)
  • Używanie rozszerzenia metody launch() z niestandardowym parametrem ActivityResultContract z danymi wejściowymi Unit nie będzie już wywoływać funkcji NullPointerException (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 omija ClassNotFoundException podczas uruchamiania elementu Intent z poziomu ActivityResultContract, który wcześniej był zablokowany jako dodatkowy w innym Intent. (IEff05, b/182906230)

Aktualizacje zależności

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: teraz RequestMultiplePermissions 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 żądania launch() zwracały wyniki nawet wtedy, gdy: unregister(), a następnie register() 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 lambda onBack 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 funkcje provides, które mogą używane z zasadą CompositionLocalProvider, zastępując asProvidableCompositionLocal() 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ątek NoSuchMethodError: No static method setContent podczas korzystania z funkcji Utwórz 1.0.0-alpha12. Wszyscy użytkownicy funkcji Compose powinni korzystać z wersji 1.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 API androidx.activity.
    • Element ComponentActivity.setContent został przeniesiony z jednostki organizacyjnej androidx.compose.ui.platform.setContent do jednostki organizacyjnej androidx.activity.compose.setContent. (Icf416).
.

Znane problemy

  • Korzystanie z funkcji tworzenia wiadomości o aktywności 1.3.0-alpha01 i zależnych od niej bibliotek, takich jak androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, spowoduje utworzenie wyjątku NoSuchMethodError: 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 parametrem ActivityResultContract z danymi wejściowymi Unit nie będzie już wywoływać funkcji NullPointerException (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 omija ClassNotFoundException podczas uruchamiania zadania Intent z ActivityResultContract, które wcześniej były zablokowane jako dodatkowe w innym obiekcie Intent. (IEff05, b/182906230)

Aktualizacje zależności

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 żądania launch() zwracają wyniki nawet wtedy, gdy unregister(), a następnie register() 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 interfejs ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult() oraz requestPermissions()+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 teraz ContextAware, 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 stanu FragmentManager. Wszystkie detektory dodane do podklas FragmentActivity 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 podklas AppCompatActivity będą uruchamiane po tym detektorze.
  • Pomoc techniczna ViewTree: ComponentActivity obsługuje teraz interfejsy API ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) i ViewTreeSavedStateRegistryOwner dodane w cyklu życia 2.3.0 i SavedState 1.1.0, tak że zwraca ono aktywność jako LifecycleOwner, ViewModelStoreOwner i SavedStateRegistryOwner w przypadku wszystkich widoków danych dodanych bezpośrednio do ComponentActivity.

.
  • reportFullyDrawn() – metoda Activity reportFullyDrawn() została w ComponentActivity 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 w Lifecycle. (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 żądania register(). 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 funkcji unregister() na urządzeniu ActivityResultLauncher. (B/165608393)

Zmiany w działaniu

  • ActivityResultRegistry wysyła teraz IllegalStateException podczas próby wywołania register() z LifecycleOwner, którego Lifecycle jest już STARTED. (b/165435866)

Zaktualizowana dokumentacja

  • Dokumentacja usługi ContextAware zawiera link do dokumentu LifecycleOwner, aby wyróżnić wywołania zwrotne Lifecycle 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 teraz ContextAware, 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 stanu FragmentManager. Wszystkie detektory dodane do podklas FragmentActivity 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 podklas AppCompatActivity będą uruchamiane po tym detektorze. (I513da).

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 fragmentu 1.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ści RequestPermission 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 do requestCode i intent. (b/157212935)
  • ActivityResultLauncher umożliwia teraz uzyskanie ActivityResultContract, który został użyty do zarejestrowania programu uruchamiającego. (b/156875743)

Zmiany interfejsu API

  • Niezbędna zmiana: nazwa metody invoke() w ActivityResultRegistry została zmieniona na onLaunch(). (b/157496491)
  • Umowa OpenMultipleDocuments zwraca teraz pustą listę zamiast null 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

Zmiany interfejsu API

  • Umowa TakePicture zwraca teraz stan boolean wskazujący na powodzenie, a nie miniaturę Bitmap, ponieważ aplikacje aparatu rzadko obsługiwały to zdarzenie przy zapisie obrazu do podanego Uri. (b/154302879)
  • Rozszerzenia invoke() w witrynie ActivityResultLauncher zostały usunięte na rzecz jawnego użycia launch(), aby lepiej wskazać, że są to operacje asynchroniczne. Rozszerzenia Kotlin dla launch zostały dodane do pakietu androidx.activity.result w językach ActivityResultLauncher<Void> i ActivityResultLauncher<Unit>. Dzięki temu nie trzeba przekazywać odpowiednio informacji null lub Unit, odzwierciedlając to działanie z poprzednich rozszerzeń invoke(). (aosp/1304674, aosp/1304675)
  • Metody IntentSenderRequest.Builder dla metod setFlagsMask() i setFlagsValues() 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ę od 0xFFFF, a nie od 0, co zapobiega nakładaniu się kodów startActivityForResult() lub requestPermissions() 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 na registerForActivityResult(). Zarówno w domenie ComponentActivity, jak i we Fragmentie 1.3.0-alpha04. (Aosp/1278717)
  • Nazwy umów GetContents, OpenDocuments i RequestPermissions zostały zmienione na odpowiednio GetMultipleContents, OpenMultipleDocuments i RequestMultiplePermissions. (Aosp/1280161).
  • W projekcie ComponentActivity zaimplementowano interfejs ActivityResultRegisteryOwner. (Aosp/1290888)
  • – Interfejsy API startActivityForResult()/onActivityResult() i onRequestPermissionsResult() w systemie ComponentActivity zostały wycofane. Użyj interfejsów Activity Result API. (b/154751887)

Poprawki błędów

  • Gdy korzystasz z umów GetMultipleContents i OpenMultipleDocuments 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 i CreateDocument do zestawu gotowych umów udostępnionych przez użytkownika ActivityResultContracts. (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 teraz Uri miejsca, w którym obraz ma być przechowywany. Nazwa poprzedniej umowy, która nie wymaga żadnych danych wejściowych, została zmieniona na TakePicturePreview. (Aosp/1262482).
  • Nazwa metody registerActivityResultCallback() w systemie ActivityResultRegistry została zmieniona na register(). (Aosp/1267621).
  • Nazwa metody dispose() w systemie ActivityResultLauncher została zmieniona na unregister(), a metoda unregisterResultCallback() w ActivityResultRegistry została usunięta. (Aosp/1267621).
  • Metoda createIntent() metody ActivityResultContact oprócz danych wejściowych wykorzystuje teraz parametr Context, 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 funkcji startActivityForResult. Jest on używany w umowach RequestPermission i RequestPermissions 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ługa Intent nie jest przeznaczona do użytku z usługami startActivityForResult(). (Aosp/1266916).
  • Wiele interfejsów API wyników działań, które nie powinny być rozszerzone, to teraz final. Obejmuje to getActivityResultRegistry(), metody prepareCall(), wszystkie metody ActivityResultRegistry oprócz invoke() 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 w ActivityResultRegistry 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 obiekt ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult() i requestPermissions()+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 życia 2.3.0-alpha01, tak aby zwracał on aktywność jako LifecycleOwner 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 element onBackPressed() powodował wyświetlenie błędu IllegalStateException z powodu błędu w android.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żywania by viewModels(), konstruktora ViewModelProvider lub ViewModelProviders.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 życia 1.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.

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żywania by viewModels(), konstruktora ViewModelProvider lub ViewModelProviders.of() z ComponentActivity (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 życia 2.2.0-alpha02. (Aosp/1007817).
  • Funkcja activity-ktx dodała zależność od lifecycle-runtime-ktx; nie musisz już dodawać go do zależności podczas korzystania z biblioteki activity-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 dla FragmentActivity w fragmentu 1.1.0, a co za tym idzie – AppCompatActivity w AppCompat 1.1.0.
  • activity-ktx: moduł activity-ktx zawiera rozszerzenie właściwości by viewModels Kotlin umożliwiające dostęp do modeli ViewModels. Ten moduł jest automatycznie uwzględniany, gdy uwzględniasz tag fragment-ktx z fragmentu 1.1.0.
  • OnBackPressedDispatcher: zamiast zastępowania onBackPressed() możesz zarejestrować element OnBackPressedCallback z dowolnego elementu LifecycleOwner (np. fragment), by przechwytywać systemowe zdarzenia przycisku wstecz. Do zakresu activity-ktx została dodana funkcja lambda z odbiornikiem w wersji addCallback. Więcej informacji znajdziesz w artykule Przesyłanie niestandardowych informacji o nawigacji wstecznej.
  • wycofanie instancji onRetentionCustomNonConfigurationInstance: interfejsy API onRetainCustomNonConfigurationInstance() i powiązane z nimi getLastCustomNonConfigurationInstance() 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 obiektu ViewModelStoreOwner, które zapewnia jasny obraz własności przechowywanych obiektów i zapewnia wywołanie zwrotne onCleared() 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 i removeOnBackPressedCallback w systemie ComponentActivity zostały usunięte. Aosp/953857
  • Metody setEnabled() i isEnabled() metody OnBackPressedCallback są teraz ostateczne. b/131416833
  • Metoda remove() metody OnBackPressedCallback 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 domeny ComponentActivity jest teraz oznaczony jako @MainThread aosp/952721

Poprawki błędów.

  • Naprawiono błąd ConcurrentModificationException wywoływany remove() z użyciem metody handleOnBackPressed() w elemencie OnBackPressedCalback, 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 i OnBackPressedDispatcher zostały oznaczone jako @MainThread. (Aosp/943813)
  • Metoda handleOnBackPressed() nie zwraca już wartości boolean. Zamiast tego OnBackPressedCallback jest teraz klasą abstrakcyjną, którą można włączyć lub wyłączyć. Dopiero wtedy, gdy nowa metoda isEnabled() zwróci wartość „prawda”, wywoływana jest funkcja handleOnBackPressed(), w której musisz obsługiwać przycisk Wstecz. (Aosp/944518)
  • Metody addCallback metody OnBackPressedDispatcher nie zwracają już instancji Cancellable. OnBackPressedCallback zawiera teraz metodę remove(), która spełnia tę funkcję, umożliwiając wywołanie metody remove() podczas handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx zawiera teraz wywołanie zwrotne ograniczone do odbiorcy dla addCallback, które akceptuje lamdbę z implementacją handleOnBackPressed() i ma dostęp do isEnabled i remove() (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 nowym OnBackPressedDispatcher. Możesz je pobrać za pomocą getOnBackPressedDispatcher(). (Aosp/922523)
  • Metody dodawania nowego elementu OnBackPressedCallback do OnBackPressedDispatcher zwracają teraz obiekt Cancellable, co umożliwia usunięcie wywołania zwrotnego bez konieczności jawnego odniesienia do OnBackPressedDispatcher. (Aosp/922523)
  • Dodanie elementu OnBackPressedCallback z powiązanym elementem LifecycleOwner powoduje teraz dodanie i usunięcie elementu OnBackPressedCallback 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-alpha04i 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życia setContentView(). (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łu activity-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 przez addOnBackPressedCallback 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 pobierania ViewModel z: ComponentActivity.
  • Oczekujące zdarzenia wejściowe (np. kliknięcia) są teraz anulowane w usłudze onStop().

Zmiany interfejsu API

  • Implementacja LifecycleOwner i ViewModelStoreOwner została przeniesiono z jednostki organizacyjnej FragmentActivity do jednostki organizacyjnej ComponentActivity.
  • Usługa onRetainCustomNonConfigurationInstance została wycofana. Użyj ViewModel do przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.