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
9 września 2026 r. 1.13.0 - - 1.14.0-alpha02

Deklarowanie zależności

Aby dodać zależność od Activity, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule 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.13.0"

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

Kotlin

dependencies {
    val activity_version = "1.13.0"

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

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

Prześlij opinię

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.14

Wersja 1.14.0-alpha02

9 września 2026 r.

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

Poprawki błędów

  • compileSdk bibliotek Compose zaktualizowanych do wersji 37.1. Wymaga to przechodniego zaktualizowania compileSdk we wszystkich aplikacjach i bibliotekach korzystających z Compose. (I05b0f)

Wersja 1.14.0-alpha01

26 sierpnia 2026 r.

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

Zmiany w interfejsie API

  • Dodatki do intencji nie są już automatycznie dodawane do defaultViewModelCreationExtras w przypadku eksportowanych aktywności. Deweloperzy wyeksportowanych aktywności mogą zastąpić wartość defaultViewModelArgs, aby jawnie podać zweryfikowane dodatki do intencji. (Id0cb6, b/213646066)
  • Klasa Activity udostępnia teraz funkcje fabryczne NavigationEventDispatcherOwnerOnBackPressedDispatcherOwner, które ułatwiają tworzenie instancji odpowiednich komponentów. (I1d259, Iadd5c)
  • OnBackPressedDispatcher ma teraz rozszerzenie asNavigationEventDispatcher, które umożliwia łatwe przekształcenie go w NavigationEventDispatcher. (Id11cf)

Wersja 1.13

Wersja 1.13.0

11 marca 2026 r.

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

Ważne zmiany od wersji 1.12.0:

  • ComponentActivity implementuje teraz interfejs OnPictureInPictureUiStateChangedProvider, co oznacza, że może się integrować z nowym artefaktem core:core-pip, który umożliwia odbieranie przez dowolny komponent zdarzeń zmiany stanu interfejsu obrazu w obrazie.
  • EdgeToEdge jest teraz ponownie wywoływana przy zmianach konfiguracji, aby zapewnić prawidłową aktualizację koloru paska stanu systemu.

Wersja 1.13.0-rc01

25 lutego 2026 r.

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

Poprawki błędów

  • aktywności 1.12.4: ActivityResultContracts Zdjęcia i filmy będą teraz prawidłowo uruchamiane na urządzeniach z najnowszymi poprawkami zabezpieczeń URI. (I61201, b/433708587)

Wersja 1.13.0-alpha01

14 stycznia 2026 r.

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

Nowe funkcje

  • EdgeToEdge jest teraz ponownie wywoływana przy zmianach konfiguracji, aby zapewnić prawidłową aktualizację koloru paska stanu systemu. (Id1381, b/364713509)

Zmiany w interfejsie API

  • ComponentActivity implementuje teraz interfejs OnPictureInPictureUiStateChangedProvider, co oznacza, że może się integrować z nowym artefaktem core:core-pip, który umożliwia odbieranie przez dowolny komponent zdarzeń zmiany stanu interfejsu obrazu w obrazie. (I4df5c, b/441310308)

Poprawki błędów

  • W bibliotece Activity w wersji 1.12.2 rozwiązaliśmy problem, który powodował, że ręczne ustawienie wartości isEnabled w przypadku komponentu OnBackPressedCallback uwzględniającego cykl życia zastępowało stan Lifecycle, co mogło powodować awarie. (I7d898, b/461999811)

Wersja 1.12

Wersja 1.12.4

11 lutego 2026 r.

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

Poprawki błędów

  • Aplikacja Zdjęcia i filmy ActivityResultContracts będzie teraz prawidłowo uruchamiana na urządzeniach z najnowszymi poprawkami zabezpieczeń URI. (I61201, b/433708587)

Wersja 1.12.3

28 stycznia 2026 r.

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

Wersja 1.12.2

17 grudnia 2025 r.

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

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że ręczne ustawienie wartości isEnabled w OnBackPressedCallback uwzględniającym cykl życia zastępowało stan cyklu życia, co mogło powodować awarie. (I7d898, b/461999811)

Wersja 1.12.1

3 grudnia 2025 r.

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

Zaktualizowana zależność

Wersja 1.12.0

19 listopada 2025 r.

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

Ważne zmiany od wersji 1.11.0:

  • Biblioteka Androidx Activity jest teraz zależna od nowej biblioteki NavigationEvent. Obejmuje to obsługę NavigationEventDispatcherComponentActivityComponentDialog. Interfejsy OnBackPressed API zostały również przepisane na podstawie interfejsów NavigationEvent API, aby zapewnić zgodność wsteczną z poprzednią biblioteką.

Wersja 1.12.0-rc01

5 listopada 2025 r.

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

Poprawki błędów

  • Naprawianie błędów czasu działania w przypadku funkcji BackHandlerPredictiveBackHandler w aplikacjach korzystających z niestandardowych klas Activity. Te funkcje kompozycyjne bezpiecznie wracają teraz do LocalOnBackPressedDispatcherOwner, zachowując kolejność wysyłania w aplikacjach obsługujących NavigationEventDispatcherOwner. (I43873)

Wersja 1.12.0-beta01

22 października 2025 r.

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

Zmiany w interfejsie API

  • Wprowadzamy eksperymentalny interfejs ActivityFlags API do zarządzania zmianami w zachowaniu środowiska wykonawczego i migracjami. Pierwsza flaga włącza stabilne sortowanie w przypadku OnBackPressedCallback, dzięki czemu przechodzenie wstecz jest bardziej przewidywalne w przypadku zmian cyklu życia. Deweloperzy mogą zrezygnować z tej funkcji, ustawiając wartość ActivityFlags.isOnBackPressedLifecycleOrderMaintained = false. (I06bdf, Id08bb, I439aa, b/422730945, b/450533622)

Aktualizacja zależności

  • Zaktualizowano zależności związane z cyklem życia do wersji 2.9.4 (Ic9fb2)

Wersja 1.12.0-alpha09

24 września 2025 r.

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

Zmiany zależności

Wersja 1.12.0-alpha08

10 września 2025 r.

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

Aktualizacja zależności

Wersja 1.12.0-alpha07

27 sierpnia 2025 roku

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

Poprawki błędów

  • Rozwiązanie problemu z EdgeToEdge w interfejsie API 35, w którym niewidoczne widoki powodowały nieoczekiwane wstawki pomiarowe. (If49ff)

Aktualizacja zależności

Wersja 1.12.0-alpha06

13 sierpnia 2025 r.

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

MinSdk Update

Aktualizacje dokumentacji

  • Zaktualizowano dokumentację KDocs dla PredictiveBackHandler, aby zwrócić uwagę na znany problem z czasem, w którym może przetworzyć gest w tej samej klatce, w której jest wyłączony. (I5be5c, b/431534103)
  • Zaktualizowano dokumentację KDocs dla funkcji BackHandlerPredictiveBackHandler, aby wyraźnie określić zachowanie „ostatni element wygrywa” oraz zalecać bezwarunkowe komponowanie z użyciem flagi enabled. (I7ab94)

Aktualizacja zależności

Wersja 1.12.0-alpha05

30 lipca 2025 r.

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

Aktualizacja zależności

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 zmiany.

Poprawki błędów

  • NavigationEvent1.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. Teraz możesz pobrać NavigationEventDispatcher z urządzenia ComponentActivity za pomocą pola navigationEventDispatcher. Ponieważ OnBackPressedDispatcher został przepisany na podstawie nowej biblioteki, wszystkie poprzednie zastosowania powinny nadal działać prawidłowo. Zalecamy używanie w przyszłości funkcji NavigationEventDispatcherNavigationEventCallback. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)

