Aktywność

Uzyskaj dostęp do interfejsów API, które można łączyć i które zostały utworzone na podstawie interfejsu Activity.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
13 listopada 2024 r. 1.9.3 - 1.10.0-beta01 -

Deklarowanie zależności

Aby dodać zależność od Activity, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    def activity_version = "1.9.2"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Kotlin

dependencies {
    val activity_version = "1.9.2"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.10

Wersja 1.10.0-beta01

13 listopada 2024 r.

Usługi androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01 i androidx.activity:activity-ktx:1.10.0-beta01 są dostępne bez zmian od ostatniej wersji alfa. Wersja 1.10.0-beta01 zawiera te komity.

Wersja 1.10.0-alpha03

30 października 2024 r.

Funkcje androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03androidx.activity:activity-ktx:1.10.0-alpha03 są dostępne. Wersja 1.10.0-alpha03 zawiera te komity.

Zmiany w interfejsie API

  • Dodano nową lokalną kompozycję LocalActivity, która zapewnia Activity dla bieżącego zakresu, dzięki czemu deweloperzy nie muszą już pobierać Activity z poziomu LocalContext. Zawiera on też nową regułę lint, która sprawdza, czy LocalContext jest nieprawidłowo przypisywane do Activity. (I7746a, b/283009666)

Poprawki błędów

  • Aktywności 1.9.3: PredictiveBackHandler nie będzie już wywoływać funkcji wywołania zwrotnego po wyłączeniu modułu obsługi. Rozwiąza to problem, w którym NavHost z komponentu Nawigacja powodował błąd IndexOutOfBoundsException. (I3f75e, b/365027664, b/340202286)

Aktualizacja zależności

Wersja 1.10.0-alpha02

4 września 2024 r.

Funkcje androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02androidx.activity:activity-ktx:1.10.0-alpha02 są dostępne. Wersja 1.10.0-alpha02 zawiera te komisy.

Zmiany w zachowaniu

  • Umowy dotyczące wyniku działania PickVisualMediaPickMultipleVisualMedia, które uruchamiają selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć systemu jest niedostępny. Zamiast tego używają publicznego działania ACTION_SYSTEM_FALLBACK_PICK_IMAGES i powiązanych dodatków, aby zapewnić spójne działanie selektora zdjęć dla OEM-ów i aplikacji systemowych. Nie powinno to mieć wpływu na działanie aplikacji na urządzeniach z najnowszą wersją Usług Google Play. (I3513d)

Poprawki błędów

  • Usunięto ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz dla wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszego (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (I9496c, b/345472586)
  • Activity Compose 1.9.2: rozwiązaliśmy problem, który powodował, że interfejs API Activity Compose PredictiveBackHandler nadal obsługiwał gest cofnięcia systemu w ramce, w której był wyłączony. Mogło to spowodować, że biblioteki takie jak Navigation Compose obsługiwałyby cofnięcie nawet przy pustym stosie cofnięcia, co powodowałoby IndexOutOfBoundsException. (Ie3301, b/340202286)
  • Z Aktywności 1.9.1: rozwiązaliśmy problem z PredictiveBackHandler, który powodował, że po przywróceniu systemu próba wykonania czynności onBackPressed z OnBackPressedDispatcher kończyła się niepowodzeniem. (I5f1f8)

Wersja 1.10.0-alpha01

26 czerwca 2024 r.

Funkcje androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01androidx.activity:activity-ktx:1.10.0-alpha01 są dostępne. Ta wersja jest opracowywana w gałęzi wewnętrznej.

Nowe funkcje

  • Dodano obsługę nowych funkcji PhotoPicker wprowadzonych w Androidzie V, w tym możliwość wybierania zdjęć w kolejności i wybierania karty (albumów lub zdjęć), która ma być widoczna na początku.

Wersja 1.9

Wersja 1.9.3

16 października 2024 r.

Funkcje androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3androidx.activity:activity-ktx:1.9.3 są dostępne. Wersja 1.9.3 zawiera te komitowane zmiany.

Poprawki błędów

  • Po wyłączeniu obsługi funkcja PredictiveBackHandler nie będzie już wywoływać funkcji zwrotnej. Rozwiąza to problem, w którym NavHost z komponentu Nawigacja powodował błąd IndexOutOfBoundsException. (I3f75e, b/340202286)

Wersja 1.9.2

4 września 2024 r.

Funkcje androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2androidx.activity:activity-ktx:1.9.2 są dostępne. Wersja 1.9.2 zawiera te commity lthco.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że interfejs API Activity Compose PredictiveBackHandler nadal obsługiwał gest wstecz systemu w ramce, w której był wyłączony. Mogło to spowodować, że biblioteki takie jak Navigation Compose obsługiwałyby gest wstecz nawet przy pustym stosie wstecz, co prowadziło do IndexOutOfBoundsException. (Ie3301, b/340202286)

Wersja 1.9.1

24 lipca 2024 r.

Funkcje androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1androidx.activity:activity-ktx:1.9.1 są dostępne. Wersja 1.9.1 zawiera te komity.

Poprawki błędów

  • Rozwiązaliśmy problem z PredictiveBackHandler, który powodował, że po przywróceniu systemu próba wykonania onBackPressed z OnBackPressedDispatcher kończyła się niepowodzeniem. (I5f1f8)

Wersja 1.9.0

17 kwietnia 2024 r.

Funkcje androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0androidx.activity:activity-ktx:1.9.0 są dostępne. Wersja 1.9.0 zawiera te komisy.

Ważne zmiany od wersji 1.8.0

  • ComponentActivity implementuje teraz OnUserLeaveHintProvider, aby umożliwić komponentom wywołania zwrotne dla zdarzeń onUserLeaveHint.
  • Interfejsy API OnBackPressedCallback, BackHandlerPredictiveBackHandler wyświetlają teraz ostrzeżenie podczas wywoływania onBackPressedDispatcher.onBackPressed() podczas obsługi wywołania wstecz, ponieważ zawsze powoduje to błąd animacji przewidywanego przejścia wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach.
  • Pozostałe interfejsy Activity API zostały przepisane w języku Kotlin, a wszystkie rozszerzenia dostępne wcześniej w activity-ktx zostały przeniesione do activity. activity-ktx jest teraz całkowicie pusty.
    • W ramach konwersji ActivityResultLauncher na Kotlina metoda getContract jest teraz abstrakcyjną właściwością Kotlina. Jest to zmiana zgodna z binarnymi formatami danych, ale powoduje przerwanie działania kodu źródłowego, jeśli implementacja ActivityResultLauncher jest napisana w Kotlinie.

Wersja 1.9.0-rc01

3 kwietnia 2024 r.

Funkcje androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01androidx.activity:activity-ktx:1.9.0-rc01 są dostępne. Wersja 1.9.0-rc01 zawiera te komisy.

Aktualizacja zależności

Wersja 1.9.0-beta01

20 marca 2024 r.

Funkcje androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01androidx.activity:activity-ktx:1.9.0-beta01 są dostępne. Wersja 1.9.0-beta01 zawiera te komity.

Poprawki błędów

  • Usunięto regresję wydajności podczas uruchamiania aktywności wprowadzoną w wersji Activity 1.9.0-alpha02, która była spowodowana wywołaniem funkcji OnBackPressedDispatcher w ramach tworzenia aktywności. (Ie75e3)

Wersja 1.9.0-alpha03

7 lutego 2024 r.

Funkcje androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03androidx.activity:activity-ktx:1.9.0-alpha03 są dostępne. Wersja 1.9.0-alpha03 zawiera te commity.

Ostrzeżenie dotyczące błędów w kodzie źródłowym

Poprawki błędów

  • Jeśli zdarzenie wstecz zostanie wysłane z systemu uruchomionego podczas już działającego przewidującego gestu wstecz, aktualnie działający przewidujący gest wstecz zostanie anulowany, a nowe zdarzenie wstecz rozpocznie nowy przewidujący gest wstecz. (I3482e)
  • Usunięto błąd powodujący awarię podczas pierwszego dostępu do onBackPressedDispatcher z poziomu ComponentActivity z wątku w tle. Teraz możesz bezpiecznie korzystać z funkcji onBackPressedDispatcher w dowolnym wątku. (I79955)

Wersja 1.9.0-alpha02

24 stycznia 2024 r.

Funkcje androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02androidx.activity:activity-ktx:1.9.0-alpha02 są dostępne. Wersja 1.9.0-alpha02 zawiera te commity.

Konwersje Kotlina

  • ActivityResultRegistry został przepisany na Kotlin. Dzięki temu puste wartości w umowy przekazane do funkcji register zostaną prawidłowo przekazane do zwracanej funkcji ActivityResultLauncher. (I121f0)
  • ActivityResult został przepisany na Kotlin. Rozszerzenia Kotlina ActivityResult, które obsługują destrukturyzację w polach resultCodedata, zostały przeniesione z activity-ktx do activity. (I0565a)
  • Rozszerzenia Kotlina by viewModels() dla ComponentActivitytrackPipAnimationHintView zostały przeniesione z activity-ktx do activity. Element activity-ktx jest teraz całkowicie pusty. (I0a444)

Poprawki błędów

  • Interfejs API enableEdgeToEdge wyświetla teraz wszystkie wycięcia na ekranie. (a3644b, b/311173461)
  • Z Aktywności 1.8.2: poprawiono dodatkowy element przekazywany do umowy dotyczącej aktywności selektora zdjęć ACTION_SYSTEM_FALLBACK_PICK_IMAGES, aby poprawnie przekazywać klucz EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX zamiast używać dodatku z kluczem "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który implementuje systemowy selektor zdjęć, zalecamy uwzględnienie obu dodatkowych funkcji, aby zapewnić największą zgodność. (I96a00)

Wersja 1.9.0-alpha01

29 listopada 2023 r.

Funkcje androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01androidx.activity:activity-ktx:1.9.0-alpha01 są dostępne. Wersja 1.9.0-alpha01 zawiera te commity.

Nowe funkcje

  • ComponentActivity implementuje teraz OnUserLeaveHintProvider, aby umożliwić komponentom wywołania zwrotne dla zdarzeń onUserLeaveHint. (I54892)

Zmiany w interfejsie API

  • ComponentActivity został przepisany na Kotlin. (I14f31)
  • ActivityResultCaller został przepisany na Kotlin. (Ib02e4)
  • ActivityResultLauncher został przepisany na Kotlin. W ramach tej konwersji metoda getContract jest teraz abstrakcyjną właściwością w Kotlinie. Jest to zmiana zgodna z binarnymi formatami danych, ale powoduje przerwanie działania kodu źródłowego, jeśli implementacja ActivityResultLauncher jest napisana w Kotlinie. (Id4615)
  • Interfejs PickVisualMediaRequest ma teraz ten sam minimalny poziom interfejsu API (19), co interfejs PickVisualMedia w ramach umowy dotyczącej wyniku aktywności. (Id6e21)

Aktualizacja zależności

Wersja 1.8

Wersja 1.8.2

13 grudnia 2023 r.

Funkcje androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2androidx.activity:activity-ktx:1.8.2 są dostępne. Wersja 1.8.2 zawiera te commity.

Poprawki błędów

  • Poprawiono dodatkowy element przekazywany do umowy dotyczącej aktywności selektora zdjęć ACTION_SYSTEM_FALLBACK_PICK_IMAGES, aby poprawnie przekazywać klucz EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX zamiast używać dodatkowego elementu z kluczem "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który implementuje systemowy selektor zdjęć, zalecamy uwzględnienie obu dodatkowych funkcji, aby zapewnić największą zgodność. (I96a00)

Wersja 1.8.1

15 listopada 2023 r.

Funkcje androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1androidx.activity:activity-ktx:1.8.1 są dostępne. Wersja 1.8.1 zawiera te commity.

Poprawki błędów

  • OnBackPressedDispatcher nadal wysyła dane do prawidłowego OnBackPressedCallback nawet po dodaniu nowego OnBackPressedCallback podczas obsługi gestu wstecz. (Id0ff6)

Wersja 1.8.0

4 października 2023 roku

Funkcje androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0androidx.activity:activity-ktx:1.8.0 są dostępne. Wersja 1.8.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.7.0

  • Przewidywanie wstecz – OnBackPressedCallback oferuje teraz nowe wywołania zwrotne przewidywanego przejścia wstecz do obsługi rozpoczęcia, trwania i anulowania gestu wstecz, a także poprzednie wywołanie zwrotne handleOnBackPressed(), gdy gest wstecz jest wykonywany. Dostępna jest też kompozycja PredictiveBackHandler, która obsługuje przewidujące gesty wstecz w komponencie Activity Compose. Zawiera przepływ obiektów BackEventCompat, które muszą zostać zebrane w podwieszonej lambdzie:
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

Właściwość ComponentActivity.onBackPressed() została wycofana na rzecz interfejsów API do obsługi funkcji back. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher zamiast zastępować tę metodę.

  • EdgeToEdge – dodano ComponentActivity.enableEdgeToEdge(), aby ułatwić konfigurowanie wyświetlacza od krawędzi do krawędzi w sposób zgodny ze starszymi wersjami.

Wersja 1.8.0-rc01

20 września 2023 r.

Funkcje androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01androidx.activity:activity-ktx:1.8.0-rc01 są dostępne. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.

Wersja 1.8.0-beta01

6 września 2023 r.

Funkcje androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01androidx.activity:activity-ktx:1.8.0-beta01 są dostępne. Wersja 1.8.0-beta01 zawiera te commity.

Ulepszenie dokumentacji

Wersja 1.8.0-alpha07

23 sierpnia 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07androidx.activity:activity-ktx:1.8.0-alpha07 są dostępne. Wersja 1.8.0-alpha07 zawiera te commity.

Nowe funkcje

  • Do Activity Compose dodano nową kompozycję PredictiveBackHandler, która obsługuje przewidywane zdarzenia gestów wstecz. Zawiera Flow BackEventCompat obiektów, które muszą zostać zebrane w podawanej przez Ciebie lambdzie zawieszania:

    PredictiveBackHandler { progress: Flow<BackEventCompat> ->
      // code for gesture back started
      try {
        progress.collect { backEvent ->
        // code for progress
      }
      // code for completion
      } catch (e: CancellationException) {
        // code for cancellation
      }
    }
    

    Zawiera on też ostrzeżenie wyświetlane w czasie kompilacji za pomocą reguły lint, aby zapewnić wywołania Flow do collect(). (Id2773, b/294884345)

  • Element onBackPressedDispatcher w funkcji ComponentActivity jest teraz inicjowany w sposób leniwy, co oznacza, że jest tworzony tylko wtedy, gdy jest to wymagane. (I0bf8e)

Poprawki błędów

  • ComponentActivity nie będzie już wyświetlać NPE w Androidzie 13, gdy otrzyma wywołanie zwrotne onBackPressed(), a Activity została już DESTROYED. (Idb055, b/291869278)
  • Usunięto użycie eksperymentalnego interfejsu API isAtLeastU() (Ie9117, b/289269026)

Wersja 1.8.0-alpha06

21 czerwca 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06androidx.activity:activity-ktx:1.8.0-alpha06 są dostępne. Wersja 1.8.0-alpha06 zawiera te commity.

Nowe funkcje

  • Funkcja OnBackPressedDispatcher prawidłowo anuluje wszystkie wywołania zwrotne, które zostały usunięte podczas przewidywania gestów wstecz. (I3f90f)

Zmiany w interfejsie API

  • Podczas przekazywania SystemBarStyle.auto do interfejsu API enableEdgeToEdge możesz teraz zastąpić parametr lambda detectDarkMode, aby podać niestandardową logikę wykrywania trybu nocnego. (aosp/2546393, b/278263793)

Wersja 1.8.0-alpha05

7 czerwca 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05androidx.activity:activity-ktx:1.8.0-alpha05 są dostępne. Ta wersja jest opracowywana w gałęzi wewnętrznej.

Zmiany w interfejsie API

  • Aktywność zawiera teraz klasę BackEventCompat, która jest zgodna wstecznie z klasą BackEvent, ale nie jest powiązana z klasą BackEvent w ramach frameworku.
  • Zmiany powodujące przerwanie zgodności: metody handleOnBackStartedhandleOnBackProgressed klasy OnBackPressedCallback przyjmują teraz instancję androidx.activity.BackEventCompat, a nie klasę android.window.BackEvent z ramy. Zaktualizowaliśmy też odpowiadające im interfejsy API @VisibleForTesting w usłudze OnBackPressedDispatcher.
  • Konstruktor OnBackPressedDispatcher przyjmuje teraz opcjonalny obiekt Consumer<Boolean>, który pozwala właścicielom rozsyłacza otrzymywać wywołania zwrotne, gdy liczba włączonych wywołań zwrotnych zmieni się z zera na niezerową lub odwrotnie.

Poprawki błędów

Wersja 1.8.0-alpha04

10 maja 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04androidx.activity:activity-ktx:1.8.0-alpha04 są dostępne. Ta wersja została opublikowana z gałęzi wewnętrznej.

Poprawki błędów

  • W wersji 1.7.1: – ReportFullyDrawExecuter nie wycieka już podczas korzystania z funkcji ComponentActivity w ramach ActivityScenario. (Id2ff2, b/277434271)

Wersja 1.8.0-alpha03

12 kwietnia 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03androidx.activity:activity-ktx:1.8.0-alpha03 są dostępne. Ta wersja została opublikowana z gałęzi wewnętrznej.

Nowe funkcje

  • Dodano ComponentActivity.setUpEdgeToEdge(), aby ułatwić konfigurowanie wyświetlacza od krawędzi do krawędzi w sposób zgodny ze starszymi wersjami.

Zmiany w interfejsie API

  • Właściwość ComponentActivity.onBackPressed() została wycofana na rzecz interfejsów API do obsługi funkcji back. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher zamiast zastępować tę metodę. (Ibce2f, b/271596918)
  • Funkcje ComponentDialogComponentActivity zawierają teraz publiczny interfejs API initViewTreeOwners(), który służy do inicjowania wszystkich właścicieli drzewa widoku przed ustawieniem widoku treści. (Ibdce0, b/261314581)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że fragmenty nieprawidłowo unieważniały obiekty MenuHost i wywoływały nieoczekiwane działanie innych menu w działalności. (I9404e, b/244336571)

Inne zmiany

  • ActivityResultRegister używa teraz Kotlina Random zamiast Javy. (I4d98f, b/272096025)

Wersja 1.8.0-alpha02

8 marca 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02androidx.activity:activity-ktx:1.8.0-alpha02 są dostępne. Opracowana na podstawie gałęzi wewnętrznej.

Aktualizacja zależności

Wersja 1.8.0-alpha01

8 lutego 2023 r.

Funkcje androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01androidx.activity:activity-ktx:1.8.0-alpha01 są dostępne. Ta wersja została utworzona na podstawie gałęzi wewnętrznej.

Nowe funkcje

  • Klasa OnBackPressedCallback zawiera teraz nowe wywołania zwrotne postępu przewidywanego wstecznego przejścia do obsługi rozpoczęcia gestu wstecznego, postępu gestu wstecznego i anulowania gestu wstecznego, oprócz poprzedniego wywołania zwrotnego handleOnBackPressed(), gdy gest wsteczny jest wykonywany.

Wersja 1.7

Wersja 1.7.2

24 maja 2023 r.

Funkcje androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2androidx.activity:activity-ktx:1.7.2 są dostępne. Wersja 1.7.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd powodujący zamykanie się ReportDrawn podczas przechodzenia na inny ekran przed wywołaniem funkcji report. (Ic46f1, b/260506820)

Wersja 1.7.1

19 kwietnia 2023 r.

Funkcje androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1androidx.activity:activity-ktx:1.7.1 są dostępne. Wersja 1.7.1 zawiera te zatwierdzenia.

Poprawki błędów

  • ReportFullyDrawExecuter nie wycieka już podczas korzystania z ComponentActivity w kontekście ActivityScenario. (Id2ff2, b/277434271)

Wersja 1.7.0

22 marca 2023 r.

Funkcje androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0androidx.activity:activity-ktx:1.7.0 są dostępne. Wersja 1.7.0 zawiera te commity.

Ważne zmiany od wersji 1.6.0

  • Umowy dotyczące aktywności selektora zdjęć w PickVisualMediaPickMultipleVisualMedia zostały zaktualizowane, aby zawierać dodatkowy mechanizm zastępczy na wypadek, gdy MediaStore.ACTION_PICK_IMAGES jest niedostępny. Umożliwia to producentom urządzeń i aplikacjom systemowym, takim jak usługi Google Play, zapewnienie spójnego działania selektora zdjęć na szerszym zakresie urządzeń z Androidem i poziomów interfejsu API poprzez implementację działania zastępczego. Selektor zdjęć będzie używać tego rozwiązania, jeśli będzie ono dostępne, a dopiero potem przejdzie do Intent.ACTION_OPEN_DOCUMENT, które nadal obsługuje wszystkie urządzenia z poziomem interfejsu API 19 lub nowszym.
  • ComponentDialog wdraża teraz SavedStateRegistryOwner, ma dostęp do własnego SavedStateRegistry i ustawia SavedStateRegistryOwner dla ViewTree. Teraz można używać Jetpack Compose w ramach ComponentDialog, ponieważ spełnia on wymagania interfejsów API LifecycleOwnerSavedStateRegistryOwner przypisane do okna.ViewTree
  • IntentSenderRequest.Builder.setFlags() umożliwia teraz ustawienie wielu flag z Intent, a nie tylko jednej.

Kotlin Conversion

Niektóre klasy Activity zostały przekonwertowane na Kotlin. Wszystkie przekonwertowane klasy nadal zachowują zgodność binarną z poprzednimi wersjami. W klasach napisanych w języku Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner wprowadzono zmiany, które nie są zgodne ze źródłem.

Tabela poniżej zawiera źródła konwersji w nowej wersji Aktywności:

Aktywność 1.5 Aktywność 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

Te klasy zostały również przekonwertowane na Kotlin, ale pozostają zgodne ze źródłem: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequestOnBackPressedDispatcher

Interfejsy API FullyDrawnReporter

ComponentActivity udostępnia teraz instancję FullyDrawnReporter, która umożliwia wielu komponentom zgłaszanie, kiedy są gotowe do interakcji. ComponentActivity zaczeka, aż wszystkie komponenty wykonają swoje zadania, a potem wywoła funkcję reportFullyDrawn() w Twoim imieniu. Te interfejsy API dbają o spełnianie wymagań dotyczących czasu i nie muszą być wywoływane w ramach wywołania onDraw.

Zalecamy włączyć te interfejsy API:

  • Informowanie środowiska uruchomieniowego Androidu o zakończeniu uruchamiania, aby zapewnić, że cały kod uruchomiony podczas sekwencji uruchamiania obejmującej wiele klatek zostanie uwzględniony i uwzględniony w kompilacji w tle.
  • sygnalizacja Macrobenchmark i Play Vitals, gdy aplikacja powinna być uważana za w pełni zainicjowaną pod kątem danych dotyczących uruchamiania, aby można było śledzić wydajność;

Dodano 3 interfejsy Activity Compose, aby ułatwić korzystanie z funkcji FullyDrawnReporter w poszczególnych składach:

  • ReportDrawn oznacza, że komponent jest gotowy do interakcji.
  • ReportDrawnWhen przyjmuje predykat (czyli list.count > 0), aby wskazać, kiedy komponent jest gotowy do interakcji.
  • ReportDrawnAfter przyjmuje zawieszoną metodę, która po zakończeniu wskazuje, że jesteś gotowy do interakcji.

Aktualizacje zależności

Wersja 1.7.0-rc01

8 marca 2023 r.

Funkcje androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01androidx.activity:activity-ktx:1.7.0-rc01 są dostępne. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.

Aktualizacja zależności

Wersja 1.7.0-beta02

22 lutego 2023 roku

Funkcje androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02androidx.activity:activity-ktx:1.7.0-beta02 są dostępne. Wersja 1.7.0-beta02 zawiera te commity.

Zmiany w interfejsie API

  • Działanie i dodatkowe informacje używane przez kontrakty PickVisualMediaPickMultipleVisualMedia jako alternatywne rozwiązanie, gdy MediaStore.ACTION_PICK_IMAGES jest niedostępny, są teraz publicznymi stałymi, które zapewniają stabilność interfejsu API dla OEM-ów i aplikacji systemowych, które chcą zapewnić spójne działanie selektora zdjęć. Wdrożenie tego rozwiązania jest nadal ograniczone tylko do aplikacji systemowych. (Icd320)

Wersja 1.7.0-beta01

8 lutego 2023 r.

Funkcje androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01androidx.activity:activity-ktx:1.7.0-beta01 są dostępne. Wersja 1.7.0-beta01 zawiera te commity.

Nowe funkcje

  • IntentSenderRequest.Builder.setFlags() umożliwia teraz ustawienie wielu flag z Intent, a nie tylko jednej. (Iac04c)

Poprawki błędów

  • Wartość domyślna dla PickVisualMedia, gdy framework Photo Picker jest niedostępny, teraz prawidłowo ogranicza obsługę do aplikacji zainstalowanych w obrazie systemu urządzenia. (If8ae6)

Konwersje Kotlina

  • ActivityResultRegistryOwner jest teraz napisany w języku Kotlin. Jest to zmian niekompatybilna ze źródłem w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwość activityResultRegistry zamiast stosować poprzednią funkcję getActivityResultRegistry(). (I0b00e)
  • OnBackPressedDispatcherOwner jest teraz napisany w języku Kotlin. Jest to zmian niekompatybilna ze źródłem w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwość onBackPressedDispatcher zamiast stosować poprzednią funkcję getOnBackPressedDispatcher. (Ia277d)
  • Funkcje ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequestOnBackPressedDispatcher są teraz napisane w języku Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)

Wersja 1.7.0-alpha04

25 stycznia 2023 r.

Funkcje androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04androidx.activity:activity-ktx:1.7.0-alpha04 są dostępne. Wersja 1.7.0-alpha04 zawiera te commity.

Nowe funkcje

  • Umowy dotyczące wyniku działania PickVisualMediaPickMultipleVisualMedia będą teraz używać selektora zdjęć udostępnianego przez usługi Google Play, jeśli jest on dostępny, w przypadkach, gdy system Android udostępnia selektor zdjęć (np. MediaStore.ACTION_PICK_IMAGES) jest niedostępna. Interfejs isPhotoPickerAvailable() API, który wykrywa tylko selektor zdjęć dostarczony przez system Android, został wycofany. Zalecamy użycie nowego interfejsu API isPhotoPickerAvailable(Context), który zwróci wartość, jeśli którykolwiek z interfejsów Photo Picker jest dostępny. (I55be6)

Wersja 1.7.0-alpha03

11 stycznia 2023 r.

Funkcje androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03androidx.activity:activity-ktx:1.7.0-alpha03 są dostępne. Wersja 1.7.0-alpha03 zawiera te commity.

Nowe funkcje

  • ComponentDialog implementuje teraz SavedStateRegistryOwner, ma dostęp do własnego SavedStateRegistry i ustawia SavedStateRegistryOwner dla swojej struktury ViewTree. Teraz możesz używać Jetpack Compose w komponencie ComponentDialog, ponieważ spełnia on wymagania LifecycleOwnerSavedStateRegistryOwner związane z oknem w ramach interfejsów API ViewTree. (Idca17, I73468 b/261162296)

Zmiany w interfejsie API

  • Dodano kompozyt ReportDrawn, który natychmiast oznacza aktywność jako gotową do wywołania reportFullyDrawn. (Ic5b14, b/259687964)

Konwersje Kotlina

  • Klasy ActvitiyResultCallbackOnBackPressedCallback zostały przekonwertowane na Kotlina przy zachowaniu zgodności z źródłem i binarnymi plikami binarnymi. (Ifc5e5, Ide1b0, b/257291701)

Wersja 1.7.0-alpha02

24 października 2022 r.

Funkcje androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02androidx.activity:activity-ktx:1.7.0-alpha02 są dostępne. Wersja 1.7.0-alpha02 zawiera te commity.

Poprawki błędów

  • W ramach Aktywności 1.6.1: rozwiązaliśmy problem z kontraktem PickMultipleVisualMedia Activity Result, który nie uruchamiał się na urządzeniach z Androidem R, gdy używano wartości domyślnej dla maxItems. (Ie2776, b/249182130)

Wersja 1.7.0-alpha01

5 października 2022 r.

Funkcje androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01androidx.activity:activity-ktx:1.7.0-alpha01 są dostępne. Wersja 1.7.0-alpha01 zawiera te commity.

Interfejsy API FullyDrawnReporter

ComponentActivity udostępnia teraz instancję FullyDrawnReporter, która umożliwia wielu komponentom zgłaszanie, kiedy są gotowe do interakcji. ComponentActivity zaczeka, aż wszystkie komponenty wykonają swoje zadania, a potem wywoła funkcję reportFullyDrawn() w Twoim imieniu. Te interfejsy API dbają o spełnianie wymagań dotyczących czasu i nie muszą być wywoływane w ramach wywołania onDraw.

Zalecamy włączyć te interfejsy API:

  • Informowanie środowiska uruchomieniowego Androidu o zakończeniu uruchamiania, aby zapewnić, że cały kod uruchomiony podczas sekwencji uruchamiania obejmującej wiele klatek zostanie uwzględniony i uwzględniony w kompilacji w tle.
  • sygnalizacja Macrobenchmark i Play Vitals, gdy aplikacja powinna być uważana za w pełni zainicjowaną pod kątem danych dotyczących uruchamiania, aby można było śledzić wydajność;

Dodano 2 interfejsy Activity Compose, aby ułatwić korzystanie z elementu FullyDrawnReporter w poszczególnych składanych komponentach:

  • ReportDrawnWhen przyjmuje predykat (czyli list.count > 0), aby wskazać, kiedy komponent jest gotowy do interakcji.
  • ReportDrawnAfter przyjmuje zawieszoną metodę, która po zakończeniu wskazuje, że jesteś gotowy do interakcji.

Wersja 1.6.1

Wersja 1.6.1

24 października 2022 r.

Funkcje androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1androidx.activity:activity-ktx:1.6.1 są dostępne. Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem z kontraktem PickMultipleVisualMedia ActivityResult, który nie uruchamiał się na urządzeniach z Androidem R, gdy używano wartości domyślnej dla maxItems. (Ie2776, b/249182130)

Wersja 1.6.0

Wersja 1.6.0

21 września 2022 r.

Funkcje androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0androidx.activity:activity-ktx:1.6.0 są dostępne. Wersja 1.6.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.5.0

  • Dodano ActivityResultContracts.PickVisualMediaActivityResultContracts.PickMultipleVisualMedia, aby zapewnić zgodność wsteczną umowy, która używa MediaStore.ACTION_PICK_IMAGES, gdy funkcja Selektor zdjęć jest dostępna, i Intent.ACTION_OPEN_DOCUMENT, gdy nie jest dostępna.
  • Zintegrowano OnBackInvokedCallback w Androidzie 13 z OnBackPressedDispatchers udostępnianym przez ComponentActivityComponentDialog. Dzięki temu wszystkie interfejsy API utworzone na podstawie interfejsu OnBackPressedDispatcher będą działać po włączeniu gestu przewidującego wstecz.

Wersja 1.6.0-rc02

7 września 2022 roku

Funkcje androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02androidx.activity:activity-ktx:1.6.0-rc02 są dostępne. Wersja 1.6.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • OnBackPressedDispatcher rejestruje teraz OnBackInvokedCallbackPRIORITY_DEFAULT zamiast PRIORITY_OVERLAY. (I3901f)
  • Klasy rozszerzające klasę ComponentActivity będą teraz zawsze wywoływać obie funkcje onMultiWindowModeChanged(). (Ic4d85)
  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie launch zwróci wartość Exception, a wywołanie zwrotne zostało zarejestrowane bez parametru 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.

Funkcje androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01androidx.activity:activity-ktx:1.6.0-rc01 są dostępne. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Inicjowanie OnBackPressedDispatcher nie spowoduje już ClassVerificationError w przypadku wersji pakietu SDK starszych niż 33. (Ic32e1)
  • Klasy, które zastępują wywołanie zwrotne ComponentActivity onPictureInPictureModeChanged(), będą teraz zawsze wysyłać wywołania zwrotne. (Ib7fdb)

Wersja 1.6.0-beta01

10 sierpnia 2022 r.

Funkcje androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01androidx.activity:activity-ktx:1.6.0-beta01 są dostępne. Wersja 1.6.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Oznaczyliśmy wycofane metody startActivityForResultstartIntentSenderForResultComponentActivity jako @NonNull, ponieważ przekazywanie argumentu null zawsze kończyło się awarią. (Id2a25, b/231476082)

Poprawki błędów

  • Aktywności 1.5.1: metoda ActivityResultRegistry nie będzie już zwracać wyniku do metody ActivityResultCallback, gdy wywołanie launch zwróci wartość Exception, a wywołanie zwrotne zostało zarejestrowane bez parametru LifecycleOwner. (Ia7ff7, b/238350794)
  • Aktywność 1.5.1: ComponentActivity będzie teraz prawidłowo wysyłać wywołania menu do onPrepareOptionMenu(), onCreateOptionsMenu()onOptionsItemSelected() bez potrzeby wywoływania superfunkcji. (Ie33c5, b/238057118)

Aktualizacja zależności

Wersja 1.6.0-alpha05

15 czerwca 2022 r.

Funkcje androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05androidx.activity:activity-ktx:1.6.0-alpha05 są dostępne. Wersja 1.6.0-alpha05 została opracowana w ramach prywatnej gałęzi wstępnej wersji i nie zawiera publicznych zatwierdzeń.

Zmiany w interfejsie API

  • minCompileSdk to teraz 33, aby dopasować go do pakietu SDK Tiramisu w wersji beta 3.

Poprawki błędów

  • Naprawiono błąd awarii na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK w przypadku PickVisualMedia ActivityResultContract, aby ACTION_OPEN_DOCUMENT działało na urządzeniach z Androidem 10 lub niższym.

Wersja 1.6.0-alpha04

18 maja 2022 r.

androidx.activity:activity:1.6.0-alpha04androidx.activity:activity-ktx:1.6.0-alpha04 są dostępne.

Poprawki błędów

  • Usunięto błąd w funkcji PickVisualMediaRequest, który powodował, że próba utworzenia żądania za pomocą narzędzia Builder lub funkcji Kotlin na najwyższym poziomie powodowała przepełnienie stosu.
  • Zintegrowano OnBackInvokedCallback w Androidzie 13 Dev Beta 2 z OnBackPressedDispatcher udostępnionym przez ComponentDialog. Dzięki temu wszystkie interfejsy API utworzone na podstawie interfejsu OnBackPressedDispatcher będą działać po włączeniu przewidującego gestu wstecz.

Wersja 1.6.0-alpha03

27 kwietnia 2022 r.

Funkcje androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03androidx.activity:activity-ktx:1.6.0-alpha03 są dostępne.

  • Uwaga: ta wersja będzie kompilowana tylko z pakietem SDK Androida 13 w wersji beta dla deweloperów 1.

Nowe funkcje

  • Dodano ActivityResultContracts.PickVisualMediaActivityResultContracts.PickMultipleVisualMedia, aby zapewnić zgodność wsteczną umowy, która używa MediaStore.ACTION_PICK_IMAGES, gdy funkcja Selektor zdjęć jest dostępna, i Intent.ACTION_OPEN_DOCUMENT, gdy nie jest dostępna.
  • Zintegrowano OnBackInvokedCallback w Androidzie 13 Dev Beta 1 z OnBackPressedDispatcher udostępnianym przez ComponentActivity. Dzięki temu wszystkie interfejsy API utworzone na podstawie interfejsu OnBackPressedDispatcher będą działać po włączeniu przewidującego gestu wstecz.

Wersja 1.6.0-alpha01

23 marca 2022 r.

Funkcje androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01androidx.activity:activity-ktx:1.6.0-alpha01 są dostępne.

  • Uwaga: ta wersja zostanie skompilowana tylko z pakietem SDK Androida 13 w ramach wersji dla deweloperów 2.

Nowe funkcje

  • Zintegrowano zmiany z Androida 13 Dev Preview 2 w ComponentActivity.

Wersja 1.5.1

Wersja 1.5.1

27 lipca 2022 roku

Funkcje androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1androidx.activity:activity-ktx:1.5.1 są dostępne. Wersja 1.5.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie launch() zwróci wartość Exception, a wywołanie zwrotne zostało zarejestrowane bez parametru LifecycleOwner. (Ia7ff7, b/238350794)

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

Aktualizacja zależności

Wersja 1.5.0

Wersja 1.5.0

29 czerwca 2022 r.

Funkcje androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0androidx.activity:activity-ktx:1.5.0 są dostępne. Wersja 1.5.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.4.0

  • ComponentDialogComponentDialog jest podklasą Dialog, która zawiera OnBackPressedDispatcher, wywoływany po naciśnięciu przycisku Wstecz systemu i wyświetleniu okna dialogowego. Co ważne, ta podklasa ustawia też ViewTreeOnBackPressedDispatcherOwner, co umożliwia widokom ogólny sposób pobierania prawidłowego rozsyłacza, niezależnie od tego, czy istnieje on w ComponentActivity, czy w ComponentDialog.
  • Interfejsy wywołań zwrotnych – ComponentActivity implementuje teraz zestaw modułowych interfejsów wywołań zwrotnych, które można używać zamiast wywołań zwrotnych Activity. Te interfejsy to: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider.
  • Integracja z CreationExtrasComponentActivity może teraz udostępniać bezstanową ViewModelProvider.Factory za pomocą CreationExtras w Lifecycle 2.5.0.

Inne zmiany

  • Konstruktor ActivityResultContracts.CreateDocument bez parametrów został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ mime (np. „image/png”), zgodnie z wymaganiami interfejsu Intent.ACTION_CREATE_DOCUMENT.

Wersja 1.5.0-rc01

11 maja 2022 roku

androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 i androidx.activity:activity-ktx:1.5.0-rc01 są publikowane bez zmian w stosunku do wersji 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te commity.

Wersja 1.5.0-beta01

20 kwietnia 2022 r.

Funkcje androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01androidx.activity:activity-ktx:1.5.0-beta01 są dostępne. Wersja 1.5.0-beta01 zawiera te commity.

Aktualizacje zależności

Wersja 1.5.0-alpha05

6 kwietnia 2022 roku

Funkcje androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05androidx.activity:activity-ktx:1.5.0-alpha05 są dostępne. Wersja 1.5.0-alpha05 zawiera te commity.

Poprawki błędów

  • Metoda ComponentActivity w klasie ComponentActivity wywołuje teraz też metodę super onPanelClosed(), co rozwiązuje problem polegający na tym, że metoda onContextMenuClosed nie była wywoływana.onPanelClosed() (Ib6f77)

Wersja 1.5.0-alpha04

23 marca 2022 r.

Funkcje androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04androidx.activity:activity-ktx:1.5.0-alpha04 są dostępne. Wersja 1.5.0-alpha04 zawiera te commity.

Poprawki błędów

  • SavedStateViewFactory obsługuje teraz CreationExtras nawet wtedy, gdy został on zainicjowany za pomocą SavedStateRegistryOwner. Jeśli podano dodatkowe argumenty, argumenty zainicjowane są ignorowane. (I6c43b, b/224844583)

Wersja 1.5.0-alpha03

23 lutego 2022 r.

Funkcje androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03androidx.activity:activity-ktx:1.5.0-alpha03 są dostępne. Wersja 1.5.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • Teraz możesz przekazywać parametr CreationExtras do funkcji aktywności by viewModels() (I6a3e6, b/217600303)

Wersja 1.5.0-alpha02

9 lutego 2022 r.

Funkcje androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02androidx.activity:activity-ktx:1.5.0-alpha02 są dostępne. Wersja 1.5.0-alpha02 zawiera te commity.

Nowe funkcje

  • ComponentActivity implementuje teraz interfejs OnPictureInPictureModeChangedProvider, aby umożliwić dowolnemu komponentowi odbiór zdarzeń zmiany trybu obrazu w obrazie. (I9f567)
  • ComponentActivity implementuje teraz interfejs OnMultiWindowModeChangedProvider, aby umożliwić dowolnemu komponentowi otrzymywanie zdarzeń zmiany trybu wielookiennego. (I62d91)

Wersja 1.5.0-alpha01

26 stycznia 2022 r.

Funkcje androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01androidx.activity:activity-ktx:1.5.0-alpha01 są dostępne. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • ComponentActivity jest teraz zintegrowany z dodatkami do tworzenia widoku modelu, które zostały wprowadzone w ramach cyklu życia 2.5.0-alpha01. (Ie7e00, b/207012584)
  • Dodano klasę podrzędną ComponentDialog klasy Dialog, która zawiera metodę OnBackPressedDispatcher, która zostanie wywołana po naciśnięciu przycisku Wstecz w systemie, gdy okno dialogowe jest widoczne. Co ważne, ta podklasa ustawia też zmienną ViewTreeOnBackPressedDispatcherOwner, co umożliwia widokom ogólny sposób pobierania odpowiedniego modułu przekierowującego, niezależnie od tego, czy znajduje się on w klasie ComponentActivity, czy ComponentDialog. (I8a1bc)
  • ComponentActivity korzysta teraz z nowego interfejsu OnNewIntentProvider, aby umożliwić dowolnemu komponentowi odbiór tych zdarzeń. (If1f8b)
  • ComponentActivity korzysta teraz z nowego interfejsu OnConfigurationChangedProvider, aby umożliwić dowolnemu komponentowi odbiór tych zdarzeń. (If623b)
  • ComponentActivity wdraża teraz nowy interfejs OnTrimMemoryProvider, aby umożliwić wszystkim komponentom odbiór tych zdarzeń. (Ia9295)

Zmiany w interfejsie API

  • Konstruktor ActivityResultContracts.CreateDocument bez parametrów został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ mime (np. "image/png") zgodnie z wymaganiami Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • OnBackPressedDispatcherOwnerpowiązany z widokiem może teraz zostać pobrany za pomocą ViewTreeOnBackPressedDispatcherOwner, zamiast polegać na przesyłaniu Context. (I74685)

Poprawki błędów

  • Usunięto błąd powodujący awarię podczas pierwszego dostępu do obiektu ViewModel z poziomu funkcji wywołania zwrotnego registerForActivityResult() lub funkcji wywołania zwrotnego LifecycleObserver dodanych w ramach init obiektu ComponentActivity. (Ife83f)

Wersja 1.4.0

Wersja 1.4.0

27 października 2021 roku

Funkcje androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0androidx.activity:activity-ktx:1.4.0 są dostępne. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.3.0

  • AndroidX ComponentActivity implementuje teraz interfejs MenuHost. Dzięki temu każdy komponent może dodawać pozycje menu do ActionBar, dodając do aktywności instancję MenuProvider. Każdy element MenuProvider może być opcjonalnie dodany z elementem Lifecycle, który automatycznie steruje widocznością tych elementów menu na podstawie stanu Lifecycle i zajmuje się usuwaniem elementu MenuProvider po usunięciu elementu Lifecycle.
  • Klasa ActivityResultContract została przepisana w języku Kotlin, aby umożliwić deweloperom piszącym niestandardowe kontrakty w języku Kotlin zdefiniowanie prawidłowej możliwości wystąpienia wartości dla klas wejściowych i wyjściowych.
  • Klasa ActivityResultContracts i jej kontrakty zostały przepisane w języku Kotlin, aby zapewnić prawidłową wartość null.

Wersja 1.4.0-rc01

13 października 2021 r.

Funkcje androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01androidx.activity:activity-ktx:1.4.0-rc01 są dostępne. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie launch zwróci wartość Exception. (If4f91, b/200845664)

Wersja 1.4.0-beta01

29 września 2021 r.

Funkcje androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01androidx.activity:activity-ktx:1.4.0-beta01 są dostępne. Wersja 1.4.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Naprawiono typ zmiennych ActivityResultContracts.OpenMultipleDocuments i ActivityResultContracts.GetMultipleContents, który powodował używanie typu danych List<? extends Uri> podczas korzystania z kodu w języku programowania Java. (If71de)
  • Publiczne stałe w klasach ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResultActivityResultContracts.RequestMultiplePermissions są teraz dostępne w Kotlinie za pomocą publicznych obiektów Companion. (aosp/1832555)

Aktualizacje dokumentacji

  • Komunikat o wycofaniu interfejsów API, które są teraz obsługiwane przez interfejsy Activity API (startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions i onRequestPermissionsResult), został rozszerzony o więcej szczegółów. (cce80f)

Wersja 1.4.0-alpha02

15 września 2021 r.

Funkcje androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02androidx.activity:activity-ktx:1.4.0-alpha02 są dostępne. Wersja 1.4.0-alpha02 zawiera te commity.

Nowe funkcje

Zmiany w interfejsie API

  • Klasa ActivityResultContract została przepisana w języku Kotlin, aby umożliwić deweloperom pisanie niestandardowych kontraktów w tym języku z możliwością zdefiniowania poprawnej opcji null dla klas wejściowych i wyjściowych. (I8a8f5)
  • Klasa ActivityResultContracts i jej kontrakty zostały przepisane w Kotlinie, aby zapewnić prawidłową wartość null. (I69802)

Wersja 1.4.0-alpha01

1 września 2021 roku

Funkcje androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01androidx.activity:activity-ktx:1.4.0-alpha01 są dostępne. Wersja 1.4.0-alpha01 zawiera te commity.

Nowe funkcje

  • AndroidX ComponentActivity implementuje teraz interfejs MenuHost. Dzięki temu każdy komponent może dodawać pozycje menu do ActionBar, dodając do aktywności instancję MenuProvider. Każdy element MenuProvider może być opcjonalnie dodany z elementem Lifecycle, który automatycznie steruje widocznością tych elementów menu na podstawie stanu Lifecycle i zajmuje się usuwaniem elementu MenuProvider po usunięciu 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 zachowaniu

  • Funkcja ActivityResultRegistry będzie teraz wywoływać błąd IllegalStateException, gdy ActivityResultRegistry spróbuje wywołać launch() na ActivityResultLauncher, który nie jest zarejestrowany lub został usunięty z rejestru. (Ida75d, b/192567522)

Darowizna zewnętrzna

  • Dziękujemy użytkownikowi dmitrilc za poprawienie literówki w dokumentacji ActivityResult. (#221)

Wersja 1.3.1

Wersja 1.3.1

4 sierpnia 2021 r.

Funkcje androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1androidx.activity:activity-ktx:1.3.1 są dostępne. Wersja 1.3.1 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Aktywność zależy teraz od Kotlina 1.5.21.
  • Aktywność Compose zależy teraz od Compose 1.0.1.

Wersja 1.3.0

Wersja 1.3.0

28 lipca 2021 roku

Funkcje androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0androidx.activity:activity-ktx:1.3.0 są dostępne. Wersja 1.3.0 zawiera te commity.

Ważne zmiany od wersji 1.2.0

  • Element Compose w aktywności – element activity-compose udostępnia metodę rozszerzenia setContent do hostowania interfejsu użytkownika Jetpack Compose w aktywności oraz specjalne obwody Compose do interakcji z interfejsami API ComponentActivity, które obsługują przycisk Wstecz systemu i interfejsy Activity Result API. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją.
  • Użycie umowy dotyczącej rejestrowania filmów – parametr CaptureVideo ActivityResultContract zastępuje wycofaną umowę TakeVideo i zwraca wartość logiczną oznaczającą sukces, która działa w wielu aplikacjach do obsługi aparatu.
  • Śledzenie podglądu w obrazie – podpowiedź – użytkownicy activity-ktx mogą teraz używać metody rozszerzenia trackPipAnimationHintViewActivity, aby automatycznie odtwarzać PictureInPictureParams z nową pozycją widoku, gdy zmienia się on w stosunku do okna.

Wersja 1.3.0-rc02

14 lipca 2021 roku

Funkcje androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02androidx.activity:activity-ktx:1.3.0-rc02 są dostępne. Wersja 1.3.0-rc02 zawiera te commity.

Poprawki błędów

  • ActivityResultRegistry callbacki są teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są dublowane w savedState. (I97816, b/191893160)

Wersja 1.3.0-rc01

1 lipca 2021 r.

Funkcje androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01androidx.activity:activity-ktx:1.3.0-rc01 są udostępniane bez zmian w porównaniu z wersją 1.3.0-beta02. Wersja 1.3.0-rc01 zawiera te commity.

Wersja 1.3.0-beta02

16 czerwca 2021 r.

Funkcje androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02androidx.activity:activity-ktx:1.3.0-beta02 są dostępne. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.

Zaktualizowano activity-compose, aby zależało od funkcji tworzenia wiadomości 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 jest teraz zależny od modułu activity-compose w czasie kompilacji.

Wersja 1.3.0-beta01

2 czerwca 2021 r.

Funkcje androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01androidx.activity:activity-ktx:1.3.0-beta01 są dostępne. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Metoda @Composable registerForActivityResult(), która była wcześniej wycofana, została usunięta. Użyj wartości rememberLauncherForActivityResult(). (Ic39d3)

Wersja 1.3.0-alpha08

18 maja 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08androidx.activity:activity-ktx:1.3.0-alpha08 są dostępne. Wersja 1.3.0-alpha08 zawiera te commity.

Nowe funkcje

  • Nowa funkcja CaptureVideo ActivityResultContract zwraca wartość logiczną do funkcji ActivityResultCallback, która wskazuje, czy film został zapisany w danym identyfikatorze URI. Zastępuje ono wycofany kontrakt TakeVideo, ponieważ aplikacje do obsługi kamery bardzo rzadko obsługiwały zwracanie bitmapy miniatury, co powodowało, że wynik był bezużyteczny. (Ie21f2, b/185938070)
  • Dodano nowy interfejs API Activity#setPipAnimationHintView, który pozwala aktualizować wskazówkę źródła prostokąta w parametrach PipParams, gdy widok się przesuwa. (I9063d)

Zmiany w interfejsie API

  • Funkcja rememberLauncherForActivityResult zwraca teraz launcher, który wycofuje funkcję unregister(). Rejestracja i wyrejestrowanie tego launchera są obsługiwane automatycznie przez funkcję rememberLauncherForActivityResult. (I2443e)

Zgodność funkcji tworzenia

  • androidx.activity:activity-compose:1.3.0-alpha08 jest zgodna tylko z Compose w wersji 1.0.0-beta07 lub nowszej.

Wersja 1.3.0-alpha07

21 kwietnia 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07androidx.activity:activity-ktx:1.3.0-alpha07 są dostępne. Wersja 1.3.0-alpha07 zawiera te commity.

Poprawki błędów

  • Funkcja rememberLauncherForActivityResult zwraca teraz stabilne odwołanie do tej samej instancji ActivityResultLauncher, nawet jeśli umowa ulegnie zmianie z powodu rekompozycji. (Id2d6d)
  • Używanie niestabilnych wersji fragmentów w wersji wyższej niż 1.3.0 nie będzie już powodować fałszywie pozytywnego błędu lint, który zaleca używanie wersji 1.3.0. (aosp/1670206, b/184847092)

Wersja 1.3.0-alpha06

7 kwietnia 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06androidx.activity:activity-ktx:1.3.0-alpha06 są dostępne. Wersja 1.3.0-alpha06 zawiera te commity.

Zmiany w interfejsie API

  • Interfejs API registerForActivityResult() został przemianowany na rememberLauncherForActivityResult(), aby lepiej wskazywać, że zwrócony obiekt ActivityResultLauncher jest obiektem zarządzanym, który jest zapamiętany w Twoim imieniu. Próba wywołania funkcji unregister z zwróconą wartością ActivityResultLauncher spowoduje błąd. (I2bb6d)
  • Funkcje LocalOnBackPressedDispatcherOwner.current i LocalActivityResultRegistryOwner.current zwracają teraz wartość opcjonalną, aby lepiej określić, czy jest ona dostępna w bieżącej kompozycji. Interfejsy API, które wymagają tych interfejsów API, np. BackHandler i rememberLauncherForActivityResult(), będą teraz zwracać bardziej opisowy błąd, jeśli nie uda się znaleźć właściciela. NavHost działa teraz nawet wtedy, gdy nie znaleziono OnBackPressedDispatcherOwner, na przykład podczas wyświetlania podglądu NavHost. (I7d8b4)

Poprawki błędów

  • Komponent BackHandler będzie teraz prawidłowo przechwytywać naciśnięcia przycisku Wstecz w przypadku, gdy aktywność jest STOPPED, a potem ponownie STARTED, oraz gdy dodano inne wywołania zwrotne za pomocą klasy LifecycleOwner. (I71de6, b/182284739)
  • Użycie rozszerzenia metody launch() z niestandardowym parametrem ActivityResultContract, który ma dane wejściowe Unit, nie spowoduje już błędu NullPointerException (I76282, b/183837954)

Wersja 1.3.0-alpha05

24 marca 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05androidx.activity:activity-ktx:1.3.0-alpha05 są dostępne. Wersja 1.3.0-alpha05 zawiera te commity.

Poprawki błędów

  • Activity 1.2.2: rozwiązano problem z kontrolą lint InvalidFragmentVersionForActivityResult, która powodowała fałszywie dodatnie wyniki przy użyciu Fragment 1.3.1 lub nowszej wersji. (I54da1, b/182388985)
  • wersji Activity 1.2.2: ComponentActivity nie powoduje już błędu ClassNotFoundException podczas uruchamiania IntentActivityResultContract, który był wcześniej przechowywany jako dodatkowy w innej Intent. (Ieff05, b/182906230)

Aktualizacje zależności

Wersja 1.3.0-alpha04

10 marca 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04androidx.activity:activity-ktx:1.3.0-alpha04 są dostępne. Wersja 1.3.0-alpha04 zawiera te commity.

Poprawki błędów

  • W sekcji Aktywność 1.2.1: RequestMultiplePermissions zwraca teraz zawsze wyniki dla wszystkich żądanych uprawnień, a nie tylko tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)
  • W sekcji Aktywność 1.2.1: ActivityResultRegistry teraz zapewnia, że w trakcie launch() żądania będą zwracać wyniki, nawet jeśli unregister(), a następnie register(), używając tego samego klucza. (I9ef34, b/181267562)
  • Edytor aktywności nie dodaje już zależności testów do classpath środowiska wykonawczego. (Ifd8b3)
  • Rozwiązaliśmy problem z funkcją BackHandler, w której po ponownym skompilowaniu nadal używana była wcześniej ustawiona lambda onBack. (8eb5eb)

Wersja 1.3.0-alpha03

24 lutego 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03androidx.activity:activity-ktx:1.3.0-alpha03 są dostępne. Wersja 1.3.0-alpha03 zawiera te commity.

Nowe funkcje

  • Dostępna jest teraz funkcja typu „composable” registerForActivityResult służąca do uzyskiwania wyników z działalności w komponowalnych. (Ia7851, b/172690553)

Zmiany w interfejsie API

  • Interfejs LocalOnBackPressedDispatcherOwner zawiera teraz funkcje provides, które można używać z interfejsem CompositionLocalProvider, zastępując interfejs API asProvidableCompositionLocal(). (I45d24)

Wersja 1.3.0-alpha02

10 lutego 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02androidx.activity:activity-ktx:1.3.0-alpha02 są dostępne. Wersja 1.3.0-alpha02 zawiera te commity.

Poprawki błędów

  • Rozwiązaliśmy problem w sekcji Aktywność w komponowaniu 1.3.0-alpha01, który powodował wyjątek NoSuchMethodError: No static method setContent podczas korzystania z sekcji Komponuj 1.0.0-alpha12. Wszyscy użytkownicy Compose powinni korzystać z wersji 1.3.0-alpha02 lub nowszej. (b/179911234)

Zmiany w interfejsie API

  • Interfejs API BackHandler umożliwia komponentowi przechwycenie przycisku Wstecz systemu. (I58ed5, b/172154006)

Wersja 1.3.0-alpha01

10 lutego 2021 r.

Funkcje androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01androidx.activity:activity-ktx:1.3.0-alpha01 są dostępne. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Nowy artefakt activity-compose zawiera pomocnicze narzędzia Jetpack Compose do obsługi interfejsów API androidx.activity.
    • Obiekt ComponentActivity.setContent został przeniesiony z folderu androidx.compose.ui.platform.setContent do folderu androidx.activity.compose.setContent. (Icf416)

Znane problemy

  • Użycie modułu Activity Compose 1.3.0-alpha01 i bibliotek, które od niego zależą, takich jak androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, spowoduje wyjątek NoSuchMethodError: No static method setContent. (b/179911234)

Wersja 1.2.4

Wersja 1.2.4

21 lipca 2021 r.

androidx.activity:activity:1.2.4androidx.activity:activity-ktx:1.2.4 są dostępne. Wersja 1.2.4 zawiera te zatwierdzenia.

Poprawki błędów

Wersja 1.2.3

Wersja 1.2.3

5 maja 2021 roku

androidx.activity:activity:1.2.3androidx.activity:activity-ktx:1.2.3 są dostępne. Wersja 1.2.3 zawiera te zatwierdzenia.

Poprawki błędów

  • Użycie rozszerzenia metody launch() z niestandardowym parametrem ActivityResultContract, który ma dane wejściowe Unit, nie spowoduje już błędu NullPointerException (I76282, b/183837954)
  • Usunięto błąd lint o fałszywie dodatnim wyniku, który zalecał używanie Fragment 1.3.0 podczas korzystania z kompilacji zrzutu, wersji alfa, wersji beta lub wersji RC nowszej wersji Fragment. (f4a57e, b/184847092)

Wersja 1.2.2

Wersja 1.2.2

24 marca 2021 r.

androidx.activity:activity:1.2.2androidx.activity:activity-ktx:1.2.2 są dostępne. Wersja 1.2.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem z sprawdzaniem błędów InvalidFragmentVersionForActivityResult, które powodowało fałszywie pozytywny wynik przy użyciu Fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985)
  • ComponentActivity nie używa już ClassNotFoundException podczas uruchamiania IntentActivityResultContract, który był wcześniej nadliczbowym elementem w innej 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.1androidx.activity:activity-ktx:1.2.1 są dostępne. Wersja 1.2.1 zawiera te zatwierdzenia.

