Aktywność

Dostęp do interfejsów API, które można łączyć i które są oparte na interfejsie Activity.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
2 lipca 2025 r. 1.10.1 1.11.0-rc01 - 1.12.0-alpha04

Deklarowanie zależności

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

Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    def activity_version = "1.10.1"

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

Kotlin

dependencies {
    val activity_version = "1.10.1"

    // 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 odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego problemu

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

Wersja 1.12

Wersja 1.12.0-alpha04

2 lipca 2025 r.

androidx.activity:activity:1.12.0-alpha04, androidx.activity:activity-compose:1.12.0-alpha04androidx.activity:activity-ktx:1.12.0-alpha04 są zwalniane. Wersja 1.12.0-alpha04 zawiera te zmiany.

Zmiany zależności

Wersja 1.12.0-alpha03

18 czerwca 2025 r.

androidx.activity:activity:1.12.0-alpha03, androidx.activity:activity-compose:1.12.0-alpha03androidx.activity:activity-ktx:1.12.0-alpha03 są zwalniane. Wersja 1.12.0-alpha03 zawiera te zmiany.

Poprawki błędów

  • Zmienne OnBackPressedDispatcherNavigationEventDispatcher są teraz inicjowane z opóźnieniem w ComponentActivity. (I710e6)

  • Rozwiązaliśmy problemy z OnBackPressedDistpatcher, które powodowały:

    • Tylko najnowszy dyspozytor OnBackPressedCallback został dodany do powiadomień o jego stanie włączenia (b/418715930).
    • OnBackPressedDispatcher usuwa nieprawidłowe wywołanie zwrotne podczas korzystania z funkcji addCallback, która przyjmuje cykl życia. (b/422714753)
    • OnBackPressedDispatcher.remove() nie usuwa wszystkich wystąpień zarejestrowanego OnBackPressedCallback. (b/423024414)

Wersja 1.12.0-alpha02

4 czerwca 2025 r.

androidx.activity:activity:1.12.0-alpha02, androidx.activity:activity-compose:1.12.0-alpha02androidx.activity:activity-ktx:1.12.0-alpha02 są zwalniane. Wersja 1.12.0-alpha02 zawiera te commity.

Poprawki błędów

  • NavigationEvent 1.0.0-alpha02: naprawiono ConcurrentModificationException, który mógł wystąpić, gdy wywoływano NavigationEventCallback.remove() z powodu jednoczesnej modyfikacji wewnętrznej listy elementów zamykanych. (I63066)

Wersja 1.12.0-alpha01

20 maja 2025 r.

androidx.activity:activity:1.12.0-alpha01, androidx.activity:activity-compose:1.12.0-alpha01androidx.activity:activity-ktx:1.12.0-alpha01 są zwalniane. Wersja 1.12.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • ComponentActivityComponentDialog zostały zintegrowane z NavigationEvent 1.0.0-alpha01 za pomocą interfejsu NavigationEventDispatcherOwner API. Możesz teraz pobrać NavigationEventDispatcherComponentActivity za pomocą pola navigationEventDispatcher. Ponieważ OnBackPressedDispatcher został przepisany na podstawie nowej biblioteki, wszystkie poprzednie zastosowania powinny nadal działać prawidłowo. W przyszłości używaj NavigationEventDispatcherNavigationEventCallback. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)

Wersja 1.11

Wersja 1.11.0-rc01

23 kwietnia 2025 r.

androidx.activity:activity:1.11.0-rc01, androidx.activity:activity-compose:1.11.0-rc01androidx.activity:activity-ktx:1.11.0-rc01 są zwalniane. Wersja 1.11.0-rc01 zawiera te zmiany.

Wersja 1.11.0-beta01

9 kwietnia 2025 r.

androidx.activity:activity:1.11.0-beta01, androidx.activity:activity-compose:1.11.0-beta01androidx.activity:activity-ktx:1.11.0-beta01 są zwalniane. Wersja 1.11.0-beta01 zawiera te zmiany.

Wersja 1.11.0-alpha02

26 marca 2025 r.

androidx.activity:activity:1.11.0-alpha02, androidx.activity:activity-compose:1.11.0-alpha02androidx.activity:activity-ktx:1.11.0-alpha02 są zwalniane. Wersja 1.11.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Zintegrowaliśmy nowe funkcje EDGE_NONEframeTimeMillis z Androida 16 Beta03 z BackEventCompat udostępnianym przez funkcje handleOnBackStartedhandleOnBackProgressed OnBackPressedCallback.

Aktualizacje zależności

  • Aktywność jest teraz kompilowana za pomocą interfejsu API w wersji 36. (I510e8, b/301910674)

Wersja 1.11.0-alpha01

12 marca 2025 r.

androidx.activity:activity:1.11.0-alpha01, androidx.activity:activity-compose:1.11.0-alpha01androidx.activity:activity-ktx:1.11.0-alpha01 są zwalniane. Wersja 1.11.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodano interfejs MediaCapabilities API do PickVisualMediaRequest, aby umożliwić aplikacjom określanie możliwości multimedialnych, takich jak obsługiwane typy HDR. (Ic3ee7)

Wersja 1.10

Wersja 1.10.1

26 lutego 2025 r.

androidx.activity:activity:1.10.1, androidx.activity:activity-compose:1.10.1androidx.activity:activity-ktx:1.10.1 są zwalniane. Wersja 1.10.1 zawiera te zmiany.

Poprawki błędów

  • Problemy z ViewTree OnBackPressedDispatcherOwnersFullyDrawnReporterOwners można teraz rozwiązywać za pomocą rozłącznych elementów nadrzędnych widoku, np. ViewOverlay. Więcej informacji o rozłącznych elementach nadrzędnych widoku znajdziesz w informacjach o wersji podstawowej lub w dokumentacji w ViewTree.setViewTreeDisjointParent. (Ie7750)

Wersja 1.10.0

15 stycznia 2025 r.

androidx.activity:activity:1.10.0, androidx.activity:activity-compose:1.10.0androidx.activity:activity-ktx:1.10.0 są zwalniane. Wersja 1.10.0 zawiera te zmiany.

Ważne zmiany od wersji 1.9.0

  • PhotoPicker umożliwia teraz wybieranie obrazów w określonej kolejności i wybieranie karty (albumy lub obrazy), która ma być początkowo widoczna.
  • Umowy PickVisualMediaPickMultipleVisualMedia Activity Result, które wywołują selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć w systemie jest niedostępny, ale używają publicznej czynności ACTION_SYSTEM_FALLBACK_PICK_IMAGES i powiązanych dodatków, aby zapewnić producentom OEM i aplikacjom systemowym spójne działanie selektora zdjęć jako rezerwy.
  • Nowy element LocalActivity kompozycji lokalnej, który udostępnia Activity dla bieżącego zakresu, dzięki czemu deweloperzy nie muszą pobierać ActivityLocalContext.

Wersja 1.10.0-rc01

11 grudnia 2024 r.

androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01androidx.activity:activity-ktx:1.10.0-rc01 są zwalniane. Wersja 1.10.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że zmiana stanu włączenia, gdy PredictiveBackHandler jest obecnie aktywny, natychmiast przerywała wywołanie zwrotne. Teraz dokończy bieżące wywołanie zwrotne niezależnie od zmian stanu włączenia. (Ib8719)

Wersja 1.10.0-beta01

13 listopada 2024 r.

Wersje androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01androidx.activity:activity-ktx:1.10.0-beta01 zostały udostępnione bez zmian w porównaniu z ostatnią wersją alfa. Wersja 1.10.0-beta01 zawiera te zmiany.

Wersja 1.10.0-alpha03

30 października 2024 r.

androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03androidx.activity:activity-ktx:1.10.0-alpha03 są zwalniane. Wersja 1.10.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano nowy lokalny komponent LocalActivity, który udostępnia Activity dla bieżącego zakresu, dzięki czemu deweloperzy nie muszą pobierać ActivityLocalContext. Zawiera też nową regułę lint, która sprawdza, czy LocalContext jest nieprawidłowo rzutowany na Activity. (I7746a, b/283009666)

Poprawki błędów

  • Activity 1.9.3: PredictiveBackHandler nie będzie już wywoływać wywołania zwrotnego po wyłączeniu modułu obsługi. Rozwiąże to problem, w wyniku którego funkcja NavHost z Navigation Compose zgłaszała błąd IndexOutOfBoundsException. (I3f75e, b/365027664, b/340202286)

Aktualizacja zależności

  • Biblioteka Activity Compose zależy teraz od środowiska wykonawczego Compose w wersji 1.7.0 (I7746a, b/283009666)

Wersja 1.10.0-alpha02

4 września 2024 r.

androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02androidx.activity:activity-ktx:1.10.0-alpha02 są zwalniane. Wersja 1.10.0-alpha02 zawiera te zmiany.

Zmiany w zachowaniu

  • Umowy PickVisualMediaPickMultipleVisualMedia Activity Result, które wywołują selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć w systemie jest niedostępny, ale używają publicznej czynności ACTION_SYSTEM_FALLBACK_PICK_IMAGES i powiązanych dodatków, aby zapewnić producentom OEM i aplikacjom systemowym spójne działanie selektora zdjęć jako rezerwy. Nie powinno to mieć wpływu na wrażenia użytkowników, którzy mają urządzenia z najnowszą wersją Usług Google Play. (I3513d)

Poprawki błędów

  • Usunęliśmy 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 w przypadku 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 1.9.2 rozwiązaliśmy problem polegający na tym, że interfejs Activity Compose PredictiveBackHandler API nadal obsługiwał gest cofania systemowego w ramce, w której został wyłączony. Mogło to powodować, że biblioteki takie jak Navigation Compose obsługiwały cofanie nawet w przypadku pustego stosu wstecznego, co powodowało zgłaszanie błędu IndexOutOfBoundsException. (Ie3301, b/340202286)
  • Na stronie Aktywność1.9.1: rozwiązaliśmy problem z PredictiveBackHandler, który powodował, że po cofnięciu zmian w systemie próba wykonania onBackPressedOnBackPressedDispatcher kończyła się niepowodzeniem. (I5f1f8)