Wersja 1.11

Wersja 1.11.0

10 września 2025 r.

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

Ważne zmiany od wersji 1.10.0:

  • Dodano interfejs API MediaCapabilities do PickVisualMediaRequest, aby umożliwić aplikacjom określanie możliwości multimedialnych, takich jak obsługiwane typy HDR.
  • Aktywność jest teraz kompilowana za pomocą interfejsu API 36.

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 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 API MediaCapabilities 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 rozwiązania rezerwowego.
  • Nowy LocalActivity composition local, 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łączonego. (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 nie zawierają żadnych 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 nową kompozycję LocalActivity, która udostępnia Activity w bieżącym zakresie, 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ć 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/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

  • Kontrakty 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ą na urządzeniach 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 interfejsów API podczas korzystania z R8 z AGP 7.3 lub nowszą (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszej (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z wtyczki Androida do obsługi Gradle, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (I9496c, b/345472586)
  • W sekcji Aktywność 1.9.2: rozwiązano problem polegający na tym, że interfejs Activity Compose PredictiveBackHandler API nadal obsługiwał gest powrotu systemowego w ramce, w której został wyłączony. Mogło to powodować, że biblioteki takie jak Navigation Compose obsługiwały powrót nawet w przypadku pustego stosu wstecznego, co powodowało zgłaszanie błędu IndexOutOfBoundsException. (Ie3301, b/340202286)
  • Aktywności1.9.1: 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.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 karty (albumy lub obrazy), która 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 zatwierdzenia.

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 polegający na tym, że interfejs Activity Compose PredictiveBackHandler API nadal obsługiwał gest cofania w systemie 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 zatwierdzenia.

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 zatwierdzenia.

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, gdy wywoływana jest funkcja 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 API Activity 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 pusta.
    • W ramach konwersji ActivityResultLauncher na język Kotlin metoda getContract jest teraz abstrakcyjną właściwością w języku Kotlin. Jest to zmiana zgodna binarnie, ale powodująca błędy w kodzie źródłowym, jeśli implementacja ActivityResultLauncher jest napisana w Kotlinie.

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 zatwierdzenia.

Aktualizacja zależności

Wersja 1.9.0-beta01

20 marca 2024 r.

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

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 zatwierdzenia.

Ostrzeżenie lintera

Poprawki błędów

  • Jeśli zdarzenie powrotu zostanie wysłane z systemu uruchomionego podczas już trwającego gestu przewidywanego przejścia wstecz, bieżący gest przewidywanego przejścia wstecz zostanie anulowany, a nowe zdarzenie powrotu przejmie kontrolę, aby rozpocząć nowy gest przewidywanego przejścia wstecz. (I3482e)
  • Naprawiono błąd, który występował podczas pierwszego dostępu do onBackPressedDispatcherComponentActivity w wątku w tle. Teraz można 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 zatwierdzenia.

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. ActivityResult rozszerzenia języka Kotlin, które obsługują dekompozycję 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 enableEdgeToEdge API rysuje teraz elementy wokół wycięć na wyświetlaczu. (a3644b, b/311173461)
  • Activity 1.8.2: poprawiono dodatkowy element przekazywany do ACTION_SYSTEM_FALLBACK_PICK_IMAGES w umowie dotyczącej aktywności selektora zdjęć, aby prawidłowo przekazywać go za pomocą klucza EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, a nie za pomocą dodatkowego elementu z kluczem "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". Jeśli jesteś producentem OEM, który wdraża systemowy selektor zdjęć, 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 zatwierdzenia.

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 błędy w kodzie źródłowym, jeśli implementacja ActivityResultLauncher jest napisana w Kotlinie. (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 zatwierdzenia.

Poprawki błędów

  • Poprawiono dodatkowe dane przekazywane do ACTION_SYSTEM_FALLBACK_PICK_IMAGES umowy dotyczącej aktywności selektora zdjęć, aby prawidłowo przekazywać je za pomocą klucza EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX, a nie za pomocą 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ęć, 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 zatwierdzenia.

Poprawki błędów

  • OnBackPressedDispatcher nadal wysyła zdarzenia do właściwego OnBackPressedCallback nawet po dodaniu nowego OnBackPressedCallback podczas obsługi gestu cofania. (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 zatwierdzenia.

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 wstecz, jego postęp i anulowanie. Oprócz tego dostępne jest poprzednie wywołanie zwrotne handleOnBackPressed(), które jest wywoływane, gdy gest wstecz zostanie zatwierdzony. Zawiera też PredictiveBackHandler Composable, który obsługuje zdarzenia związane z gestem przewidywanego przejścia wstecz w Activity Compose. 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 ją zastępować.

  • 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 zatwierdzenia.

Wersja 1.8.0-beta01

6 września 2023 r.

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

Ulepszanie dokumentacji

  • Ulepszyliśmy dokumentację 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 zatwierdzenia.

Nowe funkcje

  • W Activity Compose dodano nową funkcję kompozycyjną PredictiveBackHandler, która obsługuje zdarzenia gestu przewidywanego przejścia wstecz. Zawiera Flow obiektów BackEventCompat, które należy zebrać w zawieszającej się 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
      }
    }
    

    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 API isAtLeastU() (Ie9117, b/289269026)

Wersja 1.8.0-alpha06

21 czerwca 2023 r.

androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06androidx.activity:activity-ktx:1.8.0-alpha06 są zwalniane. Wersja 1.8.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • OnBackPressedDispatcher – teraz prawidłowo anuluje wszystkie wywołania zwrotne, które zostały usunięte podczas gestu przewidywanego przejścia wstecz. (I3f90f)

Zmiany w interfejsie API

  • Podczas przekazywania parametru 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

  • Klasa Activity udostępnia teraz klasę BackEventCompat, która jest wersją klasy BackEvent zgodną wstecznie i odłączoną od klasy BackEvent frameworka.
  • 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 platformie 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 wydana 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 wydana 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 ją zastępować. (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ła ona utworzona 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 wstecz, postęp w trakcie gestu i anulowanie gestu wstecz. Oprócz tego zawiera poprzednie wywołanie zwrotne handleOnBackPressed(), które jest wywoływane, gdy gest wstecz zostanie zatwierdzony.

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 zatwierdzenia.

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 zatwierdzenia.

Poprawki błędów

  • Wartość ReportFullyDrawExecuter nie jest już ujawniana podczas korzystania z funkcji ComponentActivity z parametrem 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 zatwierdzenia.

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 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 Intent, a nie tylko jednego.

Konwersja na Kotlin

Wiele klas aktywności zostało przekonwertowanych na język Kotlin. Wszystkie przekonwertowane zajęcia zachowują kompatybilność 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 konwersje źródłowe dla 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 API FullyDrawnReporter

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 wywoła reportFullyDrawn() w Twoim imieniu. 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 czasu 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 zatwierdzenia.

Aktualizacja zależności

Wersja 1.7.0-beta02

22 lutego 2023 roku

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

Zmiany w interfejsie API

  • Działanie i dodatkowe elementy używane przez kontrakty PickVisualMediaPickMultipleVisualMedia jako rezerwa w przypadku niedostępności MediaStore.ACTION_PICK_IMAGES są teraz publicznymi stałymi, 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 zatwierdzenia.

Nowe funkcje

  • IntentSenderRequest.Builder.setFlags() umożliwia teraz ustawianie wielu oznaczeń z 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. W przypadku klas napisanych w Kotlinie jest to zmiana powodująca niezgodność na poziomie źródła – musisz teraz zastąpić właściwość activityResultRegistry, a nie implementować poprzedniej funkcji getActivityResultRegistry(). (I0b00e)
  • OnBackPressedDispatcherOwner jest teraz napisany w języku Kotlin. W przypadku klas napisanych w Kotlinie jest to zmiana powodująca niezgodność na poziomie źródła – musisz teraz 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 zatwierdzenia.

Nowe funkcje

  • Kontrakty PickVisualMediaPickMultipleVisualMedia Activity Result będą teraz korzystać z selektora zdjęć udostępnianego przez usługi Google Play, jeśli jest on dostępny w przypadkach, gdy selektor zdjęć udostępniany przez system Android (np. MediaStore.ACTION_PICK_IMAGES) jest niedostępny. Interfejs isPhotoPickerAvailable() API, który wykrywa tylko selektor zdjęć udostępniany przez system Android, został wycofany. Zalecamy używanie nowego isPhotoPickerAvailable(Context) interfejsu 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 zatwierdzenia.

Nowe funkcje

  • 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 ViewTree API. (Idca17, I73468 b/261162296)

Zmiany w interfejsie API

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

Konwersje w Kotlinie

  • Klasy ActvitiyResultCallbackOnBackPressedCallback zostały przekonwertowane na język Kotlin przy zachowaniu zgodności kodu źródłowego i binarnego. (Ifc5e5, Ide1b0, b/257291701)

Wersja 1.7.0-alpha02

24 października 2022 r.

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

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 zatwierdzenia.

Interfejsy API FullyDrawnReporter

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 wywoła reportFullyDrawn() w Twoim imieniu. 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 czasu uruchamiania, aby można było śledzić wydajność.

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

  • 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 zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem z nieuruchamianiem kontraktu PickMultipleVisualMedia Activity Result na urządzeniach z Androidem R w przypadku użycia wartości domyślnej dla 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 zatwierdzenia.

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 przejścia wstecz.

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 zatwierdzenia.

Poprawki błędów

  • OnBackPressedDispatcher rejestruje teraz OnBackInvokedCallbackPRIORITY_DEFAULT zamiast w PRIORITY_OVERLAY. (I3901f)
  • W przypadku klas, które rozszerzają klasę ComponentActivity, zawsze będą wywoływane 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 zwrotna 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 zatwierdzenia.

Poprawki błędów

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

Wersja 1.6.0-beta01

10 sierpnia 2022 r.

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

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)
  • W przypadku aktywności1.5.1: 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.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 ma publicznych commitów.

Zmiany w interfejsie API

  • minCompileSdk – teraz 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.

Publikacja androidx.activity:activity:1.6.0-alpha04androidx.activity:activity-ktx:1.6.0-alpha04

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 2 dla deweloperów z OnBackPressedDispatcher dostarczonym przez ComponentDialog. Dzięki temu wszystkie interfejsy API oparte na OnBackPressedDispatcher będą działać po włączeniu gestu przewidywanego przejścia wstecz.

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 przewidywanego przejścia wstecz.

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 z pakietem SDK wersji przedpremierowej 2 Androida 13.

Nowe funkcje

  • Zintegrowano zmiany z wersji Androida 13 w wersji deweloperskiej 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 zatwierdzenia.

Poprawki błędów

  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie funkcji launch() spowoduje zgłoszenie błędu Exception, a funkcja zwrotna została zarejestrowana 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 zatwierdzenia.

Ważne zmiany od wersji 1.4.0

  • ComponentDialog – ComponentDialog to podklasa Dialog, która zawiera OnBackPressedDispatcher, który zostanie wywołany, gdy zostanie naciśnięty systemowy przycisk Wstecz i okno dialogowe będzie 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 obejmują: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • Integracja CreationExtras – ComponentActivity może teraz udostępniać bezstanowy ViewModelProvider.Factory za pomocą Lifecycle 2.5.0 CreationExtras.

Inne zmiany

  • Konstruktor bez parametrów dla 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-rc01 i androidx.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 zatwierdzenia.

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 zatwierdzenia.

Aktualizacje zależności

Wersja 1.5.0-alpha05

6 kwietnia 2022 roku

androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05androidx.activity:activity-ktx:1.5.0-alpha05 są zwalniane. Wersja 1.5.0-alpha05 zawiera te zatwierdzenia.

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 zatwierdzenia.

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 zatwierdzenia.

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 zatwierdzenia.

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 zatwierdzenia.

Nowe funkcje

  • ComponentActivity jest teraz zintegrowany z ViewModel CreationExtras, wprowadzonym w ramach Lifecycle 2.5.0-alpha01. (Ie7e00, b/207012584)
  • Dodano ComponentDialog, podklasę Dialog, która zawiera OnBackPressedDispatcher, wywoływaną po naciśnięciu systemowego przycisku Wstecz, 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ć odbieranie tych zdarzeń przez dowolny komponent. (If1f8b)
  • ComponentActivity implementuje teraz nowy interfejs OnConfigurationChangedProvider, aby umożliwić odbieranie tych zdarzeń przez dowolny komponent. (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 klasy ActivityResultContracts.CreateDocument został wycofany i zastąpiony nowym konstruktorem, który przyjmuje konkretny typ MIME (np. "image/png"), zgodnie z wymaganiami klasy 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 r.

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 zatwierdzenia.

Ważne zmiany od wersji 1.3.0

  • AndroidX ComponentActivity implementuje teraz 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ć z elementem 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ć odpowiednią możliwość wartości 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 zatwierdzenia.

Poprawki błędów

  • ActivityResultRegistry nie będzie już zwracać wyniku do 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 zatwierdzenia.

Zmiany w interfejsie API

  • Poprawiono typy dla ActivityResultContracts.OpenMultipleDocuments i ActivityResultContracts.GetMultipleContents, które powodowały, że podczas korzystania z kodu w języku programowania Java używano typu wyjściowego List<? extends Uri>. (If71de)
  • Stałe publiczne w klasach ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResultActivityResultContracts.RequestMultiplePermissions są teraz dostępne podczas korzystania z języka 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 zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Klasa ActivityResultContract została 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ć odpowiednią możliwość przyjmowania wartości 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 zatwierdzenia.

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 zatwierdzenia.

Aktualizacje zależności

  • Aktywność zależy teraz od języka 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 zatwierdzenia.

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 ComponentActivity API do obsługi systemowego przycisku Wstecz i interfejsów Activity Result API. Więcej informacji znajdziesz w dokumentacji.
  • Kontrakt CaptureVideo – kontrakt CaptureVideo ActivityResultContract zastępuje wycofany już kontrakt 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 wraz ze zmianą pozycji widoku 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 zatwierdzenia.

Poprawki błędów

  • Wywołania zwrotne ActivityResultRegistry są teraz prawidłowo zapisywane i przywracane, dzięki czemu nie są duplikowane w obiekcie 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 zatwierdzenia.

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 zatwierdzenia.

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 zatwierdzenia.

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 danym identyfikatorem URI. Zastępuje to obecnie wycofany interfejs 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, który aktualizuje wskazówkę dotyczącą 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 zatwierdzenia.

Poprawki błędów

  • rememberLauncherForActivityResult zwraca teraz stabilne odwołanie do tej samejActivityResultLauncher instancji, nawet jeśli umowa ulegnie zmianie z powodu ponownego skomponowania. (Id2d6d)
  • Używanie niestabilnych wersji Fragmentów powyżej 1.3.0 nie będzie już zgłaszać fałszywego błędu lintera, 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 element ActivityResultLauncher jest zarządzanym obiektem, 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ślać, 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 znaleziono 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 następnie ponownie STARTED. Dodano też inne wywołania zwrotne z LifecycleOwner. (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 zatwierdzenia.

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 w wersji 1.3.1 lub nowszej. (I54da1, b/182388985)
  • Od wersji 1.2.2: ComponentActivity nie powoduje już 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 zatwierdzenia.

Poprawki błędów

  • W sekcji Aktywność1.2.1: RequestMultiplePermissions zawsze zwraca teraz 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 zapewnia, że trwające żądania launch() 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 rekompozycji nadal była używana wcześniej ustawiona funkcja 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 zatwierdzenia.

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óre można wykorzystywać w CompositionLocalProvider, zastępując 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 zatwierdzenia.

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 przechwytywanie przez komponent Composable 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 zatwierdzenia.

Nowe funkcje

  • Nowy artefakt activity-compose zawiera pomocnicze funkcje Jetpack Compose dla androidx.activity konkretnych interfejsów API.
    • 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.

Publikacja androidx.activity:activity:1.2.4androidx.activity:activity-ktx:1.2.4 Wersja 1.2.4 zawiera te zatwierdzenia.

Poprawki błędów

  • Activity 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

Publikacja androidx.activity:activity:1.2.3androidx.activity:activity-ktx:1.2.3 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 informował o konieczności użycia fragmentu 1.3.0 podczas korzystania z wersji snapshot, alpha, beta lub RC nowszej wersji biblioteki Fragments. (f4a57e, b/184847092)

Wersja 1.2.2

Wersja 1.2.2

24 marca 2021 r.

Publikacja androidx.activity:activity:1.2.2androidx.activity:activity-ktx:1.2.2 Wersja 1.2.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem w InvalidFragmentVersionForActivityResultlint check, 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 traktowany jako dodatkowy w innym Intent. (Ieff05, b/182906230)

Aktualizacje zależności

Wersja 1.2.1

Wersja 1.2.1

10 marca 2021 r.

Publikacja androidx.activity:activity:1.2.1androidx.activity:activity-ktx:1.2.1 Wersja 1.2.1 zawiera te zatwierdzenia.

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.

Publikacja androidx.activity:activity:1.2.0androidx.activity:activity-ktx:1.2.0 Wersja 1.2.0 zawiera te zatwierdzenia.

Główne zmiany od wersji 1.1.0

  • Interfejsy Activity Result API: ComponentActivity teraz udostępniają 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 dzięki ActivityResultContract i zapewnia punkty zaczepienia do testowania tych przepływów. Zapoznaj się z aktualizacją artykułu Uzyskiwanie wyniku z aktywności.
  • ContextAware: ComponentActivity obsługuje teraz ContextAware, co umożliwia dodanie co najmniej 1 instancji OnContextAvailableListener, która będzie otrzymywać wywołanie zwrotne przed podstawową instancją Activity.onCreate().

    • Funkcja zawieszająca w KotliniewithContextAvailable() 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 Pomoc: 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 w przypadku 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

Publikacja androidx.activity:activity:1.2.0-rc01androidx.activity:activity-ktx:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

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.

Publikacja androidx.activity:activity:1.2.0-beta02androidx.activity:activity-ktx:1.2.0-beta02 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ę 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

Publikacja androidx.activity:activity:1.2.0-beta01androidx.activity:activity-ktx:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Poprawki błędów

  • ActivityResultRegistry losowo generuje teraz liczby całkowite, dopóki nie znajdzie liczby, która nie jest przypisana do 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

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

Zaktualizowana dokumentacja

  • ContextAware dokumentacji LifecycleOwner, aby podkreślić, że Lifecycle wywołania zwrotne są odpowiednim miejscem na zdarzenia tworzenia i usuwania. (aosp/1414152)

Wersja 1.2.0-alpha08

19 sierpnia 2020 r.

Publikacja androidx.activity:activity:1.2.0-alpha08androidx.activity:activity-ktx:1.2.0-alpha08 Wersja 1.2.0-alpha08 zawiera te zmiany.

Nowe funkcje

  • ComponentActivity obsługuje teraz ContextAware, co umożliwia dodanie co najmniej 1 instancji OnContextAvailableListener, która otrzyma wywołanie zwrotne przed podstawową instancją Activity.onCreate(). (b/161390636)
    • Rozszerzenie Kotlin wstrzymujące withContextAvailable() umożliwia uruchomienie bloku niewstrzymują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 ActivityResultFragmentVersionDetectorsprawdzaniem Lint, który powodował błędy podczas korzystania z Lint w wersji 27.1.0 lub nowszej. (b/162155191)

Wersja 1.2.0-alpha07

22 lipca 2020 r.

Publikacja androidx.activity:activity:1.2.0-alpha07androidx.activity:activity-ktx:1.2.0-alpha07 Wersja 1.2.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Dodano nowe InvalidFragmentVersionForActivityResult sprawdzanie 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 aplikacji z powodu problemów z „nieprawidłowym kodem żądania” i nieprawidłowo działających próśb o uprawnienia spowodowanych używaniem starszych wersji fragmentów. (b/152554847)

Wkład zewnętrzny

  • Naprawiono ArrayIndexOutOfBoundsException podczas analizowania wyników kontraktu RequestPermission ActivityResult. (I8f9e3, b/161057605)

Wersja 1.2.0-alpha06

10 czerwca 2020 r.

Publikacja androidx.activity:activity:1.2.0-alpha06androidx.activity:activity-ktx:1.2.0-alpha06 Wersja 1.2.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Możesz teraz dokonać dekompozycji klasy 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 programu uruchamiającego. (b/156875743)

Zmiany w interfejsie API

  • Zmiana powodująca niezgodność: metoda invoke() w klasie ActivityResultRegistry została zmieniona na onLaunch(). (b/157496491)
  • OpenMultipleDocuments zwraca teraz pustą listę zamiast null do zarejestrowanego wywołania zwrotnego, jeśli nie zostanie zwrócony żaden wynik. (b/157348014)

Wersja 1.2.0-alpha05

20 maja 2020 r.

Publikacja androidx.activity:activity:1.2.0-alpha05androidx.activity:activity-ktx:1.2.0-alpha05 Wersja 1.2.0-alpha05 zawiera te zmiany.

Nowe funkcje

Zmiany w interfejsie API

  • TakePicture Kontrakt zwraca teraz boolean, co oznacza powodzenie, a nie miniaturę Bitmap, ponieważ było to bardzo rzadko obsługiwane 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> dodano 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 obiektu ActivityResultCallback za pomocą obiektu 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ące się od 0xFFFF zamiast od 0, co zapobiega nakładaniu się kodów podczas używania startActivityForResult() lub requestPermissions() w działaniu. (aosp/1302324)

Wersja 1.2.0-alpha04

29 kwietnia 2020 r.

Publikacja androidx.activity:activity:1.2.0-alpha04androidx.activity:activity-ktx:1.2.0-alpha04 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 ComponentActivity tutaj, 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() i 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.

Publikacja androidx.activity:activity:1.2.0-alpha03androidx.activity:activity-ktx:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • TakePicture umowa 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 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 wiele 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.

Publikacja androidx.activity:activity:1.2.0-alpha02androidx.activity:activity-ktx:1.2.0-alpha02 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.

Publikacja androidx.activity:activity:1.2.0-alpha01androidx.activity:activity-ktx:1.2.0-alpha01 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 został wprowadzony w aktywności 1.1.0 podczas działania na starszych wersjach platformy, w których 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.

Publikacja androidx.activity:activity:1.1.0 Wersja 1.1.0 zawiera te zmiany.

Ważne zmiany od wersji 1.0.0

  • Integracja ViewModel z cyklem życia 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 r.

Publikacja androidx.activity:activity:1.1.0-rc03androidx.activity:activity-ktx:1.1.0-rc03 Wersja 1.1.0-rc03 zawiera te zmiany.

Zmiany zależności

  • Działanie 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.

Publikacja androidx.activity:activity:1.1.0-rc02androidx.activity:activity-ktx:1.1.0-rc02 Wersja 1.1.0-rc02 zawiera te zmiany.

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-rc01 i androidx.activity:activity-ktx:1.1.0-rc01 zostaną opublikowane bez zmian od 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Wersja 1.1.0-beta01

9 października 2019 r.

Publikacja androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01 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.

Publikacja androidx.activity:activity:1.1.0-alpha03androidx.activity:activity-ktx:1.1.0-alpha03 Zatwierdzenia 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.

Publikacja androidx.activity:activity:1.1.0-alpha02androidx.activity:activity-ktx:1.1.0-alpha02 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

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

Wersja 1.1.0-alpha01

2 lipca 2019 r.

Publikacja androidx.activity:activity:1.1.0-alpha01androidx.activity:activity-ktx:1.1.0-alpha01 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • activity zależy teraz od komponentu Cykl życia 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx dodano zależność od lifecycle-runtime-ktx. Nie musisz już dodawać jej do zależności podczas korzystania z activity-ktx ani 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.

Publikacja androidx.activity:activity:1.0.0androidx.activity:activity-ktx:1.0.0 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Główne funkcje wersji 1.0.0

  • ComponentActivity: ComponentActivity to 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 do uzyskiwania dostępu do ViewModeli. Ten moduł jest automatycznie uwzględniany, gdy dodasz fragment-ktxfragmentu 1.1.0.
  • OnBackPressedDispatcher: jako alternatywę dla zastępowania funkcji 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 niestandardowego przechodzenia wstecz.
  • Wycofanie onRetainCustomNonConfigurationInstance: interfejs API onRetainCustomNonConfigurationInstance() i powiązany z nim interfejs API getLastCustomNonConfigurationInstance() zostały wycofane. Do przechowywania stanu niekonfiguracyjnego zdecydowanie zalecamy używanie ViewModeli, 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-rc01 i androidx.activity:activity-ktx:1.0.0-rc01 zostaną opublikowane bez zmian od 1.0.0-beta01. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Wersja 1.0.0-beta01

5 czerwca 2019 r.

androidx.activity::activity:1.0.0-beta01 i androidx.activity:activity-ktx:1.0.0-beta01 zostaną opublikowane bez zmian od 1.0.0-alpha08. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Wersja 1.0.0-alpha08

7 maja 2019 r.

Publikacja androidx.activity:activity:1.0.0-alpha08androidx.activity:activity-ktx:1.0.0-alpha08 Zatwierdzenia zawarte 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() OnBackPressedCallback są już ostateczne. b/131416833
  • Metoda remove()OnBackPressedCallback jest teraz ostateczna. aosp/952720
  • OnBackPressedDispatcher ma teraz konstruktory publiczne, które umożliwiają tworzenie własnych instancji na potrzeby testowania itp. aosp/953431
  • onBackPressed() w przypadku ComponentActivity jest teraz wyraźnie oznaczony jako @MainThread aosp/952721

Poprawki błędów

  • Rozwiązaliśmy problem z ConcurrentModificationException podczas wywoływania remove() z metody handleOnBackPressed() obiektu OnBackPressedCalback dodanego za pomocą LifecycleOwner. b/131765095

Wersja 1.0.0-alpha07

25 kwietnia 2019 r.

Publikacja androidx.activity:activity:1.0.0-alpha07androidx.activity:activity-ktx:1.0.0-alpha07 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

W tej wersji wprowadziliśmy 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. Zamiast tego 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 addCallback klasy OnBackPressedDispatcher nie zwracają już instancji Cancellable. OnBackPressedCallback zawiera 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 o zakresie odbiornika dla addCallback, które akceptuje wyrażenie lambda implementujące handleOnBackPressed() i ma dostęp do isEnabledremove() (aosp/944520).

Wersja 1.0.0-alpha06

3 kwietnia 2019 r.

Publikacja androidx.activity:activity:1.0.0-alpha06androidx.activity:activity-ktx:1.0.0-alpha06 Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • Klasa ComponentActivity zawiera teraz drugi konstruktor, który przyjmuje @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 OnBackPressedCallback z powiązanym LifecycleOwner powoduje teraz dodanie i usunięcie 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ę zmian 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 zostały opublikowane.

Nowe funkcje

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

Zmiany w interfejsie API

Poprawki błędów

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

Wersja 1.0.0-alpha03

17 grudnia 2018 r.

Publikacja androidx.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 działaniu.
  • Dodaliśmy nowy delegat właściwości Kotlin by viewModels()do pobieraniaViewModel elementów 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 FragmentActivity do ComponentActivity.
  • Właściwość onRetainCustomNonConfigurationInstance została wycofana. Używaj ViewModel do przechowywania obiektów, które muszą przetrwać zmiany konfiguracji.