Poprawki błędów

  • RequestMultiplePermissions zwraca teraz wyniki dla wszystkich żądanych uprawnień zamiast tylko tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)
  • ActivityResultRegistry zapewnia teraz, że w trakcie przetwarzania launch() żądania będą zwracać wyniki, nawet jeśli najpierw unregister(), a potem register() z tym samym kluczem. (I9ef34, b/181267562)

Wersja 1.2.0

Wersja 1.2.0

10 lutego 2021 r.

androidx.activity:activity:1.2.0androidx.activity:activity-ktx:1.2.0 są dostępne. Wersja 1.2.0 zawiera te zatwierdzenia.

Najważniejsze zmiany od wersji 1.1.0

  • Interfejsy API wyników aktywności: ComponentActivity udostępnia teraz interfejs ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult() oraz requestPermissions()+onRequestPermissionsResult() bez nadpisywania metod w Twojej aktywności lub fragmencie. Zapewnia też większą ochronę typów za pomocą ActivityResultContract oraz zapewnia elementy do testowania tych przepływów. Zapoznaj się z aktualnymi informacjami na temat wybierania wyniku z aktywności.
  • ContextAware: ComponentActivity implementuje teraz ContextAware, co pozwala dodać co najmniej 1 instancję OnContextAvailableListener, która otrzyma wywołanie zwrotne przed podstawową usługą Activity.onCreate().

    • Zawieszające rozszerzenie Kotlina withContextAvailable() umożliwia uruchamianie bloku, który nie zawiesza się, gdy kontekst stanie się dostępny, i zwracanie wyniku.
    • Ten interfejs API jest używany przez FragmentActivityFragment 1.3.0 do przywracania stanu FragmentManager. Wszystkie detektory dodane do podklas FragmentActivity będą działać po tym detektorze.
    • Ten interfejs API jest używany przez AppCompatActivity w wersji AppCompat 1.3.0-alpha02 lub nowszej. Wszystkie detektory dodane do podklas AppCompatActivity będą działać po tym detektorze.
  • ViewTree Wsparcie: ComponentActivity obsługuje teraz interfejsy API ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View)ViewTreeSavedStateRegistryOwner dodane w Lifecycle 2.3.0SavedState 1.1.0, dzięki czemu zwraca aktywność jako LifecycleOwner, ViewModelStoreOwnerSavedStateRegistryOwner dla wszystkich widoków dodanych bezpośrednio do ComponentActivity.

  • reportFullyDrawn() backport – metoda Activity klasy reportFullyDrawn() została przeniesiona do klasy ComponentActivity, aby działała na wszystkich poziomach interfejsu API. Rozwiązano w ten sposób problem z wypadkiem w wersji 19 interfejsu API i dodano śledzenie dla tej metody na wszystkich poziomach interfejsu API.