Wersja 1.10.0-alpha01

26 czerwca 2024 r.

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

Nowe funkcje

  • Dodaliśmy obsługę nowych funkcji PhotoPicker wprowadzonych w Androidzie V, w tym możliwość wybierania obrazów w określonej kolejności i wybierania, która karta (albumy czy obrazy) ma być początkowo widoczna.

Wersja 1.9

Wersja 1.9.3

16 października 2024 r.

androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3androidx.activity:activity-ktx:1.9.3 są zwalniane. Wersja 1.9.3 zawiera te zmiany.

Poprawki błędów

  • PredictiveBackHandler nie będzie już wywoływać funkcji zwrotnej po wyłączeniu modułu obsługi. Rozwiąże to problem, w wyniku którego funkcja NavHost z Navigation Compose zgłaszała błąd IndexOutOfBoundsException. (I3f75e, b/340202286)

Wersja 1.9.2

4 września 2024 r.

androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2androidx.activity:activity-ktx:1.9.2 są zwalniane. Wersja 1.9.2 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że interfejs Activity Compose PredictiveBackHandler API nadal obsługiwał gest cofania systemu w ramce, w której został wyłączony. Mogło to powodować, że biblioteki takie jak Navigation Compose obsługiwały cofanie nawet przy pustym stosie wstecznym, 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.1androidx.activity:activity-ktx:1.9.1 są zwalniane. Wersja 1.9.1 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem z PredictiveBackHandler, który powodował, że po przywróceniu systemu próba wykonania onBackPressedOnBackPressedDispatcher 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.0androidx.activity:activity-ktx:1.9.0 są zwalniane. Wersja 1.9.0 zawiera te zmiany.

Ważne zmiany od wersji 1.8.0

  • ComponentActivity implementuje teraz OnUserLeaveHintProvider, aby umożliwić komponentom wywoływanie zwrotne w przypadku zdarzeń onUserLeaveHint.
  • Interfejsy API OnBackPressedCallback, BackHandlerPredictiveBackHandler ostrzegają teraz przed wywoływaniem onBackPressedDispatcher.onBackPressed() podczas obsługi przejścia wstecz, ponieważ zawsze przerywa to animację przewidywanego przejścia wstecz. Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach.
  • Pozostałe interfejsy Activity API zostały przepisane w Kotlinie, a wszystkie rozszerzenia dostępne wcześniej w activity-ktx zostały przeniesione do activity. activity-ktx jest teraz całkowicie pusta.
    • W ramach konwersji ActivityResultLauncher na Kotlin metodę getContract przekształciliśmy w abstrakcyjną właściwość Kotlin. Jest to zmiana zgodna binarnie, ale powodująca niezgodność kodu źródłowego, jeśli implementacja ActivityResultLauncher jest napisana w języku Kotlin.

Wersja 1.9.0-rc01

3 kwietnia 2024 r.

androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01androidx.activity:activity-ktx:1.9.0-rc01 są zwalniane. Wersja 1.9.0-rc01 zawiera te zmiany.

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-beta01androidx.activity:activity-ktx:1.9.0-beta01 są zwalniane. Wersja 1.9.0-beta01 zawiera te zmiany.

Poprawki błędów

  • Naprawiono regresję wydajności uruchamiania aktywności wprowadzoną w Activity 1.9.0-alpha02, która była spowodowana wywoływaniem funkcji 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-alpha03androidx.activity:activity-ktx:1.9.0-alpha03 są zwalniane. Wersja 1.9.0-alpha03 zawiera te zmiany.

Ostrzeżenie dotyczące lintera

Poprawki błędów

  • Jeśli zdarzenie powrotu zostanie wysłane z systemu uruchomionego podczas już trwającego gestu przewidywanego powrotu, aktualnie trwający gest przewidywanego powrotu zostanie anulowany, a nowe zdarzenie powrotu przejmie kontrolę, aby rozpocząć nowy gest przewidywanego powrotu. (I3482e)
  • Naprawiono błąd, który występował podczas pierwszego dostępu do onBackPressedDispatcherComponentActivity w wątku w tle. Teraz możesz bezpiecznie uzyskać dostęp do 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-alpha02androidx.activity:activity-ktx:1.9.0-alpha02 są zwalniane. Wersja 1.9.0-alpha02 zawiera te zmiany.

Konwersje w Kotlinie

  • ActivityResultRegistry został przepisany w języku Kotlin. Dzięki temu wartość nullability typów ogólnych w kontrakcie przekazanym do register zostanie prawidłowo przekazana do ActivityResultLauncher zwróconego do Ciebie. (I121f0)
  • ActivityResult został przepisany w języku Kotlin. Rozszerzenia języka Kotlin ActivityResult, które obsługują rozkładanie na pola resultCodedata, zostały przeniesione z activity-ktx do activity. (I0565a)
  • Rozszerzenia Kotlin by viewModels() dla ComponentActivitytrackPipAnimationHintView zostały przeniesione z activity-ktx do activity. Artefakt activity-ktx jest teraz całkowicie pusty. (I0a444)

Poprawki błędów

  • Interfejs API enableEdgeToEdge rysuje teraz elementy wokół wycięć na wyświetlaczu. (a3644b, b/311173461)
  • Activity 1.8.2: poprawiono dodatkowe dane przekazywane do kontraktu aktywności selektora zdjęć ACTION_SYSTEM_FALLBACK_PICK_IMAGES, aby prawidłowo przekazywać je za pomocą klucza EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, a nie dodatkowych danych z kluczem "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który wdraża systemowy selektor zdjęć z funkcją powrotu, zdecydowanie zalecamy obsługę obu dodatków, aby zapewnić jak największą kompatybilność. (I96a00)

Wersja 1.9.0-alpha01

29 listopada 2023 r.

androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01androidx.activity:activity-ktx:1.9.0-alpha01 są zwalniane. Wersja 1.9.0-alpha01 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • ComponentActivity został przepisany w języku Kotlin. (I14f31)
  • ActivityResultCaller został przepisany w języku Kotlin. (Ib02e4)
  • ActivityResultLauncher został przepisany w języku Kotlin. W ramach tej konwersji metoda getContract jest teraz abstrakcyjną właściwością Kotlin. Jest to zmiana zgodna binarnie, ale powodująca niezgodność kodu źródłowego, jeśli implementacja ActivityResultLauncher jest napisana w języku Kotlin. (Id4615)
  • PickVisualMediaRequest ma teraz taki sam minimalny poziom interfejsu API (19) jak kontrakt PickVisualMedia Activity Result. (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.2androidx.activity:activity-ktx:1.8.2 są zwalniane. Wersja 1.8.2 zawiera te zmiany.

Poprawki błędów

  • Poprawiono dodatkowe dane przekazywane do ACTION_SYSTEM_FALLBACK_PICK_IMAGES w umowie dotyczącej aktywności selektora zdjęć, aby prawidłowo przekazywać klucz EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX zamiast używać dodatkowych danych z kluczem "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który wdraża systemowy selektor zdjęć z funkcją powrotu, zdecydowanie zalecamy obsługę obu dodatków, aby zapewnić jak największą kompatybilność. (I96a00)

Wersja 1.8.1

15 listopada 2023 r.

androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1androidx.activity:activity-ktx:1.8.1 są zwalniane. Wersja 1.8.1 zawiera te zmiany.

Poprawki błędów

  • OnBackPressedDispatcher nadal wysyła zdarzenia do właściwego OnBackPressedCallback nawet po dodaniu nowego OnBackPressedCallback podczas obsługi gestu wstecz. (Id0ff6)

Wersja 1.8.0

4 października 2023 roku

androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0androidx.activity:activity-ktx:1.8.0 są zwalniane. Wersja 1.8.0 zawiera te zmiany.

Ważne zmiany od wersji 1.7.0

  • Przewidywane przejście wstecz – OnBackPressedCallback oferuje teraz nowe wywołania zwrotne przewidywanego przejścia wstecz, które obsługują rozpoczęcie gestu przejścia wstecz, jego postęp i anulowanie. Oprócz tego dostępne jest poprzednie wywołanie zwrotne handleOnBackPressed(), które obsługuje zatwierdzenie gestu przejścia wstecz. Zawiera też funkcję PredictiveBackHandler, która obsługuje zdarzenia związane z gestem cofania w kompozycji aktywności. Zapewnia przepływ obiektów BackEventCompat, które muszą być zbierane w zawieszającej lambdzie podanej przez Ciebie:
  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
    }
  }

ComponentActivity.onBackPressed() został wycofany na rzecz interfejsów API do obsługi powrotu. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher zamiast zastępować tę metodę.

  • EdgeToEdge – dodano ComponentActivity.enableEdgeToEdge(), aby w sposób zgodny wstecznie można było łatwo skonfigurować wyświetlacz od krawędzi do krawędzi.

Wersja 1.8.0-rc01

20 września 2023 r.

androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01androidx.activity:activity-ktx:1.8.0-rc01 są zwalniane. Wersja 1.8.0-rc01 zawiera te zmiany.

Wersja 1.8.0-beta01

6 września 2023 r.

androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01androidx.activity:activity-ktx:1.8.0-beta01 są zwalniane. Wersja 1.8.0-beta01 zawiera te zmiany.

Ulepszanie dokumentacji

  • Ulepszyliśmy dokumentację dotyczącą 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-alpha07androidx.activity:activity-ktx:1.8.0-alpha07 są zwalniane. Wersja 1.8.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • W Activity Compose dodano nowy komponent PredictiveBackHandler, który obsługuje zdarzenia gestu przewidywania powrotu. Zawiera Flow obiektów BackEventCompat, które należy zebrać w zawieszającej lambdzie podanej przez użytkownika:

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

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

  • Obiekt onBackPressedDispatcherComponentActivity jest teraz inicjowany z opóźnieniem, dzięki czemu jest tworzony tylko wtedy, gdy jest wymagany. (I0bf8e)

