Aktywność

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

Deklarowanie zależności

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

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

Odlotowe

dependencies {
    def activity_version = "1.9.2"

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

Kotlin

dependencies {
    val activity_version = "1.9.2"

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

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Daj nam znać, jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

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

Wersja 1.10

Wersja 1.10.0

15 stycznia 2025 r.

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

Ważne zmiany od wersji 1.9.0

  • PhotoPicker umożliwia teraz wybieranie zdjęć w kolejności i określanie, która karta (albumów czy zdjęć) ma być widoczna na początku.
  • Umowy dotyczące wyniku działania PickVisualMediaPickMultipleVisualMedia, które uruchamiają selektor zdjęć, nie delegują już bezpośrednio do usług Google Play, jeśli selektor zdjęć systemu jest niedostępny. Zamiast tego używają publicznego działania ACTION_SYSTEM_FALLBACK_PICK_IMAGES i powiązanych dodatków, aby zapewnić spójne działanie selektora zdjęć dla OEM-ów i aplikacji systemowych.
  • Nowa lokalna kompozycja LocalActivity, która zapewnia Activity dla bieżącego zakresu, eliminując konieczność uzyskiwania przez deweloperów Activity z poziomu LocalContext.

Wersja 1.10.0-rc01

11 grudnia 2024 r.

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

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że zmiana stanu włączenia podczas aktywnego PredictiveBackHandler natychmiast wywoływała błąd. Spowoduje to zakończenie bieżącego połączenia zwrotnego niezależnie od zmian stanu włączenia. (Ib8719)

Wersja 1.10.0-beta01

13 listopada 2024 r.

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

Wersja 1.10.0-alpha03

30 października 2024 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Aktualizacja zależności

Wersja 1.10.0-alpha02

4 września 2024 r.

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

Zmiany w zachowaniu

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

Poprawki błędów

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

Wersja 1.10.0-alpha01

26 czerwca 2024 r.

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

Nowe funkcje

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

Wersja 1.9

Wersja 1.9.3

16 października 2024 r.

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

Poprawki błędów

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

Wersja 1.9.2

4 września 2024 r.

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

Poprawki błędów

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

Wersja 1.9.1

24 lipca 2024 r.

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

Poprawki błędów

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

Wersja 1.9.0

17 kwietnia 2024 r.

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

Ważne zmiany od wersji 1.8.0

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

Wersja 1.9.0-rc01

3 kwietnia 2024 r.

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

Aktualizacja zależności

Wersja 1.9.0-beta01

20 marca 2024 r.

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

Poprawki błędów

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

Wersja 1.9.0-alpha03

7 lutego 2024 r.

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

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

Poprawki błędów

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

Wersja 1.9.0-alpha02

24 stycznia 2024 r.

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

Konwersje Kotlina

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

Poprawki błędów

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

Wersja 1.9.0-alpha01

29 listopada 2023 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

  • ComponentActivity został przepisany na Kotlin. (I14f31)
  • ActivityResultCaller został przepisany na Kotlin. (Ib02e4)
  • ActivityResultLauncher został przepisany na Kotlin. W ramach tej konwersji metoda getContract jest teraz abstrakcyjną właściwością Kotlina. Jest to zmiana zgodna z binarnymi plikami binarnymi, ale ze względu na implementację ActivityResultLauncher w Kotlinie może ona spowodować błąd w źródle. (Id4615)
  • Interfejs PickVisualMediaRequest ma teraz ten sam minimalny poziom interfejsu API (19), co interfejs PickVisualMedia w ramach umowy dotyczącej wyniku działania. (Id6e21)

Aktualizacja zależności

Wersja 1.8

Wersja 1.8.2

13 grudnia 2023 r.

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

Poprawki błędów

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

Wersja 1.8.1

15 listopada 2023 r.

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

Poprawki błędów

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

Wersja 1.8.0

4 października 2023 roku

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

Ważne zmiany od wersji 1.7.0

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

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

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

Wersja 1.8.0-rc01

20 września 2023 r.

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

Wersja 1.8.0-beta01

6 września 2023 r.

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

Ulepszenie dokumentacji

Wersja 1.8.0-alpha07

23 sierpnia 2023 r.

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

Nowe funkcje

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

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

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

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

Poprawki błędów

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

Wersja 1.8.0-alpha06

21 czerwca 2023 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Wersja 1.8.0-alpha05

7 czerwca 2023 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

  • Aktywności 1.7.2: napraw problem z zawieszaniem się funkcji ReportDrawn podczas przechodzenia na inny ekran przed wywołaniem funkcji report. (Ic46f1, b/260506820)

Wersja 1.8.0-alpha04

10 maja 2023 r.

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

Poprawki błędów

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

Wersja 1.8.0-alpha03

12 kwietnia 2023 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że fragmenty nieprawidłowo unieważniały obiekty MenuHost i wywoływały nieoczekiwane działanie innych menu w 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.

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

Aktualizacja zależności

Wersja 1.8.0-alpha01

8 lutego 2023 r.

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

Nowe funkcje

  • Klasa OnBackPressedCallback zawiera teraz nowe wywołania zwrotne postępu przewidywanego przejścia wstecz do obsługi rozpoczęcia, trwania i anulowania gestu przechodzenia wstecz, a także poprzednie wywołanie zwrotne handleOnBackPressed(), gdy gest przechodzenia wstecz jest wykonywany.

Wersja 1.7

Wersja 1.7.2

24 maja 2023 r.

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

Poprawki błędów

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

Wersja 1.7.1

19 kwietnia 2023 r.

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

Poprawki błędów

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

Wersja 1.7.0

22 marca 2023 r.

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

Ważne zmiany od wersji 1.6.0

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

Kotlin Conversion

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

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

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

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

Interfejsy API FullyDrawnReporter

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

Zalecamy włączenie tych interfejsów API:

  • sygnalizuje środowisku wykonawczym Androida, że uruchamianie zostało zakończone, aby zapewnić, że cały kod uruchomiony podczas sekwencji uruchamiania obejmującej wiele klatek zostanie uwzględniony i uwzględniony w kompilacji w tle.
  • sygnalizacja Macrobenchmark i Play Vitals, gdy aplikacja powinna być uważana za w pełni zainicjowaną pod kątem danych o rozruchu, aby można było śledzić wydajność;

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

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

Aktualizacje zależności

Wersja 1.7.0-rc01

8 marca 2023 r.

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

Aktualizacja zależności

Wersja 1.7.0-beta02

22 lutego 2023 roku

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

Zmiany w interfejsie API

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

Wersja 1.7.0-beta01

8 lutego 2023 r.

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

Nowe funkcje

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

Poprawki błędów

  • Wartość domyślna dla PickVisualMedia, gdy selektor zdjęć w ramach frameworku jest niedostępny, ogranicza teraz obsługę do aplikacji zainstalowanych w obrazie systemu urządzenia. (If8ae6)

Konwersje Kotlina

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

Wersja 1.7.0-alpha04

25 stycznia 2023 r.

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

Nowe funkcje

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

Wersja 1.7.0-alpha03

11 stycznia 2023 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Konwersje Kotlina

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

Wersja 1.7.0-alpha02

24 października 2022 r.

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

Poprawki błędów

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

Wersja 1.7.0-alpha01

5 października 2022 r.

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

Interfejsy API FullyDrawnReporter

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

Zalecamy włączenie tych interfejsów API:

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

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

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

Wersja 1.6.1

Wersja 1.6.1

24 października 2022 r.

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

Poprawki błędów

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

Wersja 1.6.0

Wersja 1.6.0

21 września 2022 r.

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

Ważne zmiany od wersji 1.5.0

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

Wersja 1.6.0-rc02

7 września 2022 roku

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

Poprawki błędów

  • OnBackPressedDispatcher rejestruje teraz OnBackInvokedCallbackPRIORITY_DEFAULT zamiast w PRIORITY_OVERLAY. (I3901f)
  • Klasy rozszerzające klasę ComponentActivity będą teraz zawsze wywoływać obie funkcje onMultiWindowModeChanged(). (Ic4d85)
  • Funkcja ActivityResultRegistry nie będzie już zwracać wyniku do funkcji ActivityResultCallback, gdy wywołanie launch zwróci wartość Exception, a wywołanie zwrotne zostało zarejestrowane bez parametru LifecycleOwner. (Ia7ff7, b/238350794)
  • ComponentActivity będzie teraz prawidłowo wysyłać wywołania menu bez konieczności wywoływania superfunkcji w Twojej aktywności. (Ie33c5, b/238057118)

Aktualizacja zależności

Wersja 1.6.0-rc01

24 sierpnia 2022 r.

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

Poprawki błędów

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

Wersja 1.6.0-beta01

10 sierpnia 2022 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Aktualizacja zależności

Wersja 1.6.0-alpha05

15 czerwca 2022 r.

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

Zmiany w interfejsie API

  • minCompileSdk to teraz 33, aby dopasować go do pakietu SDK Tiramisu Beta 3

Poprawki błędów

  • Naprawiono błąd powodujący awarię na starszych urządzeniach podczas sprawdzania rozszerzenia pakietu SDK w przypadku PickVisualMedia ActivityResultContract, dzięki czemu powinno ono teraz działać z ACTION_OPEN_DOCUMENT na urządzeniach z Androidem 10 lub niższym.

Wersja 1.6.0-alpha04

18 maja 2022 r.

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

Poprawki błędów

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

Wersja 1.6.0-alpha03

27 kwietnia 2022 r.

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

  • Uwaga: ta wersja będzie kompilowana tylko z pakietem SDK Androida 13 w wersji deweloperskiej 1.

Nowe funkcje

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

Wersja 1.6.0-alpha01

23 marca 2022 r.

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

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

Nowe funkcje

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

Wersja 1.5.1

Wersja 1.5.1

27 lipca 2022 roku

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

Poprawki błędów

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

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

Aktualizacja zależności

Wersja 1.5.0

Wersja 1.5.0

29 czerwca 2022 r.

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

Ważne zmiany od wersji 1.4.0

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

Inne zmiany

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

Wersja 1.5.0-rc01

11 maja 2022 roku

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

Wersja 1.5.0-beta01

20 kwietnia 2022 r.

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

Aktualizacje zależności

Wersja 1.5.0-alpha05

6 kwietnia 2022 roku

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

Poprawki błędów

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

Wersja 1.5.0-alpha04

23 marca 2022 r.

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

Poprawki błędów

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

Wersja 1.5.0-alpha03

23 lutego 2022 r.

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

Zmiany w interfejsie API

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

Wersja 1.5.0-alpha02

9 lutego 2022 r.

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

Nowe funkcje

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

Wersja 1.5.0-alpha01

26 stycznia 2022 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Poprawki błędów

  • Usunięto błąd powodujący awarię podczas dostępu do obiektu ViewModel po raz pierwszy z poziomu funkcji registerForActivityResult() lub funkcji wywołujących LifecycleObserver dodanych jako część init obiektu ComponentActivity. (Ife83f)

Wersja 1.4.0

Wersja 1.4.0

27 października 2021 roku

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

Ważne zmiany od wersji 1.3.0

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

Wersja 1.4.0-rc01

13 października 2021 r.

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

Poprawki błędów

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

Wersja 1.4.0-beta01

29 września 2021 r.

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

Zmiany w interfejsie API

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

Aktualizacje dokumentacji

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

Wersja 1.4.0-alpha02

15 września 2021 r.

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

Nowe funkcje

Zmiany w interfejsie API

  • Klasa ActivityResultContract została przepisana w języku Kotlin, aby zapewnić deweloperom możliwość definiowania prawidłowej opcji null dla klas wejściowych i wyjściowych w przypadku niestandardowych umów w Kotlinie. (I8a8f5)
  • Klasa ActivityResultContracts i jej kontrakty zostały przepisane w Kotlinie, aby zapewnić prawidłową wartość null. (I69802)

Wersja 1.4.0-alpha01

1 września 2021 roku

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

Nowe funkcje

  • AndroidX ComponentActivity implementuje teraz interfejs MenuHost. Dzięki temu każdy komponent może dodawać pozycje menu do ActionBar, dodając do aktywności instancję MenuProvider. Każdy element MenuProvider można opcjonalnie dodać z elementem Lifecycle, który automatycznie steruje widocznością tych elementów menu na podstawie stanu elementu Lifecycle i zajmuje się usuwaniem elementu MenuProvider po usunięciu elementu Lifecycle. (I3b608):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

Zmiany w zachowaniu

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

Darowizna zewnętrzna

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

Wersja 1.3.1

Wersja 1.3.1

4 sierpnia 2021 r.

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

Aktualizacje zależności

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

Wersja 1.3.0

Wersja 1.3.0

28 lipca 2021 roku

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

Ważne zmiany od wersji 1.2.0

  • Element Compose w aplikacji – element activity-compose udostępnia metodę rozszerzenia setContent, która umożliwia wyświetlanie interfejsu użytkownika Jetpack Compose w aplikacji, oraz specjalne owijacze Compose do interakcji z interfejsami API ComponentActivity, które obsługują przycisk Wstecz systemu i interfejsy API Activity Result. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją.
  • Umowy dotyczące rejestrowania filmów – funkcja CaptureVideo ActivityResultContract zastępuje wycofaną umowę TakeVideo i zwraca wartość logiczną oznaczającą powodzenie, która działa w wielu aplikacjach do obsługi aparatu.
  • Śledzenie podglądu w obrazie – podpowiedzi – użytkownicy activity-ktx mogą teraz używać metody rozszerzenia trackPipAnimationHintViewActivity, aby automatycznie odtworzyć PictureInPictureParams z nową pozycją widoku, gdy zmienia on położenie względem okna.

Wersja 1.3.0-rc02

14 lipca 2021 roku

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

Poprawki błędów

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

Wersja 1.3.0-rc01

1 lipca 2021 r.

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

Wersja 1.3.0-beta02

16 czerwca 2021 r.

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

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

Wersja 1.3.0-beta01

2 czerwca 2021 r.

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

Zmiany w interfejsie API

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

Wersja 1.3.0-alpha08

18 maja 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Zgodność funkcji tworzenia

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

Wersja 1.3.0-alpha07

21 kwietnia 2021 r.

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

Poprawki błędów

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

Wersja 1.3.0-alpha06

7 kwietnia 2021 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.3.0-alpha05

24 marca 2021 r.

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

Poprawki błędów

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

Aktualizacje zależności

Wersja 1.3.0-alpha04

10 marca 2021 r.

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

Poprawki błędów

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

Wersja 1.3.0-alpha03

24 lutego 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Wersja 1.3.0-alpha02

10 lutego 2021 r.

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

Poprawki błędów

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

Zmiany w interfejsie API

  • Interfejsu BackHandler API można użyć, aby umożliwić komponentowi przechwycenie przycisku Wstecz systemu. (I58ed5, b/172154006)

Wersja 1.3.0-alpha01

10 lutego 2021 r.

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

Nowe funkcje

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

Znane problemy

  • Korzystanie z funkcji Activity Compose 1.3.0-alpha01 i bibliotek, które są od niej zależne, takich jak androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, spowoduje wyjątek NoSuchMethodError: No static method setContent. (b/179911234)

Wersja 1.2.4

Wersja 1.2.4

21 lipca 2021 r.

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

Poprawki błędów

Wersja 1.2.3

Wersja 1.2.3

5 maja 2021 roku

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

Poprawki błędów

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

Wersja 1.2.2

Wersja 1.2.2

24 marca 2021 r.

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

Poprawki błędów

  • Rozwiązaliśmy problem z sprawdzaniem błędów InvalidFragmentVersionForActivityResult, które powodowało fałszywie pozytywny wynik przy użyciu Fragmentu 1.3.1 lub nowszego. (I54da1, b/182388985)
  • ComponentActivity nie uruchamia już ClassNotFoundException, gdy Intent jest uruchamiana z poziomu ActivityResultContract, która była wcześniej nadliczbową w innej Intent. (Ieff05, b/182906230)

Aktualizacje zależności

Wersja 1.2.1

Wersja 1.2.1

10 marca 2021 r.

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

Poprawki błędów

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

Wersja 1.2.0

Wersja 1.2.0

10 lutego 2021 r.

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

Najważniejsze zmiany od wersji 1.1.0

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

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

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

Wersja 1.2.0-rc01

16 grudnia 2020 roku

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

Poprawki błędów

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

Darowizna zewnętrzna

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

Wersja 1.2.0-beta02

2 grudnia 2020 r.

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

Poprawki błędów

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

Darowizna zewnętrzna

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

Wersja 1.2.0-beta01

1 października 2020 roku

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

Poprawki błędów

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

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

Zmiany w zachowaniu

  • Funkcja ActivityResultRegistry powoduje teraz błąd IllegalStateException podczas próby wywołania funkcji register() z poziomu funkcji LifecycleOwner, której funkcja Lifecycle osiągnęła już poziom STARTED. (b/165435866)

Zaktualizowano dokumentację

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

Wersja 1.2.0-alpha08

19 sierpnia 2020 r.

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

Nowe funkcje

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

Poprawki błędów

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

Wersja 1.2.0-alpha07

22 lipca 2020 r.

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

Nowe funkcje

  • Dodano nową kontrolę lint InvalidFragmentVersionForActivityResult, która sprawdza, czy używasz interfejsu Fragment 1.3.0-alpha07 podczas korzystania z interfejsu Activity Result API. Pozwala to uniknąć awarii w czasie wykonywania spowodowanych problemami z „nieprawidłowym kodem żądania” i niedziałającymi żądaniami uprawnień wynikającymi z użycia starszych wersji fragmentów. (b/152554847)

Darowizna zewnętrzna

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

Wersja 1.2.0-alpha06

10 czerwca 2020 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Wersja 1.2.0-alpha05

20 maja 2020 r.

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

Nowe funkcje

Zmiany w interfejsie API

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

Poprawki błędów

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

Zmiany w zachowaniu

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

Wersja 1.2.0-alpha04

29 kwietnia 2020 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.2.0-alpha03

1 kwietnia 2020 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.2.0-alpha02

18 marca 2020 r.

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

Nowe funkcje

  • ActivityResultRegistry: ComponentActivity udostępnia teraz ActivityResultRegistry, który umożliwia obsługę przepływów startActivityForResult()+onActivityResult()requestPermissions()+onRequestPermissionsResult() bez zastępowania metod w Twojej aktywności lub fragmencie. Zapewnia też większą ochronę typów za pomocą ActivityResultContract oraz zapewnia elementy do testowania tych przepływów. Zobacz zaktualizowaną wersję artykułu Pobieranie wyniku z aktywności. (b/125158199)
1.2.0-alpha02

Wersja 1.2.0-alpha01

4 marca 2020 r.

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

Nowe funkcje

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

Poprawki błędów

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

Wersja 1.1.0

Wersja 1.1.0

22 stycznia 2020 r.

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

Ważne zmiany od wersji 1.0.0

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

Wersja 1.1.0-rc03

4 grudnia 2019

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

Zmiany zależności

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

Wersja 1.1.0-rc02

7 listopada 2019 r.

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

Zmiany w zależnościach

  • Aktywność zależy teraz od cyklu życia 2.2.0-rc02.

Wersja 1.1.0-rc01

23 października 2019 r.

androidx.activity:activity:1.1.0-rc01androidx.activity:activity-ktx:1.1.0-rc01 są publikowane bez zmian w stosunku do wersji 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia:

Wersja 1.1.0-beta01

9 października 2019 r.

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

Zmiany zależności

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

Wersja 1.1.0-alpha03

5 września 2019 r.

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

Nowe funkcje

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

Poprawki błędów

Wersja 1.1.0-alpha02

7 sierpnia 2019 r.

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

Nowe funkcje

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

Wersja 1.1.0-alpha01

2 lipca 2019 r.

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

Nowe funkcje

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

Wersja 1.0.0

Wersja 1.0.0

5 września 2019 r.

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

Najważniejsze funkcje wersji 1.0.0

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

Wersja 1.0.0-rc01

2 lipca 2019 r.

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

Wersja 1.0.0-beta01

5 czerwca 2019 r.

androidx.activity::activity:1.0.0-beta01androidx.activity:activity-ktx:1.0.0-beta01 są publikowane bez zmian w stosunku do wersji 1.0.0-alpha08. Zmiany zawarte w tej wersji znajdziesz tutaj.

Wersja 1.0.0-alpha08

7 maja 2019 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.0.0-alpha07

25 kwietnia 2019 r.

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

Zmiany w interfejsie API

W tej wersji wprowadzono istotne zmiany w obsługiwaniu onBackPressed(). Aby dowiedzieć się więcej, zapoznaj się z zaktualizowaną dokumentacją dotyczącą niestandardowych stron z informacjami.

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

Wersja 1.0.0-alpha06

3 kwietnia 2019 r.

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

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha05

13 marca 2019 r.

Zasoby androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05 są dostępne. Pełną listę zatwierdzeń uwzględnionych w tej wersji znajdziesz tutaj.

Nowe funkcje

  • wyszukiwania adnotacji @ContentView są teraz przechowywane w pamięci podręcznej (b/123709449).

Wersja 1.0.0-alpha04

30 stycznia 2019 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

Poprawki błędów

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

Wersja 1.0.0-alpha03

17 grudnia 2018 r.

androidx.activity 1.0.0-alpha03 został zwolniony.

Nowe funkcje

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

Wersja 1.0.0-alpha02

3 grudnia 2018 r.

Zmiany w interfejsie API

Wersja 1.0.0-alpha01

5 listopada 2018 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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