Wersja 1.2.0-rc01

16 grudnia 2020 roku

androidx.activity:activity:1.2.0-rc01androidx.activity:activity-ktx:1.2.0-rc01 są dostępne. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Teraz ActivityResultRegistry zawsze przywraca dokładny stan, który został zapisany. (Idd56b)
  • Dodaj śledzenie do ComponentActivity.reportFullyDrawn (Ic7632)

Darowizna zewnętrzna

  • ComponentActivity zastępuje teraz reportFullyDrawn(), co umożliwia wywołanie tej metody na wszystkich poziomach interfejsu API. Rozwiązano też problem z wypadkiem podczas wywoływania tej metody bez odpowiedniego uprawnienia systemowego na urządzeniach z interfejsem API w wersji 19. Dziękuję, Simon Schiller. (b/163239764, #103)

Wersja 1.2.0-beta02

2 grudnia 2020 r.

androidx.activity:activity:1.2.0-beta02androidx.activity:activity-ktx:1.2.0-beta02 są dostępne. Wersja 1.2.0-beta02 zawiera te commity.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że interfejs ActivityResult API nie czekał na zakończenie cyklu życia STARTED, zanim zwrócił wyniki, gdy był zarejestrowany z użyciem Lifecycle. (I109ea)

Darowizna zewnętrzna

  • Zaktualizowaliśmy dokumentację funkcji launch(), aby wyraźnie wskazać, że może ona wywołać błąd ActivityNotFoundException. Dziękuję Michał Zieliński. (aosp/1493580)

Wersja 1.2.0-beta01

1 października 2020 roku

androidx.activity:activity:1.2.0-beta01androidx.activity:activity-ktx:1.2.0-beta01 są dostępne. Wersja 1.2.0-beta01 zawiera te commity.

Poprawki błędów

  • ActivityResultRegistry generuje teraz losowe liczby całkowite, aż znajdzie taką, która nie została przypisana do użycia jako kod żądania register(). Zapobiega to możliwemu przepełnieniu liczby całkowitej spowodowanemu przez zwiększanie kodów żądań. (b/168779518)

  • Lifecycle obserwatorów są prawidłowo usuwane podczas wywoływania funkcji unregister() w obiekcie ActivityResultLauncher. (b/165608393)

Zmiany w zachowaniu

  • Funkcja ActivityResultRegistry powoduje teraz błąd IllegalStateException podczas próby wywołania funkcji register() z parametrami LifecycleOwner, której Lifecycle ma wartość STARTED. (b/165435866)

Aktualizacja dokumentacji

  • Dokumentacja ContextAware zawiera linki do LifecycleOwner, aby wskazać, że wywołania zwrotne Lifecycle są odpowiednim miejscem do tworzenia i usuwania zdarzeń. (aosp/1414152)

Wersja 1.2.0-alpha08

19 sierpnia 2020 r.

androidx.activity:activity:1.2.0-alpha08androidx.activity:activity-ktx:1.2.0-alpha08 są dostępne. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

  • ComponentActivity implementuje teraz ContextAware, co pozwala dodać co najmniej 1 instancję OnContextAvailableListener, która otrzyma wywołanie zwrotne przed bazową Activity.onCreate(). (b/161390636)
    • Zawieszające rozszerzenie Kotlina withContextAvailable() umożliwia uruchamianie bloku, który nie zawiesza się, gdy kontekst stanie się dostępny, i zwracanie wyniku. (I8290c)
    • Ten interfejs API jest używany przez FragmentActivityFragment 1.3.0-alpha08 do przywracania stanu FragmentManager. Wszystkie detektory dodane do podklas FragmentActivity będą działać po tym detektorze. (I513da)
    • Ten interfejs API jest używany przez AppCompatActivityAppCompat 1.3.0-alpha02. Wszystkie detektory dodane do podklas AppCompatActivity będą działać po tym detektorze. (I513da)

Poprawki błędów

  • Rozwiązaliśmy problem z sprawdzaniem Lint ActivityResultFragmentVersionDetector, które powodowało awarię przy użyciu Lint 27.1.0 lub nowszej wersji. (b/162155191)

Wersja 1.2.0-alpha07

22 lipca 2020 r.

androidx.activity:activity:1.2.0-alpha07androidx.activity:activity-ktx:1.2.0-alpha07 są dostępne. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano nową InvalidFragmentVersionForActivityResultsprawdzanie lint, które weryfikuje, czy używasz Fragment 1.3.0-alpha07, gdy korzystasz z interfejsu Activity Result API. Pozwala to uniknąć awarii w czasie działania spowodowanych problemami z „nieprawidłowym kodem żądania” i niedziałającymi żądaniami uprawnień spowodowanymi używaniem starszych wersji fragmentów. (b/152554847)

Darowizna zewnętrzna

  • Naprawiono błąd ArrayIndexOutOfBoundsException podczas analizowania wyników umowy RequestPermission ActivityResult. (I8f9e3, b/161057605)

Wersja 1.2.0-alpha06

10 czerwca 2020 r.

androidx.activity:activity:1.2.0-alpha06androidx.activity:activity-ktx:1.2.0-alpha06 są dostępne. Wersja 1.2.0-alpha06 zawiera te commity.

Nowe funkcje

  • Teraz możesz zdestrukturyzować klasę ActivityResult w języku Kotlin, aby uzyskać bezpośredni dostęp do elementów requestCodeintent. (b/157212935)
  • ActivityResultLauncher umożliwia teraz uzyskanie ActivityResultContract, który został użyty do zarejestrowania programu uruchamiającego. (b/156875743)

Zmiany w interfejsie API

  • Zmiany wprowadzające: metoda invoke() w metodach ActivityResultRegistry nosi teraz nazwę onLaunch(). (b/157496491)
  • Umowa OpenMultipleDocuments zwraca teraz pustą listę zamiast null do zarejestrowanego wywołania zwrotnego, jeśli nie zwraca żadnych wyników. (b/157348014)

Wersja 1.2.0-alpha05

20 maja 2020 r.

androidx.activity:activity:1.2.0-alpha05androidx.activity:activity-ktx:1.2.0-alpha05 są dostępne. Wersja 1.2.0-alpha05 zawiera te commity.

Nowe funkcje

Zmiany w interfejsie API

  • Kontrakt TakePicture zwraca teraz wartość boolean wskazującą na sukces, a nie miniaturę Bitmap, ponieważ ta ostatnia była bardzo rzadko obsługiwana przez aplikacje aparatu podczas zapisywania obrazu do podanego Uri. (b/154302879)
  • Rozszerzenia invoke() w funkcji ActivityResultLauncher zostały usunięte na rzecz wyraźnego użycia launch(), aby lepiej wskazywać, że są to operacje asynchroniczne. Do pakietu androidx.activity.result dla ActivityResultLauncher<Void>ActivityResultLauncher<Unit> dodano rozszerzenia Kotlina dla launch, które eliminują konieczność przekazywania odpowiednio argumentów null lub Unit, odzwierciedlając w ten sposób zachowanie wcześniejszych rozszerzeń invoke(). (aosp/1304674, aosp/1304675)
  • Metody IntentSenderRequest.Builder dla setFlagsMask() i setFlagsValues() zostały połączone w jedną metodę setFlags(). (aosp/1302111)

Poprawki błędów

  • Podczas rejestrowania ActivityResultCallbackLifecycleOwner rozwiązaliśmy problem polegający na tym, że wywołanie zwrotne było wywoływane, zanim stan osiągnął wartość STARTED. (aosp/1309744)

Zmiany w zachowaniu

  • ActivityResultRegistry generuje teraz kody żądań, które zaczynają się od 0xFFFF, a nie od 0, co zapobiega ich nakładaniu się podczas używania w działaniu wartości startActivityForResult() lub requestPermissions(). (aosp/1302324)

Wersja 1.2.0-alpha04

29 kwietnia 2020 r.

androidx.activity:activity:1.2.0-alpha04androidx.activity:activity-ktx:1.2.0-alpha04 są dostępne. Wersja 1.2.0-alpha04 zawiera te commity.

Nowe funkcje

  • Do interfejsów ActivityResult API dodano kontrakt, który może wywołać metodę startIntentSenderForResult. (b/153007517)

Zmiany w interfejsie API

  • Metoda prepareCall() została przemianowana na registerForActivityResult(), zarówno w przypadku ComponentActivity, jak i w fragmentach 1.3.0-alpha04. (aosp/1278717)
  • Umowy GetContents, OpenDocumentsRequestPermissions zostały odpowiednio przemianowane na GetMultipleContents, OpenMultipleDocumentsRequestMultiplePermissions. (aosp/1280161)
  • ComponentActivity korzysta teraz z interfejsu ActivityResultRegisteryOwner. (aosp/1290888)
  • – interfejsy API startActivityForResult()/onActivityResult()onRequestPermissionsResult() w usłudze ComponentActivity zostały wycofane. Użyj interfejsów Activity Result API. (b/154751887)

Poprawki błędów

  • Gdy używasz umów GetMultipleContentsOpenMultipleDocuments i wybierasz pojedynczy element, jest on teraz prawidłowo zwracany do wywołania zwrotnego. (b/152941153)

Wersja 1.2.0-alpha03

1 kwietnia 2020 r.

androidx.activity:activity:1.2.0-alpha03androidx.activity:activity-ktx:1.2.0-alpha03 są dostępne. Wersja 1.2.0-alpha03 zawiera te komisy.

Nowe funkcje

  • Dodano do zestawu gotowych umów dostępnych w ActivityResultContracts umowy TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTreeCreateDocument. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Interfejsy API wyników aktywności obsługują teraz uruchamianie aktywności w celu uzyskania wyniku z opcjonalnym parametrem ActivityOptionsCompat. (b/151860054)

Zmiany w interfejsie API

  • Umowa TakePicture przyjmuje teraz parametr Uri określający, gdzie ma być przechowywany obraz. Poprzednia umowa, która nie wymaga żadnych danych wejściowych, została przemianowana na TakePicturePreview. (aosp/1262482)
  • Metoda registerActivityResultCallback() w elementach ActivityResultRegistry nosi teraz nazwę register(). (aosp/1267621)
  • Metoda dispose() w funkcji ActivityResultLauncher została przemianowana na unregister(), a metoda unregisterResultCallback() w funkcji ActivityResultRegistry została usunięta. (aosp/1267621)
  • Metoda createIntent() klasy ActivityResultContact przyjmuje teraz oprócz danych wejściowych także parametr Context, co umożliwia tworzenie jawnych intencji. (aosp/1238800)
  • ActivityResultContract może teraz zastąpić getSynchronousResult(), aby uzyskać wynik bez wywoływania startActivityForResult. Jest on używany w umowach RequestPermissionRequestPermissions, aby prawidłowo przekazywać stan „granted” (przyznano), jeśli żądane uprawnienia zostały już przyznane. (b/151110799)
  • Dostępny wcześniej kontrakt Dial został usunięty, ponieważ Intent nie jest przeznaczony do użytku z startActivityForResult(). (aosp/1266916)
  • Wiele interfejsów API wyników aktywności, które nie powinny być rozszerzane, jest teraz final. Obejmuje to getActivityResultRegistry(), metody prepareCall(), wszystkie metody ActivityResultRegistry (z wyjątkiem invoke()) oraz wiele domyślnych umów, które nie obsługują dodatkowych opcji. (b/152439361)

Poprawki błędów

  • Naprawiono błąd NullPointerExceptionActivityResultRegistry, który występował podczas próby dostarczenia wyników do funkcji wywołania zwrotnego, która nie została jeszcze ponownie zarejestrowana po zmianie konfiguracji. ActivityResultRegistry zapisuje teraz te oczekujące wyniki i przekazuje je, gdy funkcja wywołania zwrotnego zostanie ponownie zarejestrowana. (b/152137004)

Wersja 1.2.0-alpha02

18 marca 2020 r.

androidx.activity:activity:1.2.0-alpha02androidx.activity:activity-ktx:1.2.0-alpha02 są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.

Nowe funkcje

  • ActivityResultRegistry: ComponentActivity udostępnia teraz ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult()requestPermissions()+onRequestPermissionsResult() bez nadpisywania metod w Twojej aktywności lub fragmencie. Zapewnia też większą ochronę typów za pomocą ActivityResultContract oraz zapewnia uchwyty do testowania tych przepływów. Zapoznaj się z aktualnymi informacjami na temat wybierania wyniku z aktywności. (b/125158199)
1.2.0-alpha02

Wersja 1.2.0-alpha01

4 marca 2020 r.

androidx.activity:activity:1.2.0-alpha01androidx.activity:activity-ktx:1.2.0-alpha01 są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodano obsługę interfejsu API ViewTreeLifecycleOwner.get(View) dodanego w cyklu życia 2.3.0-alpha01, aby zwracał on Activity jako LifecycleOwner w przypadku wszystkich widoków dodanych bezpośrednio do Activity. (aosp/1182955)

Poprawki błędów

  • Naprawiono regresję wprowadzoną w komponencie Activity 1.1.0, gdy działa on w starszych wersjach platformy. W tym przypadku onBackPressed() powodował IllegalStateException z powodu błędu w komponencie android.app.FragmentManager. (b/146290338)

Wersja 1.1.0

Wersja 1.1.0

22 stycznia 2020 r.

androidx.activity:activity:1.1.0 został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia:

Ważne zmiany od wersji 1.0.0

  • Łączenie Lifecycle ViewModel z SavedState: SavedStateViewModelFactory jest teraz domyślną fabryką używaną podczas korzystania z by viewModels(), konstruktora ViewModelProvider lub ViewModelProviders.of()ComponentActivity lub jego podklasami.

Wersja 1.1.0-rc03

4 grudnia 2019

androidx.activity:activity:1.1.0-rc03androidx.activity:activity-ktx:1.1.0-rc03 są dostępne. Wersja 1.1.0-rc03 zawiera te zatwierdzenia:

Zmiany zależności

  • Aktywność zależy teraz od cyklu życia 2.2.0-rc03 i stanu zapisanego LifecycleViewModel 1.0.0-rc03.

Wersja 1.1.0-rc02

7 listopada 2019 r.

androidx.activity:activity:1.1.0-rc02androidx.activity:activity-ktx:1.1.0-rc02 są dostępne. 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.

androidx.activity:activity:1.1.0-rc01androidx.activity:activity-ktx:1.1.0-rc01 są publikowane bez zmian w porównaniu z wersją 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia:

Wersja 1.1.0-beta01

9 października 2019 r.

androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01 są dostępne. Wersja 1.1.0-beta01 zawiera te commity:

Zmiany zależności

  • Aktywność zależy teraz od stabilnej wersji SavedState 1.0.0.

Wersja 1.1.0-alpha03

5 września 2019 r.

androidx.activity:activity:1.1.0-alpha03androidx.activity:activity-ktx:1.1.0-alpha03 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Aktywność zależy teraz od stabilnej wersji Core 1.1.0.

Poprawki błędów

Wersja 1.1.0-alpha02

7 sierpnia 2019 r.

androidx.activity:activity:1.1.0-alpha02androidx.activity:activity-ktx:1.1.0-alpha02 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • SavedStateViewModelFactory jest teraz domyślną fabryką używaną podczas korzystania z by viewModels(), konstruktora ViewModelProvider lub ViewModelProviders.of()ComponentActivity (b/135716331)

Wersja 1.1.0-alpha01

2 lipca 2019 r.

androidx.activity:activity:1.1.0-alpha01androidx.activity:activity-ktx:1.1.0-alpha01 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • activity zależy teraz od cyklu życia 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx ma teraz zależność od lifecycle-runtime-ktx. Nie musisz już dodawać tej biblioteki do swoich zależności podczas korzystania z activity-ktx lub bibliotek, które zależą od lifecycle-runtime-ktx (np. fragment-ktx). (aosp/987162)activity-ktx

Wersja 1.0.0

Wersja 1.0.0

5 września 2019 r.

androidx.activity:activity:1.0.0androidx.activity:activity-ktx:1.0.0 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Najważniejsze funkcje wersji 1.0.0

  • ComponentActivity: ComponentActivity jest nową klasą podstawową dla FragmentActivityFragment 1.1.0 i w dalszym ciągu dla AppCompatActivityAppCompat 1.1.0.
  • activity-ktx: moduł activity-ktx zawiera by viewModels rozszerzenie właściwości Kotlina, które umożliwia dostęp do ViewModels. Ten moduł jest uwzględniany automatycznie, gdy uwzględnisz fragment-ktxFragmentu 1.1.0.
  • OnBackPressedDispatcher: jako alternatywę dla zastąpienia metody onBackPressed() możesz teraz zarejestrować metodę OnBackPressedCallback z dowolnej metody LifecycleOwner (np. fragmentu), aby przechwytywać zdarzenia związane z przyciskiem Wstecz systemu. Do activity-ktx dodano funkcję lambda z wersją odbiornika addCallback. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją dotyczącą niestandardowej nawigacji wstecz.
  • onRetainCustomNonConfigurationInstance deprecation: interfejsy API onRetainCustomNonConfigurationInstance() i powiązane z nimi getLastCustomNonConfigurationInstance() zostały wycofane. Do przechowywania stanu poza konfiguracją zdecydowanie zalecamy używanie ViewModels, ponieważ stanowią one rozwiązanie do składania odpowiednie dla dowolnego ViewModelStoreOwner, które ułatwia ustalenie własności przechowywanych obiektów i zawiera wywołanie zwrotne onCleared(), które umożliwia oczyszczanie zasobów po ostatecznym usunięciu aktywności.

Wersja 1.0.0-rc01

2 lipca 2019 r.

androidx.activity:activity:1.0.0-rc01androidx.activity:activity-ktx:1.0.0-rc01 są publikowane bez zmian w porównaniu z wersją 1.0.0-beta01. Zmiany zawarte w tej wersji znajdziesz tutaj.

Wersja 1.0.0-beta01

5 czerwca 2019 r.

androidx.activity::activity:1.0.0-beta01androidx.activity:activity-ktx:1.0.0-beta01 są publikowane bez zmian w porównaniu z wersją 1.0.0-alpha08. Zmiany zawarte w tej wersji znajdziesz tutaj.

Wersja 1.0.0-alpha08

7 maja 2019 r.

androidx.activity:activity:1.0.0-alpha08androidx.activity:activity-ktx:1.0.0-alpha08 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • Zmiana wprowadzająca zmiany: metody addOnBackPressedCallbackremoveOnBackPressedCallback w klasie ComponentActivity, które zostały wycofane, zostały usunięte. aosp/953857
  • Metody setEnabled()isEnabled() klasy OnBackPressedCallback są teraz ostateczne. b/131416833
  • Metoda remove()OnBackPressedCallback jest teraz ostateczna. aosp/952720
  • OnBackPressedDispatcher ma teraz publiczne konstruktory, które umożliwiają tworzenie własnych wystąpień na potrzeby testowania itp. aosp/953431
  • onBackPressed() dla ComponentActivity jest teraz wyraźnie oznaczony jako @MainThread aosp/952721

Poprawki błędów

  • Rozwiązaliśmy problem z ConcurrentModificationException podczas wywoływania metody remove() w ramach metody handleOnBackPressed() obiektu OnBackPressedCalback, który został dodany za pomocą funkcji LifecycleOwner. b/131765095

Wersja 1.0.0-alpha07

25 kwietnia 2019 r.

androidx.activity:activity:1.0.0-alpha07androidx.activity:activity-ktx:1.0.0-alpha07 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

Ta wersja wprowadza istotne zmiany w obsługiwaniu onBackPressed(). Aby dowiedzieć się więcej, zapoznaj się z zaktualizowaną dokumentacją dotyczącą niestandardowych stron tytułowych.

  • Metody OnBackPressedCallbackOnBackPressedDispatcher zostały oznaczone jako @MainThread. (aosp/943813)
  • Metoda handleOnBackPressed() nie zwraca już wartości boolean. Zamiast tego OnBackPressedCallback jest teraz abstrakcyjną klasą, którą można włączyć lub wyłączyć. Metoda handleOnBackPressed() zostanie wywołana tylko wtedy, gdy nowa metoda isEnabled() zwróci wartość true. W tym przypadku musisz obsłużyć przycisk Wstecz. (aosp/944518)
  • Metody addCallback klasy OnBackPressedDispatcher nie zwracają już instancji Cancellable. OnBackPressedCallback zawiera teraz metodę remove(), która realizuje tę funkcję i umożliwia wywołanie remove() podczas handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx zawiera teraz wywołanie zwrotne ograniczone do odbiornika dla addCallback, które akceptuje funkcję pomocniczą implementującą handleOnBackPressed() i mającą dostęp do isEnabled oraz remove() (aosp/944520)

Wersja 1.0.0-alpha06

3 kwietnia 2019 r.

androidx.activity:activity:1.0.0-alpha06androidx.activity:activity-ktx:1.0.0-alpha06 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • Klasa ComponentActivity zawiera teraz drugi konstruktor, który przyjmuje parametr @LayoutRes int. Zastępuje on poprzednie zachowanie polegające na adnotowaniu klasy AppCompatActivity za pomocą parametru @ContentView. To podejście działa zarówno w przypadku aplikacji, jak i modułów biblioteki. (b/128352521)
  • Interfejsy API związane z OnBackPressedCallback w ComponentActivity zostały wycofane na rzecz nowego interfejsu OnBackPressedDispatcher, który można pobrać za pomocą getOnBackPressedDispatcher(). (aosp/922523)
  • Metody dodawania nowych elementów OnBackPressedCallback do obiektu OnBackPressedDispatcher zwracają teraz obiekt Cancellable, co umożliwia usuwanie wywołań zwrotnych bez konieczności wyraźnego odniesienia do obiektu OnBackPressedDispatcher. (aosp/922523)
  • Dodanie OnBackPressedCallback z powiązanym LifecycleOwner powoduje teraz dodanie i usunięcie OnBackPressedCallback odpowiednio po uruchomieniu i zatrzymaniu cyklu życia. (aosp/922523)

Wersja 1.0.0-alpha05

13 marca 2019 r.

Zasoby androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05 są dostępne. Pełną listę zatwierdzeń uwzględnionych 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-alpha04androidx.activity:activity-ktx 1.0.0-alpha04 są dostępne.

Nowe funkcje

  • Dodano obsługę adnotacji klasy @ContentView, która umożliwia wskazanie, który plik XML układu należy napompować jako alternatywę dla setContentView(). (aosp/837619)

Zmiany w interfejsie API

Poprawki błędów

  • Moduł activity jest teraz zależny od wersji 2.1.0-alpha02 interfejsu ViewModel, aby odpowiadać zależnościom modułu activity-ktx.

Wersja 1.0.0-alpha03

17 grudnia 2018 r.

androidx.activity 1.0.0-alpha03 został zwolniony.

Nowe funkcje

  • ComponentActivity implementuje teraz BundleSavedStateRegistryOwner i używa nowo opublikowanej biblioteki SavedState [aosp/815133].
  • Komponent ComponentActivity omija teraz błąd w platformie Androida, który powodował wyciek ostatniego widoku z aktywną metodą InputMethodManager [b/37122102]

Wersja 1.0.0-alpha02

3 grudnia 2018 r.

Zmiany w interfejsie API

Wersja 1.0.0-alpha01

5 listopada 2018 r.

androidx.activity 1.0.0-alpha01 wprowadza ComponentActivity, nową klasę podstawową dla istniejących klas FragmentActivity i AppCompatActivity.

Nowe funkcje

  • Możesz teraz zarejestrować OnBackPressedCallback za pomocą addOnBackPressedCallback, aby otrzymywać wywołania zwrotne onBackPressed() bez konieczności zastępowania metody w działaniu.
  • Dodaliśmy nowy obiekt by viewModels() w języku Kotlin, który służy do pobierania właściwości ViewModel z obiektu ComponentActivity.
  • Oczekujące zdarzenia wejściowe (np. kliknięcia) są teraz anulowane w onStop().

Zmiany w interfejsie API

  • Implementacja funkcji LifecycleOwnerViewModelStoreOwner została przeniesiona z funkcji FragmentActivity do funkcji ComponentActivity.
  • Środowisko wykonawcze onRetainCustomNonConfigurationInstance zostało wycofane. Używaj zbioru ViewModel do przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.