Poprawki błędów

  • ComponentActivity nie będzie już wyświetlać błędu NPE na Androidzie 13, gdy otrzyma wywołanie zwrotne onBackPressed(), a aktywność została już DESTROYED. (Idb055, b/291869278)
  • Usunięto użycie eksperymentalnego interfejsu isAtLeastU() API (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-alpha06androidx.activity:activity-ktx:1.8.0-alpha06 są zwalniane. Wersja 1.8.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • OnBackPressedDispatcher teraz prawidłowo anuluje wszystkie wywołania zwrotne, które zostały usunięte podczas gestu przewidywania powrotu. (I3f90f)

Zmiany w interfejsie API

  • Podczas przekazywania wartości SystemBarStyle.auto do interfejsu enableEdgeToEdge API 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.

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

Zmiany w interfejsie API

  • Activity udostępnia teraz klasę BackEventCompat, która jest wersją zgodną wstecznie klasy BackEvent i jest od niej odłączona.BackEvent
  • Zmiana powodująca niezgodność: metody handleOnBackStartedhandleOnBackProgressed klasy OnBackPressedCallback otrzymują teraz instancję androidx.activity.BackEventCompat zamiast klasy android.window.BackEvent frameworka. Zaktualizowaliśmy też odpowiednie interfejsy API @VisibleForTesting na OnBackPressedDispatcher.
  • Konstruktor OnBackPressedDispatcher przyjmuje teraz opcjonalną instancję Consumer<Boolean>, która umożliwia właścicielom dyspozytora otrzymywanie wywołania zwrotnego, gdy liczba włączonych wywołań zwrotnych zmienia się z zera na wartość różną od zera lub odwrotnie.

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-alpha04androidx.activity:activity-ktx:1.8.0-alpha04 są zwalniane. Została ona udostępniona z wewnętrznej gałęzi.

Poprawki błędów

Wersja 1.8.0-alpha03

12 kwietnia 2023 r.

androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03androidx.activity:activity-ktx:1.8.0-alpha03 są zwalniane. Została ona udostępniona z wewnętrznej gałęzi.

Nowe funkcje

  • Dodaliśmy ComponentActivity.setUpEdgeToEdge(), aby ułatwić konfigurację wyświetlacza od krawędzi do krawędzi w sposób zgodny wstecznie.

Zmiany w interfejsie API

  • ComponentActivity.onBackPressed() został wycofany na rzecz interfejsów API do obsługi powrotu. Deweloperzy powinni teraz używać metody OnBackPressedDispatcher zamiast zastępować tę metodę. (Ibce2f, b/271596918)
  • 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 elementy MenuHost i powodowały nieoczekiwane działanie innych menu w aktywnoś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.

androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02androidx.activity:activity-ktx:1.8.0-alpha02 są zwalniane. Opracowano na podstawie 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-alpha01androidx.activity:activity-ktx:1.8.0-alpha01 są zwalniane. Zostało ono utworzone na podstawie wewnętrznej gałęzi.

Nowe funkcje

  • Klasa OnBackPressedCallback zawiera teraz nowe wywołania zwrotne postępu przewidywanego przejścia wstecz, które obsługują rozpoczęcie gestu, jego postęp i anulowanie. Oprócz tego jest też dostępne poprzednie wywołanie zwrotne handleOnBackPressed(), które jest wywoływane, gdy gest zostanie wykonany.

Wersja 1.7

Wersja 1.7.2

24 maja 2023 r.

androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2androidx.activity:activity-ktx:1.7.2 są zwalniane. Wersja 1.7.2 zawiera te zmiany.

Poprawki błędów

  • Naprawiono błąd powodujący awarię ReportDrawn podczas opuszczania ekranu przed wywołaniem report. (Ic46f1, b/260506820)

Wersja 1.7.1

19 kwietnia 2023 r.

androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1androidx.activity:activity-ktx:1.7.1 są zwalniane. Wersja 1.7.1 zawiera te zmiany.

Poprawki błędów

  • Właściwość ReportFullyDrawExecuter nie jest już ujawniana podczas korzystania z funkcji ComponentActivity z funkcją ActivityScenario. (Id2ff2, b/277434271)

Wersja 1.7.0

22 marca 2023 r.

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0androidx.activity:activity-ktx:1.7.0 są zwalniane. Wersja 1.7.0 zawiera te zmiany.

Ważne zmiany od wersji 1.6.0

  • Kontrakty aktywności selektora zdjęć w PickVisualMediaPickMultipleVisualMedia zostały zaktualizowane, aby zawierały dodatkowe rozwiązanie awaryjne na wypadek niedostępności MediaStore.ACTION_PICK_IMAGES. Umożliwia ono producentom OEM i aplikacjom systemowym, takim jak Usługi Google Play, zapewnienie spójnego działania selektora zdjęć na szerszej gamie urządzeń z Androidem i poziomów interfejsu API przez wdrożenie działania awaryjnego. Selektor zdjęć użyje tego rozwiązania, jeśli będzie ono dostępne, zanim przejdzie do korzystania z Intent.ACTION_OPEN_DOCUMENT, które nadal obsługuje wszystkie urządzenia z interfejsem API 19 i nowszym.
  • ComponentDialog implementuje teraz SavedStateRegistryOwner i ma dostęp do własnego SavedStateRegistry oraz ustawia SavedStateRegistryOwner dla swojego ViewTree. Teraz można używać Jetpack Compose w ComponentDialog, ponieważ spełnia on wymagania LifecycleOwnerSavedStateRegistryOwner dołączone do okna za pomocą interfejsów API ViewTree.
  • IntentSenderRequest.Builder.setFlags() umożliwia teraz ustawianie wielu oznaczeń z poziomu Intent, a nie tylko jednego.

Konwersja do języka Kotlin

Wiele klas aktywności zostało przekonwertowanych na język Kotlin. Wszystkie przekonwertowane zajęcia zachowują zgodność binarną z poprzednimi wersjami. W przypadku klas napisanych w Kotlinie te klasy mają niezgodne zmiany w kodzie źródłowym: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

W tabeli poniżej znajdziesz źródłowe konwersje 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 język Kotlin, ale zachowują zgodność ze źródłem: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequestOnBackPressedDispatcher

Interfejsy FullyDrawnReporter API

ComponentActivity udostępnia teraz instancję FullyDrawnReporter, która umożliwia wielu komponentom zgłaszanie gotowości do interakcji. ComponentActivity poczeka, aż wszystkie komponenty zostaną ukończone, zanim w Twoim imieniu wywoła reportFullyDrawn(). Te interfejsy API spełniają wymagania dotyczące czasu i nie muszą być wywoływane w ramach wywołania onDraw.

Zalecamy włączenie tych interfejsów API:

  • Sygnalizowanie środowisku wykonawczemu Androida zakończenia uruchamiania, aby mieć pewność, że cały kod uruchamiany podczas wieloklatkowej sekwencji uruchamiania jest uwzględniany i traktowany priorytetowo w kompilacji w tle.
  • Sygnalizowanie testu porównawczego Macrobenchmark i danych Play Vitals, kiedy aplikacja powinna być uznawana za w pełni wyrenderowaną na potrzeby pomiarów uruchamiania, aby można było śledzić wydajność.

Dodaliśmy 3 interfejsy Activity Compose API, aby ułatwić korzystanie z FullyDrawnReporter w poszczególnych komponentach:

  • ReportDrawn oznacza, że komponent jest od razu gotowy do interakcji.
  • ReportDrawnWhen przyjmuje predykat (czyli list.count > 0), aby wskazać, kiedy komponent jest gotowy do interakcji.
  • ReportDrawnAfter przyjmuje metodę zawieszającą, która po zakończeniu wskazuje, że jesteś gotowy(-a) 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-rc01androidx.activity:activity-ktx:1.7.0-rc01 są zwalniane. Wersja 1.7.0-rc01 zawiera te zmiany.

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-beta02androidx.activity:activity-ktx:1.7.0-beta02 są zwalniane. Wersja 1.7.0-beta02 zawiera te zmiany.

Zmiany w interfejsie API

  • Działanie i dodatkowy element używane przez kontrakty PickVisualMediaPickMultipleVisualMedia jako rezerwa, gdy MediaStore.ACTION_PICK_IMAGES jest niedostępny, 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ęć. To rozwiązanie jest nadal ograniczone tylko do 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-beta01androidx.activity:activity-ktx:1.7.0-beta01 są zwalniane. Wersja 1.7.0-beta01 zawiera te zmiany.

Nowe funkcje

  • IntentSenderRequest.Builder.setFlags() umożliwia teraz ustawianie wielu oznaczeń z poziomu Intent, a nie tylko jednego. (Iac04c)

Poprawki błędów

  • W przypadku PickVisualMedia, gdy selektor zdjęć nie jest dostępny, mechanizm rezerwowy prawidłowo ogranicza obsługę do aplikacji zainstalowanych w obrazie systemu urządzenia. (If8ae6)

Konwersje w Kotlinie

  • ActivityResultRegistryOwner jest teraz napisany w języku Kotlin. Jest to zmiana powodująca niezgodność źródła w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwość activityResultRegistry, a nie implementować poprzedniej funkcji getActivityResultRegistry(). (I0b00e)
  • OnBackPressedDispatcherOwner jest teraz napisany w języku Kotlin. Jest to zmiana powodująca niezgodność źródła w przypadku klas napisanych w Kotlinie – teraz musisz zastąpić właściwość onBackPressedDispatcher, a nie implementować poprzedniej funkcji getOnBackPressedDispatcher. (Ia277d)
  • 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.

androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04androidx.activity:activity-ktx:1.7.0-alpha04 są zwalniane. Wersja 1.7.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Umowy dotyczące wyników aktywności PickVisualMediaPickMultipleVisualMedia będą teraz korzystać z selektora zdjęć udostępnianego przez usługi Google Play, jeśli jest on dostępny w przypadkach, w których selektor zdjęć jest udostępniany przez system Android (np. MediaStore.ACTION_PICK_IMAGES) jest niedostępna. Interfejs isPhotoPickerAvailable() API, który wykrywa tylko selektor zdjęć udostępniany przez system Android, został wycofany. Zalecamy używanie nowego interfejsu isPhotoPickerAvailable(Context) API, który zwraca informację o dostępności selektora 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-alpha03androidx.activity:activity-ktx:1.7.0-alpha03 są zwalniane. Wersja 1.7.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • ComponentDialog implementuje teraz SavedStateRegistryOwner i ma dostęp do własnego SavedStateRegistry oraz ustawia SavedStateRegistryOwner dla swojego ViewTree. Teraz możesz używać Jetpack Compose w ComponentDialog, ponieważ spełnia on wymagania LifecycleOwnerSavedStateRegistryOwner dołączone do okna za pomocą interfejsów ViewTree API. (Idca17, I73468 b/261162296)

Zmiany w interfejsie API

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

Konwersje w Kotlinie

  • Klasy ActvitiyResultCallbackOnBackPressedCallback zostały przekonwertowane na Kotlin z zachowaniem zgodności kodu źródłowego i binarnej. (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-alpha02androidx.activity:activity-ktx:1.7.0-alpha02 są zwalniane. Wersja 1.7.0-alpha02 zawiera te zmiany.

Poprawki błędów

  • W sekcji Aktywność1.6.1: rozwiązaliśmy problem z nieuruchamianiem kontraktu PickMultipleVisualMedia Activity Result na urządzeniach z Androidem R, gdy używana była wartość domyślna parametru 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-alpha01androidx.activity:activity-ktx:1.7.0-alpha01 są zwalniane. Wersja 1.7.0-alpha01 zawiera te zmiany.

Interfejsy FullyDrawnReporter API

ComponentActivity udostępnia teraz instancję FullyDrawnReporter, która umożliwia wielu komponentom zgłaszanie gotowości do interakcji. ComponentActivity poczeka, aż wszystkie komponenty zostaną ukończone, zanim w Twoim imieniu wywoła reportFullyDrawn(). Te interfejsy API spełniają wymagania dotyczące czasu i nie muszą być wywoływane w ramach wywołania onDraw.

Zalecamy włączenie tych interfejsów API:

  • Sygnalizowanie środowisku wykonawczemu Androida zakończenia uruchamiania, aby mieć pewność, że cały kod uruchamiany podczas wieloklatkowej sekwencji uruchamiania jest uwzględniany i traktowany priorytetowo w kompilacji w tle.
  • Sygnalizowanie testu porównawczego Macrobenchmark i danych Play Vitals, kiedy aplikacja powinna być uznawana za w pełni wyrenderowaną na potrzeby pomiarów uruchamiania, aby można było śledzić wydajność.

Dodaliśmy 2 interfejsy Activity Compose API, aby ułatwić korzystanie z FullyDrawnReporter z pojedynczych komponentów:

  • ReportDrawnWhen przyjmuje predykat (czyli list.count > 0), aby wskazać, kiedy komponent jest gotowy do interakcji.
  • ReportDrawnAfter przyjmuje metodę zawieszającą, która po zakończeniu wskazuje, że jesteś gotowy(-a) 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.1androidx.activity:activity-ktx:1.6.1 są zwalniane. Wersja 1.6.1 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem z kontraktem PickMultipleVisualMedia Activity Result, który nie uruchamiał się na urządzeniach z Androidem R, gdy używana była wartość domyślna parametru 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.0androidx.activity:activity-ktx:1.6.0 są zwalniane. Wersja 1.6.0 zawiera te zmiany.

Ważne zmiany od wersji 1.5.0

  • Dodano ActivityResultContracts.PickVisualMediaActivityResultContracts.PickMultipleVisualMedia, aby zapewnić zgodną wstecznie umowę, która używa MediaStore.ACTION_PICK_IMAGES, gdy dostępny jest Selektor zdjęć, oraz Intent.ACTION_OPEN_DOCUMENT, gdy nie jest on dostępny.
  • Zintegrowaliśmy OnBackInvokedCallback w Androidzie 13 z OnBackPressedDispatchers udostępnianym przez ComponentActivityComponentDialog. Dzięki temu wszystkie interfejsy API oparte naOnBackPressedDispatcher będą działać po włączeniu gestu przewidywanego powrotu.

Wersja 1.6.0-rc02

7 września 2022 roku

androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02androidx.activity:activity-ktx:1.6.0-rc02 są zwalniane. Wersja 1.6.0-rc02 zawiera te zmiany.

Poprawki błędów

  • OnBackPressedDispatcher rejestruje teraz OnBackInvokedCallback na koncie PRIORITY_DEFAULT zamiast na koncie PRIORITY_OVERLAY. (I3901f)
  • Klasy, które rozszerzają ComponentActivity, będą teraz zawsze wywoływać oba wywołania zwrotne onMultiWindowModeChanged(). (Ic4d85)
  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie funkcji launch zgłosi błąd Exception, a funkcja wywołania zwrotnego została zarejestrowana bez funkcji LifecycleOwner. (Ia7ff7, b/238350794)
  • ComponentActivity będzie teraz prawidłowo wysyłać wywołania menu bez konieczności wywoływania funkcji nadrzędnej w 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-rc01androidx.activity:activity-ktx:1.6.0-rc01 są zwalniane. Wersja 1.6.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Inicjowanie OnBackPressedDispatcher nie będzie już powodować ClassVerificationError w przypadku używania wersji pakietu SDK starszych niż 33. (Ic32e1)
  • W przypadku klas, które zastępują wywołanie zwrotne ComponentActivityonPictureInPictureModeChanged(), wywołania zwrotne będą teraz zawsze wysyłane. (Ib7fdb)

Wersja 1.6.0-beta01

10 sierpnia 2022 r.

androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01androidx.activity:activity-ktx:1.6.0-beta01 są zwalniane. Wersja 1.6.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Oznaczyliśmy wycofane metody startActivityForResultstartIntentSenderForResultComponentActivity symbolem @NonNull, ponieważ przekazywanie wartości null zawsze powodowało awarię. (Id2a25, b/231476082)

Poprawki błędów

  • Activity 1.5.1: ActivityResultRegistry nie będzie już zwracać wyniku do ActivityResultCallback, gdy wywołanie launch zgłosi błąd Exception, a wywołanie zwrotne zostało zarejestrowane bez LifecycleOwner. (Ia7ff7, b/238350794)
  • aktywności 1.5.1: ComponentActivity będzie teraz prawidłowo wysyłać wywołania menu do zastąpień onPrepareOptionMenu(), onCreateOptionsMenu()onOptionsItemSelected() bez konieczności wywoływania funkcji super. (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-alpha05androidx.activity:activity-ktx:1.6.0-alpha05 są zwalniane. Wersja 1.6.0-alpha05 została opracowana w prywatnej gałęzi przedpremierowej i nie zawiera publicznych commitów.

Zmiany w interfejsie API

  • minCompileSdk ma teraz wartość 33, aby była zgodna z pakietem SDK Tiramisu Beta 3

Poprawki błędów

  • Naprawiono awarię na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK dla PickVisualMedia ActivityResultContract, dzięki czemu powinno ono teraz działać z ACTION_OPEN_DOCUMENT na urządzeniach z Androidem 10 i starszym.

Wersja 1.6.0-alpha04

18 maja 2022 r.

androidx.activity:activity:1.6.0-alpha04androidx.activity:activity-ktx:1.6.0-alpha04 zostały opublikowane.

Poprawki błędów

  • Naprawiono błąd w PickVisualMediaRequest, w którym próba utworzenia żądania za pomocą narzędzia do tworzenia lub funkcji Kotlin najwyższego poziomu powodowała przepełnienie stosu.
  • Zintegrowaliśmy OnBackInvokedCallback w Androidzie 13 w wersji beta dla deweloperów 2 z OnBackPressedDispatcher dostarczonym przez ComponentDialog. Dzięki temu wszystkie interfejsy API oparte na OnBackPressedDispatcher będą działać po włączeniu gestu przewidywania powrotu.

Wersja 1.6.0-alpha03

27 kwietnia 2022 r.

androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03androidx.activity:activity-ktx:1.6.0-alpha03 są zwalniane.

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

Nowe funkcje

  • Dodano ActivityResultContracts.PickVisualMediaActivityResultContracts.PickMultipleVisualMedia, aby zapewnić zgodną wstecznie umowę, która używa MediaStore.ACTION_PICK_IMAGES, gdy dostępny jest Selektor zdjęć, oraz Intent.ACTION_OPEN_DOCUMENT, gdy nie jest on dostępny.
  • Zintegrowaliśmy OnBackInvokedCallback w Androidzie 13 w wersji beta 1 dla deweloperów z OnBackPressedDispatcher dostarczonym przez ComponentActivity. Dzięki temu wszystkie interfejsy API oparte na OnBackPressedDispatcher będą działać po włączeniu gestu przewidywania powrotu.

Wersja 1.6.0-alpha01

23 marca 2022 r.

androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01androidx.activity:activity-ktx:1.6.0-alpha01 są zwalniane.

  • Uwaga: ta wersja będzie kompilowana tylko w oparciu o pakiet SDK wersji przedpremierowej 2 Androida 13.

Nowe funkcje

  • Zintegrowano zmiany z Androida 13 w wersji Dev Preview 2 z 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.1androidx.activity:activity-ktx:1.5.1 są zwalniane. Wersja 1.5.1 zawiera te zmiany.

Poprawki błędów

  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie funkcji launch() spowoduje błąd Exception, a wywołanie zwrotne zostało zarejestrowane bez funkcji LifecycleOwner. (Ia7ff7, b/238350794)

  • ComponentActivity będzie teraz prawidłowo przekazywać wywołania menu do zastąpień onPrepareOptionMenu(), onCreateOptionsMenu()onOptionsItemSelected() bez konieczności wywoływania funkcji super. (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.0androidx.activity:activity-ktx:1.5.0 są zwalniane. Wersja 1.5.0 zawiera te zmiany.

Ważne zmiany od wersji 1.4.0

  • ComponentDialogComponentDialog to podklasa Dialog, która zawiera OnBackPressedDispatcher wywoływany po naciśnięciu systemowego przycisku Wstecz, gdy okno jest widoczne. Co ważne, ta podklasa ustawia też ViewTreeOnBackPressedDispatcherOwner, co umożliwia widokom ogólny sposób pobierania prawidłowego dyspozytora, niezależnie od tego, czy znajduje się on w ComponentActivity, czy w ComponentDialog.
  • Interfejsy wywołań zwrotnych – ComponentActivity implementuje teraz zestaw modułowych interfejsów wywołań zwrotnych, których można używać zamiast wywołań zwrotnych Activity. Te interfejsy to: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • Integracja CreationExtras – ComponentActivity może teraz udostępniać bezstanowy ViewModelProvider.Factory za pomocą cyklu życia 2.5.0 CreationExtras.

Inne zmiany

  • Konstruktor bez parametrów dla klasy ActivityResultContracts.CreateDocument został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ MIME (np. „image/png”), zgodnie z wymaganiami 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-rc01androidx.activity:activity-ktx:1.5.0-rc01 zostały opublikowane bez zmian w porównaniu z wersją 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te zmiany.

Wersja 1.5.0-beta01

20 kwietnia 2022 r.

androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01androidx.activity:activity-ktx:1.5.0-beta01 są zwalniane. Wersja 1.5.0-beta01 zawiera te zmiany.

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-alpha05androidx.activity:activity-ktx:1.5.0-alpha05 są zwalniane. Wersja 1.5.0-alpha05 zawiera te zmiany.

Poprawki błędów

  • ComponentActivityonPanelClosed() wywołuje teraz również superklasę onPanelClosed(), co rozwiązuje problem polegający na tym, ż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-alpha04androidx.activity:activity-ktx:1.5.0-alpha04 są zwalniane. Wersja 1.5.0-alpha04 zawiera te zmiany.

Poprawki błędów

  • SavedStateViewFactory obsługuje teraz używanie CreationExtras nawet wtedy, gdy zostało zainicjowane za pomocą SavedStateRegistryOwner. Jeśli podasz dodatkowe informacje, zainicjowane argumenty zostaną zignorowane. (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-alpha03androidx.activity:activity-ktx:1.5.0-alpha03 są zwalniane. Wersja 1.5.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Możesz teraz przekazywać wartość CreationExtras do funkcji działania by viewModels() (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-alpha02androidx.activity:activity-ktx:1.5.0-alpha02 są zwalniane. Wersja 1.5.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • ComponentActivity implementuje teraz interfejs OnPictureInPictureModeChangedProvider, aby umożliwić dowolnemu komponentowi odbieranie zdarzeń zmiany trybu obrazu w obrazie. (I9f567)
  • ComponentActivity implementuje teraz interfejs OnMultiWindowModeChangedProvider, aby umożliwić dowolnemu komponentowi odbieranie 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-alpha01androidx.activity:activity-ktx:1.5.0-alpha01 są zwalniane. Wersja 1.5.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • ComponentActivity jest teraz zintegrowany z interfejsem ViewModel CreationExtras, który został wprowadzony w ramach Lifecycle 2.5.0-alpha01. (Ie7e00, b/207012584)
  • Dodano ComponentDialog, podklasę Dialog, która zawiera OnBackPressedDispatcher, wywoływaną po naciśnięciu przycisku Wstecz w systemie, gdy okno dialogowe jest widoczne. Ważne jest, że ta podklasa ustawia też ViewTreeOnBackPressedDispatcherOwner, co umożliwia widokom ogólny sposób pobierania odpowiedniego dyspozytora, niezależnie od tego, czy znajduje się on w ComponentActivity czy w ComponentDialog. (I8a1bc)
  • ComponentActivity implementuje teraz nowy interfejs OnNewIntentProvider, aby umożliwić dowolnemu komponentowi odbieranie tych zdarzeń. (If1f8b)
  • ComponentActivity implementuje teraz nowy interfejs OnConfigurationChangedProvider, aby umożliwić dowolnemu komponentowi odbieranie tych zdarzeń. (If623b)
  • ComponentActivity implementuje teraz nowy interfejs OnTrimMemoryProvider, aby umożliwić odbieranie tych zdarzeń przez dowolny komponent. (Ia9295)

Zmiany w interfejsie API

  • Konstruktor bez parametrów dla elementu ActivityResultContracts.CreateDocument został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ MIME (np. "image/png"), zgodnie z wymaganiami Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • OnBackPressedDispatcherOwner powiązany z widokiem można teraz pobrać za pomocą ViewTreeOnBackPressedDispatcherOwner, zamiast polegać na rzutowaniu Context. (I74685)

Poprawki błędów

  • Naprawiono błąd powodujący awarię podczas pierwszego dostępu do ViewModel z wywołania zwrotnego registerForActivityResult() lub wywołań zwrotnych do LifecycleObserver dodanych w ramach init 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.0androidx.activity:activity-ktx:1.4.0 są zwalniane. Wersja 1.4.0 zawiera te zmiany.

Ważne zmiany od wersji 1.3.0

  • AndroidX ComponentActivity implementuje teraz interfejs MenuHost. Dzięki temu każdy komponent może dodawać elementy menu do ActionBar, dodając do aktywności instancję 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 elementu Lifecycle i obsługiwać usuwanie elementu MenuProvider po zniszczeniu elementu Lifecycle.
  • Klasa ActivityResultContract została przepisana w języku Kotlin, aby deweloperzy piszący niestandardowe umowy w tym języku mogli określać prawidłową wartość null dla klas wejściowych i wyjściowych.
  • Klasa ActivityResultContracts i jej kontrakty zostały przepisane w języku Kotlin, aby zapewnić prawidłową wartość 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-rc01androidx.activity:activity-ktx:1.4.0-rc01 są zwalniane. Wersja 1.4.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie launch spowoduje błąd 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-beta01androidx.activity:activity-ktx:1.4.0-beta01 są zwalniane. Wersja 1.4.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Naprawiono typy parametrów ActivityResultContracts.OpenMultipleDocuments i ActivityResultContracts.GetMultipleContents, które powodowały, że podczas korzystania z kodu w języku Java używany był typ wyjściowy List<? extends Uri>. (If71de)
  • Stałe publiczne w klasach ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResultActivityResultContracts.RequestMultiplePermissions są teraz dostępne podczas korzystania z Kotlin za pomocą ich publicznych obiektów Companion. (aosp/1832555)

Aktualizacje dokumentacji

  • Komunikaty o wycofaniu interfejsów API, które są teraz obsługiwane przez interfejsy API wyników aktywności, czyli startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissionsonRequestPermissionsResult, zostały rozszerzone o dodatkowe szczegóły. (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-alpha02androidx.activity:activity-ktx:1.4.0-alpha02 są zwalniane. Wersja 1.4.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Artefakt activity-compose zawiera teraz błąd lintowania LaunchDuringComposition, który uniemożliwia wywoływanie metody launch elementu ActivityResultLauncher w ramach kompozycji, ponieważ kompozycja powinna być wolna od efektów ubocznych. Używaj interfejsów API do obsługi efektów ubocznych. (7c2bbe, b/191347220)

Zmiany w interfejsie API

  • Klasa ActivityResultContract została przepisana w języku Kotlin, aby deweloperzy piszący niestandardowe umowy w tym języku mogli określać prawidłową wartość null dla klas wejściowych i wyjściowych. (I8a8f5)
  • Klasa ActivityResultContracts i jej kontrakty zostały przepisane w języku Kotlin, aby zapewnić 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-alpha01androidx.activity:activity-ktx:1.4.0-alpha01 są zwalniane. Wersja 1.4.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • AndroidX ComponentActivity implementuje teraz interfejs MenuHost. Dzięki temu każdy komponent może dodawać elementy menu do ActionBar, dodając do aktywności instancję 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 elementu Lifecycle i obsługiwać usuwanie elementu MenuProvider po zniszczeniu 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 zgłaszać wyjątek IllegalStateException podczas próby wywołania funkcji launch() na urządzeniu ActivityResultLauncher, które nie zostało zarejestrowane lub zostało wyrejestrowane. (Ida75d, b/192567522)

Wkład zewnętrzny

  • Dziękujemy dmitrilc za poprawienie literówki w dokumentacji ActivityResult. (#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.1androidx.activity:activity-ktx:1.3.1 są zwalniane. Wersja 1.3.1 zawiera te zmiany.

Aktualizacje zależności

  • Aktywność zależy teraz od Kotlin 1.5.21.
  • Activity Compose zależy teraz od Compose 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.0androidx.activity:activity-ktx:1.3.0 są zwalniane. Wersja 1.3.0 zawiera te zmiany.

Ważne zmiany od wersji 1.2.0

  • Artefakt Activity Compose – artefakt activity-compose udostępnia metodę rozszerzenia setContent do hostowania interfejsu Jetpack Compose w aktywności oraz specjalne otoki Compose do interakcji z interfejsami API ComponentActivity do obsługi systemowego przycisku Wstecz i interfejsami Activity Result API. Więcej informacji znajdziesz w dokumentacji.
  • Umowa CaptureVideo – umowa CaptureVideo ActivityResultContract zastępuje wycofaną już umowę TakeVideo i zwraca wartość logiczną oznaczającą powodzenie, która działa w wielu aplikacjach aparatu.
  • Śledzenie widoku podpowiedzi obrazu w obrazie – użytkownicy activity-ktx mogą teraz używać metody rozszerzenia trackPipAnimationHintView na Activity, aby automatycznie przebudowywać PictureInPictureParams z nową pozycją widoku, gdy zmienia on pozycję 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-rc02androidx.activity:activity-ktx:1.3.0-rc02 są zwalniane. Wersja 1.3.0-rc02 zawiera te zmiany.

Poprawki błędów

  • Wywołania zwrotne ActivityResultRegistry są teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są duplikowane w savedState. (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 są udostępniane bez zmian w stosunku do wersji 1.3.0-beta02. Wersja 1.3.0-rc01 zawiera te zmiany.

Wersja 1.3.0-beta02

16 czerwca 2021 r.

androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02androidx.activity:activity-ktx:1.3.0-beta02 są zwalniane. Wersja 1.3.0-beta02 zawiera te zmiany.

Zaktualizowano activity-compose, aby zależało od Compose 1.0.0-beta09. androidx.compose.ui:ui-test-junit4 ma teraz zależność w czasie kompilacji od 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-beta01androidx.activity:activity-ktx:1.3.0-beta01 są zwalniane. Wersja 1.3.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Wycofana wcześniej metoda @Composable registerForActivityResult() została usunięta. Użyj rememberLauncherForActivityResult(). (Ic39d3)

Wersja 1.3.0-alpha08

18 maja 2021 r.

androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08androidx.activity:activity-ktx:1.3.0-alpha08 są zwalniane. Wersja 1.3.0-alpha08 zawiera te zmiany.

Nowe funkcje

  • Nowa funkcja CaptureVideo ActivityResultContract zwraca wartość logiczną do funkcji ActivityResultCallback, która wskazuje, czy film został zapisany pod podanym identyfikatorem URI. Zastępuje to obecnie wycofany kontrakt TakeVideo, ponieważ aplikacje aparatu bardzo rzadko obsługiwały zwracanie miniatury bitmapy, co sprawiało, że wynik był bezużyteczny. (Ie21f2, b/185938070)
  • Dodano nowy interfejs API Activity#setPipAnimationHintView do aktualizowania wskazówki dotyczącej prostokąta źródłowego parametru PipParams za każdym razem, gdy widok się przesuwa. (I9063d)

Zmiany w interfejsie API

  • Funkcja rememberLauncherForActivityResult zwraca teraz program uruchamiający, który wycofuje funkcję unregister() – rejestracja i wyrejestrowanie programu uruchamiającego są obsługiwane automatycznie przez funkcję rememberLauncherForActivityResult. (I2443e)

Zgodność z Compose

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

Wersja 1.3.0-alpha07

21 kwietnia 2021 r.

androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07androidx.activity:activity-ktx:1.3.0-alpha07 są zwalniane. Wersja 1.3.0-alpha07 zawiera te zmiany.

Poprawki błędów

  • rememberLauncherForActivityResult zwraca teraz stabilne odwołanie do tej samej instancji, nawet jeśli umowa ulegnie zmianie z powodu ponownego zestawienia.ActivityResultLauncher (Id2d6d)
  • Używanie niestabilnych wersji Fragmentów powyżej 1.3.0 nie będzie już powodować błędu fałszywie pozytywnego, który sugeruje 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-alpha06androidx.activity:activity-ktx:1.3.0-alpha06 są zwalniane. Wersja 1.3.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Nazwa interfejsu registerForActivityResult() została zmieniona na rememberLauncherForActivityResult(), aby lepiej wskazywać, że zwracany obiekt ActivityResultLauncher jest obiektem zarządzanym, który jest zapamiętywany w Twoim imieniu. Próba wywołania funkcji unregister, która zwraca wartość ActivityResultLauncher, spowoduje teraz błąd. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.currentLocalActivityResultRegistryOwner.current zwracają teraz wartość dopuszczającą wartość null, aby lepiej określić, czy jest ona dostępna w bieżącej kompozycji. Interfejsy API, które wymagają tych interfejsów, np. BackHandlerrememberLauncherForActivityResult(), będą teraz zgłaszać bardziej opisowy błąd, jeśli nie zostanie znaleziony właściciel bazowy. NavHost działa teraz nawet wtedy, gdy nie można znaleźć OnBackPressedDispatcherOwner, np. podczas wyświetlania podglądu NavHost. (I7d8b4)

Poprawki błędów

  • BackHandler będzie teraz prawidłowo przechwytywać naciśnięcia przycisku Wstecz, jeśli aktywność jest STOPPED, a potem ponownie STARTED. Dodaliśmy też inne wywołania zwrotne z właścicielem cyklu życia. (I71de6, b/182284739)
  • Używanie rozszerzenia metody launch() z niestandardowym ActivityResultContract, które ma dane wejściowe Unit, nie będzie już powodować błędu 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-alpha05androidx.activity:activity-ktx:1.3.0-alpha05 są zwalniane. Wersja 1.3.0-alpha05 zawiera te zmiany.

Poprawki błędów

  • Activity 1.2.2: naprawiono problem w sprawdzaniu kodu InvalidFragmentVersionForActivityResult, który powodował fałszywie dodatni wynik podczas korzystania z Fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985)
  • Activity 1.2.2: ComponentActivity unika teraz ClassNotFoundException podczas uruchamiania IntentActivityResultContract, który był wcześniej przechowywany jako dodatkowy w innym Intent. (Ieff05, b/182906230)

Aktualizacje zależności

Wersja 1.3.0-alpha04

10 marca 2021 r.

androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04androidx.activity:activity-ktx:1.3.0-alpha04 są zwalniane. Wersja 1.3.0-alpha04 zawiera te zmiany.

Poprawki błędów

  • W sekcji Aktywność1.2.1: RequestMultiplePermissions zawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko dla tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)
  • W sekcji Aktywność1.2.1: ActivityResultRegistry teraz masz pewność, że trwające launch() żądania zwrócą wyniki nawet wtedy, gdy unregister(), a potem ponownie register() z tym samym kluczem. (I9ef34, b/181267562)
  • Biblioteka Activity Compose nie dodaje już zależności testowych do ścieżki klas środowiska wykonawczego. (Ifd8b3)
  • Rozwiązaliśmy problem z funkcją BackHandler, który powodował, że po ponownym skomponowaniu nadal była używana wcześniej ustawiona lambda onBack. (8eb5eb)

Wersja 1.3.0-alpha03

24 lutego 2021 r.

androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03androidx.activity:activity-ktx:1.3.0-alpha03 są zwalniane. Wersja 1.3.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • Dostępna jest teraz funkcja registerForActivityResult typu „composable”, która umożliwia uzyskiwanie wyników z aktywności w funkcjach typu „composable”. (Ia7851, b/172690553)

Zmiany w interfejsie API

  • LocalOnBackPressedDispatcherOwner ma teraz funkcje provides, których można używać z CompositionLocalProvider. Zastępują one interfejs asProvidableCompositionLocal() API. (I45d24)

Wersja 1.3.0-alpha02

10 lutego 2021 r.

androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02androidx.activity:activity-ktx:1.3.0-alpha02 są zwalniane. Wersja 1.3.0-alpha02 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem w Activity Compose 1.3.0-alpha01, który powodował wyjątek NoSuchMethodError: No static method setContent podczas korzystania z Compose 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 BackHandler API umożliwia komponentowi Composable przechwytywanie 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-alpha01androidx.activity:activity-ktx:1.3.0-alpha01 są zwalniane. Wersja 1.3.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Nowy artefakt activity-compose zawiera pomocnicze funkcje Jetpack Compose dla interfejsów API androidx.activity.
    • ComponentActivity.setContent został przeniesiony z androidx.compose.ui.platform.setContent do androidx.activity.compose.setContent. (Icf416)

Znane problemy

  • Używanie Activity Compose 1.3.0-alpha01 i bibliotek, które od niej zależą, np. 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 zostały opublikowane. Wersja 1.2.4 zawiera te zmiany.

Poprawki błędów

  • W sekcji Aktywność1.3.0-rc02: wywołania zwrotne ActivityResultRegistry są teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są duplikowane w savedState. (I97816, b/191893160)

Wersja 1.2.3

Wersja 1.2.3

5 maja 2021 roku

androidx.activity:activity:1.2.3androidx.activity:activity-ktx:1.2.3 zostały opublikowane. Wersja 1.2.3 zawiera te zmiany.

Poprawki błędów

  • Używanie rozszerzenia metody launch() z niestandardowym ActivityResultContract, które ma dane wejściowe Unit, nie będzie już powodować błędu NullPointerException (I76282, b/183837954).
  • Naprawiono błąd fałszywie dodatni narzędzia lint, który sugerował użycie fragmentu 1.3.0 podczas korzystania z wersji zrzutu, alfa, beta lub RC nowszej wersji biblioteki 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 zostały opublikowane. Wersja 1.2.2 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem w InvalidFragmentVersionForActivityResult, który powodował fałszywie pozytywny wynik podczas korzystania z biblioteki Fragment w wersji 1.3.1 lub nowszej. (I54da1, b/182388985)
  • ComponentActivity unika teraz ClassNotFoundException podczas uruchamiania IntentActivityResultContract, który był wcześniej przechowywany jako dodatkowy w innym 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 zostały opublikowane. Wersja 1.2.1 zawiera te zmiany.

Poprawki błędów

  • RequestMultiplePermissions zawsze zwraca wyniki dla wszystkich żądanych uprawnień, a nie tylko dla tych, które nie zostały wcześniej przyznane. (I50bc3, b/180884668)
  • ActivityResultRegistry zapewnia teraz, że trwające żądania launch() zwrócą wyniki nawet wtedy, gdy unregister(), a potem ponownie register() przy użyciu tego samego klucza. (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 zostały opublikowane. Wersja 1.2.0 zawiera te zmiany.

Główne zmiany od wersji 1.1.0

  • Interfejsy API wyników aktywności: ComponentActivity udostępniają teraz ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult()requestPermissions()+onRequestPermissionsResult() bez zastępowania metod w aktywności lub fragmencie, zwiększa bezpieczeństwo typów za pomocą ActivityResultContract i zapewnia punkty zaczepienia do testowania tych przepływów. Zapoznaj się z aktualizacją artykułu Uzyskiwanie wyniku z aktywności.
  • ContextAware: ComponentActivity implementuje teraz ContextAware, co umożliwia dodanie co najmniej 1 instancji OnContextAvailableListener, która będzie otrzymywać wywołanie zwrotne przed podstawową instancją Activity.onCreate().

    • Zawieszające rozszerzenie Kotlin withContextAvailable() umożliwia uruchomienie bloku niezawieszającego, gdy kontekst stanie się dostępny, i zwrócenie wyniku.
    • Ten interfejs API jest używany przez FragmentActivityfragmencie 1.3.0 do przywracania stanu FragmentManager. Wszyscy detektorzy dodani do podklas FragmentActivity będą uruchamiani po tym detektorze.
    • Ten interfejs API jest używany przez AppCompatActivityAppCompat 1.3.0-alpha02 lub nowszym. Wszyscy detektorzy dodani do podklas AppCompatActivity będą uruchamiani po tym detektorze.
  • ViewTree Support: 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.

  • Wsteczna implementacja metody reportFullyDrawn() – metoda Activity klasy reportFullyDrawn() została wstecznie zaimplementowana w ComponentActivity, aby działać na wszystkich poziomach API. Rozwiązuje to problem z awarią na poziomie API 19 i dodaje śledzenie tej metody na wszystkich poziomach API.

Wersja 1.2.0-rc01

16 grudnia 2020 roku

androidx.activity:activity:1.2.0-rc01androidx.activity:activity-ktx:1.2.0-rc01 zostały opublikowane. Wersja 1.2.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Funkcja ActivityResultRegistry zawsze przywraca dokładny stan, który został zapisany. (Idd56b)
  • Dodawanie śledzenia do ComponentActivity.reportFullyDrawn (Ic7632)

Wkład zewnętrzny

  • ComponentActivity zastępuje teraz reportFullyDrawn(), co umożliwia wywoływanie go na wszystkich poziomach interfejsu API i eliminuje awarię podczas wywoływania tej metody bez odpowiedniego uprawnienia systemowego na urządzeniach z interfejsem API 19. Dziękujemy Simonowi Schillerowi! (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 zostały opublikowane. Wersja 1.2.0-beta02 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że interfejs Activity Result API nie czekał na przejście cyklu życia do stanu STARTED przed dostarczeniem wyników, gdy był zarejestrowany w Lifecycle. (I109ea)

Wkład zewnętrzny

  • Zaktualizowaliśmy dokumentację dotyczącą funkcji launch(), aby wyraźnie zaznaczyć, że może ona zgłaszać wyjątek ActivityNotFoundException. Dziękujemy Michałowi Zielińskiemu! (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 zostały opublikowane. Wersja 1.2.0-beta01 zawiera te zmiany.

Poprawki błędów

  • Funkcja ActivityResultRegistry losowo generuje liczby całkowite, dopóki nie znajdzie liczby, która nie jest jeszcze przypisana, aby użyć jej jako kodu żądania register(). Zapobiega to możliwemu przepełnieniu liczby całkowitej spowodowanemu zwiększaniem kodów żądań. (b/168779518)

  • Lifecycle obserwatorzy są prawidłowo usuwani podczas wywoływania unregister() na ActivityResultLauncher. (b/165608393)

Zmiany w zachowaniu

  • ActivityResultRegistry zgłasza teraz IllegalStateException podczas próby wywołania register() za pomocą LifecycleOwner, którego Lifecycle osiągnął już wartość STARTED. (b/165435866)

Zaktualizowana dokumentacja

  • ContextAware dokumentacji LifecycleOwner, aby podkreślić, że Lifecycle wywołania zwrotne są odpowiednim miejscem dla zdarzeń tworzenia i usuwania. (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 zostały opublikowane. Wersja 1.2.0-alpha08 zawiera te zmiany.

Nowe funkcje

  • ComponentActivity implementuje teraz ContextAware, co umożliwia dodanie co najmniej 1 instancji OnContextAvailableListener, która otrzyma wywołanie zwrotne przed podstawową instancją Activity.onCreate(). (b/161390636)
    • Zawieszające rozszerzenie Kotlin withContextAvailable() umożliwia uruchomienie bloku niezawieszającego, gdy kontekst stanie się dostępny, i zwrócenie wyniku. (I8290c)
    • Ten interfejs API jest używany przez FragmentActivityfragmencie 1.3.0-alpha08 do przywracania stanu FragmentManager. Wszyscy detektorzy dodani do podklas FragmentActivity będą uruchamiani po tym detektorze. (I513da)
    • Ten interfejs API jest używany przez AppCompatActivityAppCompat 1.3.0-alpha02. Wszyscy detektorzy dodani do podklas AppCompatActivity będą uruchamiani po tym detektorze. (I513da)

Poprawki błędów

  • Rozwiązaliśmy problem z ActivityResultFragmentVersionDetector sprawdzaniem Lint, który powodował awarię 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-alpha07androidx.activity:activity-ktx:1.2.0-alpha07 zostały opublikowane. Wersja 1.2.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy nowe InvalidFragmentVersionForActivityResultsprawdzanie lint, które weryfikuje, czy podczas korzystania z interfejsu Activity Result API używasz fragmentu 1.3.0-alpha07. Pozwala to uniknąć awarii w czasie działania spowodowanych problemami z „nieprawidłowym kodem żądania” i nieprawidłowym działaniem próśb o uprawnienia wynikającym z używania starszych wersji fragmentów. (b/152554847)

Wkład zewnętrzny

  • Naprawiono ArrayIndexOutOfBoundsException podczas analizowania wyników kontraktu RequestPermission Activity Result. (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 zostały opublikowane. Wersja 1.2.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Możesz teraz rozłożyć klasę ActivityResult w Kotlinie, aby uzyskać bezpośredni dostęp do requestCodeintent. (b/157212935)
  • ActivityResultLauncher umożliwia teraz uzyskanie ActivityResultContract, który został użyty do zarejestrowania launchera. (b/156875743)

Zmiany w interfejsie API

  • Zmiana powodująca niezgodność: metoda invoke()ActivityResultRegistry została zmieniona na onLaunch(). (b/157496491)
  • OpenMultipleDocuments kontrakt 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-alpha05androidx.activity:activity-ktx:1.2.0-alpha05 zostały opublikowane. Wersja 1.2.0-alpha05 zawiera te zmiany.

Nowe funkcje

Zmiany w interfejsie API

  • TakePicture umowa zwraca teraz boolean wskazującą powodzenie, a nie miniaturę Bitmap, ponieważ bardzo rzadko była ona obsługiwana przez aplikacje aparatu podczas zapisywania obrazu w podanym Uri. (b/154302879)
  • Rozszerzenia invoke()ActivityResultLauncher zostały usunięte na rzecz jawnego używania launch(), aby lepiej wskazywać, że są to operacje asynchroniczne. Do pakietu androidx.activity.result dla ActivityResultLauncher<Void>ActivityResultLauncher<Unit> dodaliśmy rozszerzenia Kotlin dla launch, które eliminują konieczność przekazywania odpowiednio null lub Unit, co odzwierciedla działanie poprzednich 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 ActivityResultCallback za pomocą LifecycleOwner 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ń, zaczynając od 0xFFFF zamiast od 0, co zapobiega nakładaniu się kodów podczas używania startActivityForResult() lub requestPermissions() w aktywności. (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 zostały opublikowane. Wersja 1.2.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Dodano kontrakt, który może wywoływać metodę startIntentSenderForResult w interfejsach API ActivityResult. (b/153007517)

Zmiany w interfejsie API

  • Metoda prepareCall() została zmieniona na registerForActivityResult() zarówno w ComponentActivity, jak i w fragmencie 1.3.0-alpha04. (aosp/1278717)
  • Umowy GetContents, OpenDocumentsRequestPermissions zostały zmienione na GetMultipleContents, OpenMultipleDocumentsRequestMultiplePermissions. (aosp/1280161)
  • ComponentActivity implementuje teraz interfejs ActivityResultRegisteryOwner. (aosp/1290888)
  • – Interfejsy API startActivityForResult()/onActivityResult()onRequestPermissionsResult() na platformie ComponentActivity zostały wycofane. Użyj interfejsów Activity Result API. (b/154751887)

Poprawki błędów

  • W przypadku korzystania z umów GetMultipleContentsOpenMultipleDocuments oraz wybrania pojedynczego elementu 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 zostały opublikowane. Wersja 1.2.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy do zestawu gotowych umów udostępnianych przez ActivityResultContracts umowy TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTreeCreateDocument. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Interfejsy API Activity Result obsługują teraz uruchamianie aktywności w celu uzyskania wyniku z opcjonalnym ActivityOptionsCompat. (b/151860054)

Zmiany w interfejsie API

  • TakePicture kontrakt przyjmuje teraz Uri jako dane wejściowe miejsce, w którym ma być przechowywany obraz. Poprzednia umowa, która nie przyjmuje żadnych danych wejściowych, została zmieniona na TakePicturePreview. (aosp/1262482)
  • Metoda registerActivityResultCallback() w usłudze ActivityResultRegistry została zmieniona na register(). (aosp/1267621)
  • Metoda dispose()ActivityResultLauncher została zmieniona na unregister(), a metoda unregisterResultCallback()ActivityResultRegistry została usunięta. (aosp/1267621)
  • Metoda createIntent() ActivityResultContact przyjmuje teraz Context oprócz danych wejściowych, aby umożliwić tworzenie jawnych intencji. (aosp/1238800)
  • ActivityResultContract może teraz zastąpić getSynchronousResult(), aby dostarczyć wynik bez wywoływania startActivityForResult. Jest on używany w przypadku umów RequestPermissionRequestPermissions, aby prawidłowo przekazywać stan „przyznano”, jeśli żądane uprawnienia zostały już przyznane. (b/151110799)
  • Wcześniej dostępna umowa Dial została usunięta, ponieważ Intent nie jest przeznaczony do używania z startActivityForResult(). (aosp/1266916)
  • Wiele interfejsów API wyników aktywności, które nie są przeznaczone do rozszerzania, jest teraz final. Obejmuje to getActivityResultRegistry(), metody prepareCall(), wszystkie metody ActivityResultRegistry z wyjątkiem invoke() oraz kilka domyślnych umów, które nie obsługują opcjonalnych dodatków. (b/152439361)

Poprawki błędów

  • Naprawiliśmy NullPointerExceptionActivityResultRegistry, które występowało podczas próby dostarczenia wyników do wywołania zwrotnego, które nie zostało jeszcze ponownie zarejestrowane po zmianie konfiguracji. ActivityResultRegistry przechowuje teraz te oczekujące wyniki i dostarcza je, gdy wywołanie zwrotne zostanie ponownie zarejestrowane. (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 zostały opublikowane. Wersja 1.2.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • ActivityResultRegistry: ComponentActivity udostępnia teraz ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult()requestPermissions()+onRequestPermissionsResult() bez zastępowania metod w aktywności lub fragmencie. Zapewnia większe bezpieczeństwo typów dzięki ActivityResultContract i udostępnia punkty zaczepienia do testowania tych przepływów. Zapoznaj się z aktualizacją artykułu Uzyskiwanie wyniku z aktywności. (b/125158199)

Wersja 1.2.0-alpha01

4 marca 2020 r.

androidx.activity:activity:1.2.0-alpha01androidx.activity:activity-ktx:1.2.0-alpha01 zostały opublikowane. Wersja 1.2.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodano obsługę interfejsu ViewTreeLifecycleOwner.get(View) API dodanego w Lifecycle 2.3.0-alpha01, dzięki czemu zwraca on aktywność jako LifecycleOwner w przypadku wszystkich widoków dodanych bezpośrednio do aktywności. (aosp/1182955)

Poprawki błędów

  • Rozwiązaliśmy problem, który pojawił się w Activity 1.1.0 w starszych wersjach platformy, gdzie onBackPressed() powodował IllegalStateException z powodu błędu w android.app.FragmentManager. (b/146290338)

Wersja 1.1.0

Wersja 1.1.0

22 stycznia 2020 r.

Zostanie wycofaneandroidx.activity:activity:1.1.0 Wersja 1.1.0 zawiera te zmiany.

Ważne zmiany od wersji 1.0.0

  • Integracja ViewModelu cyklu życia z SavedState: SavedStateViewModelFactory jest teraz domyślną fabryką używaną w przypadku 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 zostały opublikowane. Wersja 1.1.0-rc03 zawiera te zmiany.

Zmiany zależności

  • Aktywność zależy teraz od komponentu Lifecycle 2.2.0-rc03 i komponentu Lifecycle ViewModel SavedState 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 zostały opublikowane. Wersja 1.1.0-rc02 zawiera te zmiany.

Zmiany zależności

  • Aktywność zależy teraz od cyklu życia2.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ą udostępniane bez zmian w stosunku do 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zmiany.

Wersja 1.1.0-beta01

9 października 2019 r.

androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01 zostały opublikowane. Wersja 1.1.0-beta01 zawiera te zmiany.

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 zostały opublikowane. Listę zmian 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 zostały opublikowane. Listę zmian 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 zostały opublikowane. Listę zmian w tej wersji znajdziesz tutaj.

Nowe funkcje

  • activity zależy teraz od stanu 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx dodano zależność od lifecycle-runtime-ktx. Nie musisz już dodawać jej do zależności, gdy używasz activity-ktx lub bibliotek, które są od niej zależne (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 zostały opublikowane. Listę zmian w tej wersji znajdziesz tutaj.

Główne funkcje wersji 1.0.0

  • ComponentActivity: ComponentActivity służy jako nowa klasa bazowa dla FragmentActivityfragmencie1.1.0 i w konsekwencji dla AppCompatActivityAppCompat1.1.0.
  • activity-ktx: moduł activity-ktx zawiera rozszerzenie właściwości Kotlin by viewModels umożliwiające dostęp do ViewModeli. Ten moduł jest uwzględniany automatycznie, gdy dodasz fragment-ktxfragmentu 1.1.0.
  • OnBackPressedDispatcher: jako alternatywę dla zastępowania onBackPressed() możesz teraz zarejestrować OnBackPressedCallback w dowolnym LifecycleOwner (np. we fragmencie), aby przechwytywać zdarzenia systemowego przycisku Wstecz. Do activity-ktx dodano lambdę z wersją odbiorcy addCallback. Więcej informacji znajdziesz w dokumentacji dotyczącej zapewniania niestandardowej nawigacji wstecz.
  • Wycofanie metody onRetainCustomNonConfigurationInstance: interfejs API onRetainCustomNonConfigurationInstance() i powiązany z nim interfejs API getLastCustomNonConfigurationInstance() zostały wycofane. Zdecydowanie zalecamy używanie ViewModeli do przechowywania stanu niekonfiguracyjnego, ponieważ oferują one rozwiązanie kompozycyjne odpowiednie dla każdego ViewModelStoreOwner, które sprawia, że własność zachowanych obiektów jest jasna, i zapewnia wywołanie zwrotne onCleared() do czyszczenia zasobów, gdy aktywność zostanie ostatecznie zniszczona.

Wersja 1.0.0-rc01

2 lipca 2019 r.

androidx.activity:activity:1.0.0-rc01androidx.activity:activity-ktx:1.0.0-rc01 są udostępniane bez zmian w stosunku do 1.0.0-beta01. Listę zmian 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ą udostępniane bez zmian w stosunku do 1.0.0-alpha08. Listę zmian 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 zostały opublikowane. Listę zmian w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • Zmiana powodująca niezgodność: usunięto wcześniej wycofane metody addOnBackPressedCallbackremoveOnBackPressedCallback w klasie ComponentActivity. aosp/953857
  • Metody setEnabled()isEnabled() interfejsu OnBackPressedCallback są teraz ostateczne. b/131416833
  • Metoda remove()OnBackPressedCallback jest już ostateczna. aosp/952720
  • OnBackPressedDispatcher ma teraz publiczne konstruktory, które umożliwiają tworzenie własnych instancji 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 wywoływaniem funkcji ConcurrentModificationException podczas wywoływania funkcji remove() w metodzie handleOnBackPressed() klasy OnBackPressedCalback dodanej 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 zostały opublikowane. Listę zmian w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

Ta wersja wprowadza istotne zmiany w obsłudze onBackPressed(). Więcej informacji znajdziesz w zaktualizowanej dokumentacji dotyczącej niestandardowego powrotu.

  • Metody OnBackPressedCallbackOnBackPressedDispatcher zostały oznaczone jako @MainThread. (aosp/943813)
  • Metoda handleOnBackPressed() nie zwraca już wartości boolean. OnBackPressedCallback jest teraz klasą abstrakcyjną, którą można włączać i wyłączać. Funkcja handleOnBackPressed() jest wywoływana tylko wtedy, gdy nowa metoda isEnabled() zwraca wartość true. W takim przypadku musisz obsługiwać przycisk Wstecz. (aosp/944518)
  • Metody addCallbackOnBackPressedDispatcher nie zwracają już instancji Cancellable. OnBackPressedCallback zawierają teraz metodę remove(), która spełnia tę funkcję, umożliwiając wywoływanie remove() podczas handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx zawiera teraz wywołanie zwrotne w zakresie odbiornika dla addCallback, które akceptuje lambdę implementującą handleOnBackPressed() i ma dostęp do isEnabledremove() (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 zostały opublikowane. Listę zmian w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • Klasa ComponentActivity zawiera teraz drugi konstruktor, który przyjmuje wartość @LayoutRes int. Zastępuje on poprzednie zachowanie polegające na dodawaniu do klasy AppCompatActivity adnotacji @ContentView. To podejście działa zarówno w modułach aplikacji, jak i biblioteki. (b/128352521)
  • Powiązane interfejsy API OnBackPressedCallback w klasie ComponentActivity zostały wycofane na rzecz nowego interfejsu OnBackPressedDispatcher, który można pobrać za pomocą getOnBackPressedDispatcher(). (aosp/922523)
  • Metody dodawania nowego elementu OnBackPressedCallback do elementu OnBackPressedDispatcher zwracają teraz obiekt Cancellable, co umożliwia usunięcie wywołania zwrotnego bez konieczności jawnego odwoływania się do elementu OnBackPressedDispatcher. (aosp/922523)
  • Dodanie elementu OnBackPressedCallback z powiązanym elementem LifecycleOwner powoduje teraz dodanie i usunięcie elementu OnBackPressedCallback odpowiednio po rozpoczęciu i zakończeniu cyklu życia. (aosp/922523)

Wersja 1.0.0-alpha05

13 marca 2019 r.

androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05 zostały opublikowane. Pełną listę zatwierdzeń uwzględnionych w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Wyszukiwania adnotacji @ContentView są teraz buforowane (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 zostaną opublikowane.

Nowe funkcje

  • Dodano obsługę adnotacji klasy @ContentView, która umożliwia wskazanie, który plik XML układu ma zostać rozwinięty, zamiast używać setContentView(). (aosp/837619)

Zmiany w interfejsie API

Poprawki błędów

  • Moduł activity zależy teraz od wersji 2.1.0-alpha02 komponentu ViewModel, aby pasować do zależności modułu activity-ktx.

Wersja 1.0.0-alpha03

17 grudnia 2018 r.

Zostanie wycofaneandroidx.activity 1.0.0-alpha03

Nowe funkcje

  • Klasa ComponentActivity implementuje teraz interfejs BundleSavedStateRegistryOwner i jest zależna od nowo wydanej biblioteki SavedState [aosp/815133].
  • ComponentActivity rozwiązuje teraz problem z platformą Androida, który powodował wyciek ostatniego aktywnego widoku w 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ę bazową istniejących klas FragmentActivity i AppCompatActivity.

Nowe funkcje

  • Możesz teraz zarejestrować OnBackPressedCallback za pomocą addOnBackPressedCallback, aby otrzymywać onBackPressed() wywołania zwrotne bez konieczności zastępowania metody w aktywności.
  • Dodaliśmy nowy delegat właściwości Kotlin by viewModels()do pobieraniaViewModel elementów ViewModelComponentActivity.
  • Oczekujące zdarzenia wejściowe (np. kliknięcia) są teraz anulowane w onStop().

Zmiany w interfejsie API

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