Aktivität

Auf Activity basierende zusammensetzbare APIs aufrufen
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
2. Juli 2025 1.10.1 1.11.0-rc01 - 1.12.0-alpha04

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Activity hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Cool

dependencies {
    def activity_version = "1.10.1"

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

Kotlin

dependencies {
    val activity_version = "1.10.1"

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

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.

Version 1.12

Version 1.12.0-alpha04

2. Juli 2025

androidx.activity:activity:1.12.0-alpha04, androidx.activity:activity-compose:1.12.0-alpha04 und androidx.activity:activity-ktx:1.12.0-alpha04 sind veröffentlicht. Version 1.12.0-alpha04 enthält diese Commits.

Änderungen an Abhängigkeiten

Version 1.12.0-alpha03

18. Juni 2025

androidx.activity:activity:1.12.0-alpha03, androidx.activity:activity-compose:1.12.0-alpha03 und androidx.activity:activity-ktx:1.12.0-alpha03 sind veröffentlicht. Version 1.12.0-alpha03 enthält diese Commits.

Fehlerkorrekturen

  • OnBackPressedDispatcher und NavigationEventDispatcher werden jetzt beide verzögert in ComponentActivity initialisiert. (I710e6)

  • Es wurden Probleme mit OnBackPressedDistpatcher behoben, die Folgendes verursacht haben:

    • Nur der letzte Dispatcher am OnBackPressedCallback wurde hinzugefügt, um über den aktivierten Status benachrichtigt zu werden (b/418715930).
    • OnBackPressedDispatcher entfernt den falschen Callback, wenn die addCallback-Funktion verwendet wird, die einen Lebenszyklus akzeptiert. (b/422714753)
    • Mit OnBackPressedDispatcher.remove() werden nicht alle Instanzen einer registrierten OnBackPressedCallback entfernt. (b/423024414)

Version 1.12.0-alpha02

4. Juni 2025

androidx.activity:activity:1.12.0-alpha02, androidx.activity:activity-compose:1.12.0-alpha02 und androidx.activity:activity-ktx:1.12.0-alpha02 sind veröffentlicht. Version 1.12.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Aus NavigationEvent 1.0.0-alpha02: Ein ConcurrentModificationException wurde behoben, der auftreten konnte, wenn NavigationEventCallback.remove() aufgerufen wurde, weil die interne Liste der schließbaren Elemente gleichzeitig geändert wurde. (I63066)

Version 1.12.0-alpha01

20. Mai 2025

androidx.activity:activity:1.12.0-alpha01, androidx.activity:activity-compose:1.12.0-alpha01 und androidx.activity:activity-ktx:1.12.0-alpha01 sind veröffentlicht. Version 1.12.0-alpha01 enthält diese Commits.

Neue Funktionen

  • ComponentActivity und ComponentDialog wurden über die NavigationEventDispatcherOwner API in NavigationEvent 1.0.0-alpha01 integriert. Sie können jetzt über das Feld navigationEventDispatcher eine NavigationEventDispatcher aus Ihrem ComponentActivity abrufen. Da die OnBackPressedDispatcher auf der neuen Bibliothek basiert, sollten alle bisherigen Verwendungen weiterhin korrekt funktionieren. Sie sollten in Zukunft NavigationEventDispatcher und NavigationEventCallback verwenden. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)

Version 1.11

Version 1.11.0-rc01

23. April 2025

androidx.activity:activity:1.11.0-rc01, androidx.activity:activity-compose:1.11.0-rc01 und androidx.activity:activity-ktx:1.11.0-rc01 sind veröffentlicht. Version 1.11.0-rc01 enthält diese Commits.

Version 1.11.0-beta01

9. April 2025

androidx.activity:activity:1.11.0-beta01, androidx.activity:activity-compose:1.11.0-beta01 und androidx.activity:activity-ktx:1.11.0-beta01 sind veröffentlicht. Version 1.11.0-beta01 enthält diese Commits.

Version 1.11.0-alpha02

26. März 2025

androidx.activity:activity:1.11.0-alpha02, androidx.activity:activity-compose:1.11.0-alpha02 und androidx.activity:activity-ktx:1.11.0-alpha02 sind veröffentlicht. Version 1.11.0-alpha02 enthält diese Commits.

API-Änderungen

  • Die neuen EDGE_NONE und frameTimeMillis aus Android 16 Beta03 wurden in die BackEventCompat integriert, die von den Funktionen handleOnBackStarted und handleOnBackProgressed von OnBackPressedCallback bereitgestellt werden.

Abhängigkeitsupdates

Version 1.11.0-alpha01

12. März 2025

androidx.activity:activity:1.11.0-alpha01, androidx.activity:activity-compose:1.11.0-alpha01 und androidx.activity:activity-ktx:1.11.0-alpha01 sind veröffentlicht. Version 1.11.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Die MediaCapabilities API wurde PickVisualMediaRequest hinzugefügt, damit Anwendungen ihre Media-Funktionen wie unterstützte HDR-Typen angeben können. (Ic3ee7)

Version 1.10

Version 1.10.1

26. Februar 2025

androidx.activity:activity:1.10.1, androidx.activity:activity-compose:1.10.1 und androidx.activity:activity-ktx:1.10.1 sind veröffentlicht. Version 1.10.1 enthält diese Commits.

Fehlerkorrekturen

  • ViewTree OnBackPressedDispatcherOwners und FullyDrawnReporterOwners können jetzt über disjunkte übergeordnete Elemente einer Ansicht, z. B. ein ViewOverlay, aufgelöst werden. Weitere Informationen zu disjunkten Ansichtseltern finden Sie in den Versionshinweisen von core oder in der Dokumentation unter ViewTree.setViewTreeDisjointParent. (Ie7750)

Version 1.10.0

15. Januar 2025

androidx.activity:activity:1.10.0, androidx.activity:activity-compose:1.10.0 und androidx.activity:activity-ktx:1.10.0 sind veröffentlicht. Version 1.10.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.9.0

  • Mit PhotoPicker können Sie jetzt Bilder in einer bestimmten Reihenfolge auswählen und festlegen, welcher Tab (entweder „Alben“ oder „Bilder“) zuerst angezeigt werden soll.
  • Die PickVisualMedia- und PickMultipleVisualMedia-Aktivitätsergebnis-Verträge, die die Bildauswahl auslösen, werden nicht mehr direkt an Google Play-Dienste delegiert, wenn die Systembildauswahl nicht verfügbar ist. Stattdessen wird die öffentliche ACTION_SYSTEM_FALLBACK_PICK_IMAGES-Aktion und die zugehörigen Extras verwendet, um OEMs und System-Apps eine konsistente Bildauswahl als Fallback zu bieten.
  • Neue LocalActivity-Kompositionslokale, die die Activity für den aktuellen Bereich bereitstellen. Entwickler müssen also nicht mehr Activity von LocalContext abrufen.

Version 1.10.0-rc01

11. Dezember 2024

androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01 und androidx.activity:activity-ktx:1.10.0-rc01 sind veröffentlicht. Version 1.10.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem das Ändern des aktivierten Status während der PredictiveBackHandler den Callback sofort unterbrochen hat. Der aktuelle Callback wird jetzt abgeschlossen, unabhängig von Änderungen des aktivierten Status. (Ib8719)

Version 1.10.0-beta01

13. November 2024

androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01 und androidx.activity:activity-ktx:1.10.0-beta01 werden ohne Änderungen seit der letzten Alphaversion veröffentlicht. Version 1.10.0-beta01 enthält diese Commits.

Version 1.10.0-alpha03

30. Oktober 2024

androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03 und androidx.activity:activity-ktx:1.10.0-alpha03 sind veröffentlicht. Version 1.10.0-alpha03 enthält diese Commits.

API-Änderungen

  • Es wurde ein neues LocalActivity-Kompositionslokal hinzugefügt, das die Activity für den aktuellen Bereich bereitstellt. Entwickler müssen die Activity nicht mehr von der LocalContext abrufen. Außerdem ist eine neue Lint-Regel enthalten, die prüft, ob LocalContext fälschlicherweise in Activity umgewandelt wird. (I7746a, b/283009666)

Fehlerkorrekturen

  • Ab Aktivität 1.9.3: PredictiveBackHandler löst den Callback nicht mehr aus, nachdem der Handler deaktiviert wurde. Dadurch wird ein Problem behoben, bei dem die NavHost aus Navigation Compose eine IndexOutOfBoundsException ausgelöst hat. (I3f75e, b/365027664, b/340202286)

Abhängigkeitsupdate

Version 1.10.0-alpha02

4. September 2024

androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02 und androidx.activity:activity-ktx:1.10.0-alpha02 sind veröffentlicht. Version 1.10.0-alpha02 enthält diese Commits.

Geändertes Verhalten

  • Die PickVisualMedia- und PickMultipleVisualMedia-Aktivitätsergebnis-Verträge, die die Bildauswahl auslösen, werden nicht mehr direkt an Google Play-Dienste delegiert, wenn die Systembildauswahl nicht verfügbar ist. Stattdessen wird die öffentliche ACTION_SYSTEM_FALLBACK_PICK_IMAGES-Aktion und die zugehörigen Extras verwendet, um OEMs und System-Apps eine konsistente Bildauswahl als Fallback zu bieten. Dies sollte sich nicht auf die Nutzerfreundlichkeit von Geräten mit einer aktuellen Version der Google Play-Dienste auswirken. (I3513d)

Fehlerkorrekturen

  • Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher (z.B. R8-Version 3.3) verwendet wird, und für alle Builds, wenn AGP 8.1 oder höher (z.B. D8-Version 8.1) verwendet wird. Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (I9496c, b/345472586)
  • Aktivität 1.9.2: Es wurde ein Problem behoben, bei dem die Activity Compose-API PredictiveBackHandler weiterhin die System-Zurück-Geste im Frame verarbeitet hat, in dem sie deaktiviert wurde. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Backstack verarbeitet haben, was zu einem IndexOutOfBoundsException geführt hat. (Ie3301, b/340202286)
  • Aktivität 1.9.1: Es wurde ein Problem mit PredictiveBackHandler behoben, bei dem der Versuch, onBackPressed über die OnBackPressedDispatcher auszuführen, nach dem Ausführen von „System zurück“ fehlschlug. (I5f1f8)

Version 1.10.0-alpha01

26. Juni 2024

androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01 und androidx.activity:activity-ktx:1.10.0-alpha01 sind veröffentlicht. Diese Version wird in einem internen Branch entwickelt.

Neue Funktionen

  • Unterstützung für neue PhotoPicker-Funktionen in Android V hinzugefügt, z. B. die Möglichkeit, Bilder in einer bestimmten Reihenfolge auszuwählen und festzulegen, welcher Tab (entweder „Alben“ oder „Bilder“) zuerst angezeigt werden soll.

Version 1.9

Version 1.9.3

16. Oktober 2024

androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3 und androidx.activity:activity-ktx:1.9.3 sind veröffentlicht. Version 1.9.3 enthält diese Commits.

Fehlerkorrekturen

  • PredictiveBackHandler löst den Callback nicht mehr aus, nachdem der Handler deaktiviert wurde. Dadurch wird ein Problem behoben, bei dem die NavHost aus Navigation Compose eine IndexOutOfBoundsException ausgelöst hat. (I3f75e, b/340202286)

Version 1.9.2

4. September 2024

androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2 und androidx.activity:activity-ktx:1.9.2 sind veröffentlicht. Version 1.9.2 enthält diese lthcocommits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem die Activity Compose-API PredictiveBackHandler die System-Zurück-Geste im Frame, in dem sie deaktiviert wurde, weiterhin verarbeitet hat. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Backstack verarbeitet haben, was zu einer IndexOutOfBoundsException geführt hat. (Ie3301, b/340202286)

Version 1.9.1

24. Juli 2024

androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1 und androidx.activity:activity-ktx:1.9.1 sind veröffentlicht. Version 1.9.1 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem mit PredictiveBackHandler wurde behoben. Nach dem Zurücksetzen des Systems schlug der Versuch, onBackPressed über die OnBackPressedDispatcher auszuführen, fehl. (I5f1f8)

Version 1.9.0

17. April 2024

androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0 und androidx.activity:activity-ktx:1.9.0 sind veröffentlicht. Version 1.9.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.8.0

  • In ComponentActivity wird jetzt OnUserLeaveHintProvider implementiert, damit Komponenten Callbacks für onUserLeaveHint-Ereignisse ausführen können.
  • Die APIs OnBackPressedCallback, BackHandler und PredictiveBackHandler geben jetzt eine Warnung aus, wenn onBackPressedDispatcher.onBackPressed() beim Zurückgehen aufgerufen wird, da dies immer die vorhersagende Zurück-Animation unterbricht. Weitere Informationen finden Sie im Leitfaden mit Best Practices.
  • Die restlichen Activity APIs wurden in Kotlin neu geschrieben und alle Erweiterungen, die zuvor in activity-ktx verfügbar waren, wurden nach activity verschoben. activity-ktx ist jetzt vollständig leer.
    • Im Rahmen der Umstellung von ActivityResultLauncher auf Kotlin ist die Methode getContract jetzt eine abstrakte Kotlin-Property. Dies ist eine binärkompatible Änderung, aber eine Quelländerung, wenn Ihre Implementierung von ActivityResultLauncher in Kotlin geschrieben ist.

Version 1.9.0-rc01

3. April 2024

androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01 und androidx.activity:activity-ktx:1.9.0-rc01 sind veröffentlicht. Version 1.9.0-rc01 enthält diese Commits.

Abhängigkeitsupdate

Version 1.9.0-beta01

20. März 2024

androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01 und androidx.activity:activity-ktx:1.9.0-beta01 sind veröffentlicht. Version 1.9.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem mit der Leistung beim Starten von Aktivitäten behoben, das in Aktivität 1.9.0-alpha02 eingeführt wurde und durch den Aufruf von OnBackPressedDispatcher im Rahmen der Erstellung der Aktivität verursacht wurde. (Ie75e3)

Version 1.9.0-alpha03

7. Februar 2024

androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03 und androidx.activity:activity-ktx:1.9.0-alpha03 sind veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.

Lint-Warnung

Fehlerkorrekturen

  • Wenn ein „Zurück“-Ereignis vom System gesendet wird, das während einer bereits laufenden Vorhersage-Geste „Zurück“ gestartet wurde, wird die aktuell laufende Vorhersage-Geste „Zurück“ abgebrochen und das neue „Zurück“-Ereignis übernimmt, um eine neue Vorhersage-Geste „Zurück“ zu starten. (I3482e)
  • Ein Absturz wurde behoben, der auftrat, wenn zum ersten Mal über einen Hintergrundthread auf onBackPressedDispatcher über ein ComponentActivity zugegriffen wurde. Sie können jetzt von jedem Thread aus auf onBackPressedDispatcher zugreifen. (I79955)

Version 1.9.0-alpha02

24. Januar 2024

androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02 und androidx.activity:activity-ktx:1.9.0-alpha02 sind veröffentlicht. Version 1.9.0-alpha02 enthält diese Commits.

Kotlin-Conversions

  • ActivityResultRegistry wurde in Kotlin neu geschrieben. So wird sichergestellt, dass die Nullable-Eigenschaft der Generics im Vertrag, der an register übergeben wird, korrekt an die ActivityResultLauncher weitergegeben wird, die an Sie zurückgegeben wird. (I121f0)
  • ActivityResult wurde in Kotlin neu geschrieben. Die ActivityResult-Kotlin-Erweiterungen, die das Destrukturieren in die Felder resultCode und data unterstützen, wurden von activity-ktx nach activity verschoben. (I0565a)
  • Die Kotlin-Erweiterungen von by viewModels() für ComponentActivity und trackPipAnimationHintView wurden von activity-ktx nach activity verschoben. Das activity-ktx-Artefakt ist jetzt komplett leer. (I0a444)

Fehlerkorrekturen

  • Die enableEdgeToEdge API rendert jetzt um alle Displayausschnitte herum. (a3644b, b/311173461)
  • Von Activity 1.8.2: Der an den ACTION_SYSTEM_FALLBACK_PICK_IMAGES des Photo Picker Activity Contract übergebene Extra wurde korrigiert, sodass der EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX-Schlüssel korrekt übergeben wird, anstatt den Extra mit dem Schlüssel "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" zu verwenden. Wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, wird dringend empfohlen, beide Extras zu unterstützen, um eine möglichst breite Kompatibilität zu gewährleisten. (I96a00)

Version 1.9.0-alpha01

29. November 2023

androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01 und androidx.activity:activity-ktx:1.9.0-alpha01 sind veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.

Neue Funktionen

  • In ComponentActivity wird jetzt OnUserLeaveHintProvider implementiert, damit Komponenten Callbacks für onUserLeaveHint-Ereignisse ausführen können. (I54892)

API-Änderungen

  • ComponentActivity wurde in Kotlin neu geschrieben. (I14f31)
  • ActivityResultCaller wurde in Kotlin neu geschrieben. (Ib02e4)
  • ActivityResultLauncher wurde in Kotlin neu geschrieben. Im Rahmen dieser Umstellung ist die Methode getContract jetzt eine abstrakte Kotlin-Property. Dies ist eine binärkompatible Änderung, aber eine Quelländerung, wenn Ihre Implementierung von ActivityResultLauncher in Kotlin geschrieben ist. (Id4615)
  • PickVisualMediaRequest hat jetzt dasselbe Mindest-API-Level von 19 wie der PickVisualMedia-Vertrag für Aktivitätsergebnisse. (Id6e21)

Abhängigkeitsupdate

Version 1.8

Version 1.8.2

13. Dezember 2023

androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2 und androidx.activity:activity-ktx:1.8.2 sind veröffentlicht. Version 1.8.2 enthält diese Commits.

Fehlerkorrekturen

  • Der an ACTION_SYSTEM_FALLBACK_PICK_IMAGES des Photo Picker Activity Contract übergebene Extra wurde korrigiert, sodass er den Schlüssel EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX anstelle des Extras mit dem Schlüssel "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" verwendet. Wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, wird dringend empfohlen, beide Extras zu unterstützen, um eine möglichst breite Kompatibilität zu gewährleisten. (I96a00)

Version 1.8.1

15. November 2023

androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1 und androidx.activity:activity-ktx:1.8.1 sind veröffentlicht. Version 1.8.1 enthält diese Commits.

Fehlerkorrekturen

  • OnBackPressedDispatcher leitet jetzt auch dann an das richtige OnBackPressedCallback weiter, wenn während der Verarbeitung der Zurück-Geste ein neues OnBackPressedCallback hinzugefügt wird. (Id0ff6)

Version 1.8.0

4. Oktober 2023

androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0 und androidx.activity:activity-ktx:1.8.0 sind veröffentlicht. Version 1.8.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.7.0

  • Intelligente „Zurück“-Geste: Das OnBackPressedCallback bietet jetzt neue Predictive Back-Callbacks für die Verarbeitung des Beginns der „Zurück“-Geste, des Fortschritts während der Geste und des Abbruchs der „Zurück“-Geste. Bisher gab es nur den handleOnBackPressed()-Callback für den Fall, dass die „Zurück“-Geste ausgeführt wird. Außerdem ist die PredictiveBackHandler-Composable enthalten, mit der Vorhersage-Back-Gestenereignisse in Activity Compose verarbeitet werden können. Sie stellt einen Flow von BackEventCompat-Objekten bereit, die im bereitgestellten Lambda mit Suspend-Funktion erfasst werden müssen:
  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() wurde zugunsten der APIs für die Rücktaste eingestellt. Entwickler sollten jetzt OnBackPressedDispatcher verwenden, anstatt diese Methode zu überschreiben.

  • EdgeToEdge: ComponentActivity.enableEdgeToEdge() wurde hinzugefügt, um das randlose Display auf abwärtskompatible Weise einzurichten.

Version 1.8.0-rc01

20. September 2023

androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01 und androidx.activity:activity-ktx:1.8.0-rc01 sind veröffentlicht. Version 1.8.0-rc01 enthält diese Commits.

Version 1.8.0-beta01

6. September 2023

androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01 und androidx.activity:activity-ktx:1.8.0-beta01 sind veröffentlicht. Version 1.8.0-beta01 enthält diese Commits.

Verbesserung der Dokumentation

  • Die Dokumentation von BackEventCompat wurde verbessert. (aosp/2722254)

Version 1.8.0-alpha07

23. August 2023

androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07 und androidx.activity:activity-ktx:1.8.0-alpha07 sind veröffentlicht. Version 1.8.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Activity Compose hat ein neues PredictiveBackHandler-Composable hinzugefügt, um Ereignisse für die vorhersagende Zurück-Geste zu verarbeiten. Sie enthält eine Flow von BackEventCompat-Objekten, die in der von Ihnen bereitgestellten Lambda-Funktion für das Anhalten erfasst werden müssen:

    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
      }
    }
    

    Außerdem wird eine Warnung zur Kompilierzeit über die Lint-Regel ausgegeben, um sicherzustellen, dass die Flow-Aufrufe collect(). (Id2773, b/294884345)

  • Die onBackPressedDispatcher in ComponentActivity wird jetzt verzögert initialisiert, sodass sie nur bei Bedarf erstellt wird. (I0bf8e)

Fehlerkorrekturen

  • ComponentActivity zeigt unter Android 13 keinen NPE mehr an, wenn ein onBackPressed()-Callback empfangen wird und die Aktivität bereits DESTROYED wurde. (Idb055, b/291869278)
  • Verwendungen der experimentellen isAtLeastU() API entfernt (Ie9117, b/289269026)

Version 1.8.0-alpha06

21. Juni 2023

androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06 und androidx.activity:activity-ktx:1.8.0-alpha06 sind veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Das OnBackPressedDispatcher bricht jetzt alle Callbacks ab, die während einer Vorhersage-Geste zum Zurückgehen entfernt werden. (I3f90f)

API-Änderungen

  • Wenn Sie SystemBarStyle.auto an die enableEdgeToEdge API übergeben, können Sie jetzt den Lambda-Parameter detectDarkMode überschreiben, um benutzerdefinierte Logik zum Erkennen des Nachtmodus bereitzustellen. (aosp/2546393, b/278263793)

Version 1.8.0-alpha05

7. Juni 2023

androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05 und androidx.activity:activity-ktx:1.8.0-alpha05 sind veröffentlicht. Diese Version wird in einem internen Branch entwickelt.

API-Änderungen

  • Activity bietet jetzt eine BackEventCompat-Klasse, die als abwärtskompatible Version von BackEvent dient und von der Framework-Klasse BackEvent entkoppelt ist.
  • Wichtige Änderung:Die Methoden handleOnBackStarted und handleOnBackProgressed von OnBackPressedCallback erhalten jetzt eine androidx.activity.BackEventCompat-Instanz anstelle einer Framework-Klasse android.window.BackEvent. Die entsprechenden @VisibleForTesting-APIs auf OnBackPressedDispatcher wurden ebenfalls aktualisiert.
  • Der Konstruktor für OnBackPressedDispatcher akzeptiert jetzt eine optionale Consumer<Boolean>-Instanz, mit der die Inhaber des Dispatchers einen Callback erhalten, wenn sich die Anzahl der aktivierten Callbacks von null auf einen Wert ungleich null oder umgekehrt ändert.

Fehlerkorrekturen

  • Unter Aktivität 1.7.2: Fehler behoben, durch den ReportDrawn abstürzte, wenn vor dem Aufrufen von report von einem Bildschirm weg navigiert wurde. (Ic46f1, b/260506820)

Version 1.8.0-alpha04

10. Mai 2023

androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04 und androidx.activity:activity-ktx:1.8.0-alpha04 sind veröffentlicht. Diese Version wurde über einen internen Branch veröffentlicht.

Fehlerkorrekturen

  • Ab Activity 1.7.1: Das ReportFullyDrawExecuter wird nicht mehr offengelegt, wenn ComponentActivity mit ActivityScenario verwendet wird. (Id2ff2, b/277434271)

Version 1.8.0-alpha03

12. April 2023

androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03 und androidx.activity:activity-ktx:1.8.0-alpha03 sind veröffentlicht. Diese Version wurde über einen internen Branch veröffentlicht.

Neue Funktionen

  • ComponentActivity.setUpEdgeToEdge() wurde hinzugefügt, um das Edge-to-Edge-Display auf abwärtskompatible Weise einzurichten.

API-Änderungen

  • ComponentActivity.onBackPressed() wurde zugunsten der APIs für die Rücktaste eingestellt. Entwickler sollten jetzt OnBackPressedDispatcher verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)
  • ComponentDialog und ComponentActivity enthalten jetzt die öffentliche API initViewTreeOwners(), mit der alle View-Baum-Inhaber initialisiert werden, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem Fragmente MenuHosts fälschlicherweise ungültig gemacht und andere Menüs in der Aktivität zu unerwartetem Verhalten geführt haben. (I9404e, b/244336571)

Weitere Änderungen

  • Für ActivityResultRegister wird jetzt Kotlin Random anstelle von Java verwendet. (I4d98f, b/272096025)

Version 1.8.0-alpha02

8. März 2023

androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02 und androidx.activity:activity-ktx:1.8.0-alpha02 sind veröffentlicht. Aus einem internen Branch entwickelt.

Abhängigkeitsupdate

Version 1.8.0-alpha01

8. Februar 2023

androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01 und androidx.activity:activity-ktx:1.8.0-alpha01 sind veröffentlicht. Diese Version wurde aus einem internen Branch erstellt.

Neue Funktionen

  • Die Klasse OnBackPressedCallback enthält jetzt neue Predictive Back-Fortschritts-Callbacks für die Verarbeitung des Beginns der „Zurück“-Geste, des Fortschritts während der Geste und des Abbruchs der „Zurück“-Geste. Zusätzlich zum bisherigen handleOnBackPressed()-Callback für den Fall, dass die „Zurück“-Geste ausgeführt wird.

Version 1.7

Version 1.7.2

24. Mai 2023

androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2 und androidx.activity:activity-ktx:1.7.2 sind veröffentlicht. Version 1.7.2 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der zum Absturz von ReportDrawn führte, wenn ein Nutzer einen Bildschirm verließ, bevor report aufgerufen wurde. (Ic46f1, b/260506820)

Version 1.7.1

19. April 2023

androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1 und androidx.activity:activity-ktx:1.7.1 sind veröffentlicht. Version 1.7.1 enthält diese Commits.

Fehlerkorrekturen

  • Das ReportFullyDrawExecuter wird nicht mehr weitergegeben, wenn ComponentActivity mit ActivityScenario verwendet wird. (Id2ff2, b/277434271)

Version 1.7.0

22. März 2023

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 und androidx.activity:activity-ktx:1.7.0 sind veröffentlicht. Version 1.7.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.6.0

  • Die Vertragsbedingungen für die Bildauswahl-Aktivität in PickVisualMedia und PickMultipleVisualMedia wurden aktualisiert und enthalten einen zusätzlichen Fallback für den Fall, dass MediaStore.ACTION_PICK_IMAGES nicht verfügbar ist. Dadurch können OEMs und System-Apps wie die Google Play-Dienste eine einheitliche Bildauswahl auf einer größeren Anzahl von Android-Geräten und API-Levels bereitstellen, indem sie die Fallback-Aktion implementieren. Die Bildauswahl verwendet diesen Fallback, sofern er verfügbar ist, bevor sie auf Intent.ACTION_OPEN_DOCUMENT zurückgreift, das weiterhin alle Geräte mit API 19 und höher unterstützt.
  • ComponentDialog implementiert jetzt SavedStateRegistryOwner und hat Zugriff auf sein eigenes SavedStateRegistry und legt das SavedStateRegistryOwner für seine ViewTree fest. Es ist jetzt möglich, Jetpack Compose in einem ComponentDialog zu verwenden, da es sowohl die LifecycleOwner als auch die SavedStateRegistryOwner erfüllt, die über die ViewTree-APIs an das Fenster angehängt sind.
  • Mit IntentSenderRequest.Builder.setFlags() können Sie jetzt mehrere Flags aus Intent festlegen und nicht nur ein einzelnes Flag.

Kotlin-Konvertierung

Eine Reihe von Activity-Klassen wurde in Kotlin konvertiert. Alle konvertierten Klassen behalten ihre binäre Kompatibilität mit früheren Versionen bei. Die folgenden Klassen haben quelleninkompatible Änderungen für in Kotlin geschriebene Klassen: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

In der Tabelle unten finden Sie die Quell-Conversions für die neue Version von „Aktivität“:

Aktivität 1.5 Aktivität 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

Diese Klassen wurden ebenfalls in Kotlin konvertiert, sind aber weiterhin quellkompatibel: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest und OnBackPressedDispatcher.

FullyDrawnReporter-APIs

ComponentActivity bietet jetzt eine FullyDrawnReporter-Instanz, mit der mehrere Komponenten melden können, wenn sie für die Interaktion bereit sind. ComponentActivity wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn() in Ihrem Namen aufgerufen wird. Diese APIs kümmern sich um die Timing-Anforderungen und müssen nicht im Rahmen eines onDraw-Aufrufs aufgerufen werden.

Es wird empfohlen, diese APIs zu aktivieren:

  • Die Android-Laufzeit wird benachrichtigt, wenn der Start abgeschlossen ist. So wird dafür gesorgt, dass der gesamte Code, der während einer Multi-Frame-Startsequenz ausgeführt wird, in die Hintergrundkompilierung einbezogen und für diese priorisiert wird.
  • Sie können Macrobenchmarks und Play Vitals signalisieren, wann Ihre Anwendung für Startmesswerte als vollständig gerendert gelten soll, damit Sie die Leistung verfolgen können.

Es wurden drei Activity Compose-APIs hinzugefügt, um die Verwendung von FullyDrawnReporter aus einzelnen Composables zu vereinfachen:

  • ReportDrawn gibt an, dass das Composable-Element sofort für die Interaktion bereit ist.
  • ReportDrawnWhen akzeptiert ein Prädikat (d.h. list.count > 0), um anzugeben, wann Ihre Composable für die Interaktion bereit ist.
  • ReportDrawnAfter verwendet eine suspendierende Methode, die nach Abschluss angibt, dass Sie bereit für die Interaktion sind.

Abhängigkeitsupdates

Version 1.7.0-rc01

8. März 2023

androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01 und androidx.activity:activity-ktx:1.7.0-rc01 sind veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.

Abhängigkeitsupdate

Version 1.7.0-beta02

22. Februar 2023

androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02 und androidx.activity:activity-ktx:1.7.0-beta02 sind veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.

API-Änderungen

  • Die Aktion und das Extra, die von den Verträgen PickVisualMedia und PickMultipleVisualMedia als Fallback verwendet werden, wenn MediaStore.ACTION_PICK_IMAGES nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps, die eine einheitliche Bildauswahl bieten möchten, API-Stabilität bieten. Die Implementierung dieses Fallbacks ist weiterhin auf System-Apps beschränkt. (Icd320)

Version 1.7.0-beta01

8. Februar 2023

androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01 und androidx.activity:activity-ktx:1.7.0-beta01 sind veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.

Neue Funktionen

  • Mit IntentSenderRequest.Builder.setFlags() können Sie jetzt mehrere Flags aus Intent festlegen und nicht nur ein einzelnes Flag. (Iac04c)

Fehlerkorrekturen

  • Der Fallback für PickVisualMedia, wenn die Framework-Bildauswahl nicht verfügbar ist, beschränkt die Verarbeitung jetzt korrekt auf Apps, die im System-Image des Geräts installiert sind. (If8ae6)

Kotlin-Conversions

  • ActivityResultRegistryOwner wurde in Kotlin neu geschrieben. Dies ist eine quelleninkompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt die activityResultRegistry-Property überschreiben, anstatt die vorherige getActivityResultRegistry()-Funktion zu implementieren. (I0b00e)
  • OnBackPressedDispatcherOwner wurde in Kotlin neu geschrieben. Dies ist eine quelleninkompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt die onBackPressedDispatcher-Property überschreiben, anstatt die vorherige getOnBackPressedDispatcher-Funktion zu implementieren. (Ia277d)
  • ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest und OnBackPressedDispatcher sind jetzt in Kotlin geschrieben. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)

Version 1.7.0-alpha04

25. Januar 2023

androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04 und androidx.activity:activity-ktx:1.7.0-alpha04 sind veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Die PickVisualMedia- und PickMultipleVisualMedia-Verträge für Aktivitätsergebnisse verwenden jetzt eine von Google Play-Diensten bereitgestellte Bildauswahl, sofern diese verfügbar ist. Das ist z. B. der Fall, wenn die vom Android-System bereitgestellte Bildauswahl (z. B. MediaStore.ACTION_PICK_IMAGES) ist nicht verfügbar. Die isPhotoPickerAvailable() API, mit der nur die vom Android-System bereitgestellte Bildauswahl erkannt wird, wurde eingestellt. Wir empfehlen, die neue isPhotoPickerAvailable(Context) API zu verwenden, die zurückgibt, ob die Fotoauswahl verfügbar ist. (I55be6)

Version 1.7.0-alpha03

11. Januar 2023

androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03 und androidx.activity:activity-ktx:1.7.0-alpha03 sind veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.

Neue Funktionen

  • ComponentDialog implementiert jetzt SavedStateRegistryOwner und hat Zugriff auf das eigene SavedStateRegistry und legt das SavedStateRegistryOwner für den ViewTree fest. Jetpack Compose kann jetzt in einem ComponentDialog verwendet werden, da es sowohl die LifecycleOwner- als auch die SavedStateRegistryOwner-Anforderungen erfüllt, die über die ViewTree APIs an das Fenster angehängt sind. (Idca17, I73468 b/261162296)

API-Änderungen

  • Es wurde eine ReportDrawn-Composable-Funktion hinzugefügt, mit der die Aktivität sofort als bereit für den Aufruf von reportFullyDrawn markiert wird. (Ic5b14, b/259687964)

Kotlin-Conversions

  • Die Klassen ActvitiyResultCallback und OnBackPressedCallback wurden beide in Kotlin konvertiert, wobei die Quell- und Binärkompatibilität beibehalten wurde. (Ifc5e5, Ide1b0, b/257291701)

Version 1.7.0-alpha02

24. Oktober 2022

androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02 und androidx.activity:activity-ktx:1.7.0-alpha02 sind veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Unter Aktivität 1.6.1 wurde ein Problem mit dem PickMultipleVisualMedia-Aktivitätsergebnisvertrag behoben, der auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert für maxItems verwendet wurde. (Ie2776, b/249182130)

Version 1.7.0-alpha01

5. Oktober 2022

androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01 und androidx.activity:activity-ktx:1.7.0-alpha01 sind veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.

FullyDrawnReporter-APIs

ComponentActivity bietet jetzt eine FullyDrawnReporter-Instanz, mit der mehrere Komponenten melden können, wenn sie für die Interaktion bereit sind. ComponentActivity wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn() in Ihrem Namen aufgerufen wird. Diese APIs kümmern sich um die Timing-Anforderungen und müssen nicht im Rahmen eines onDraw-Aufrufs aufgerufen werden.

Es wird empfohlen, diese APIs zu aktivieren:

  • Die Android-Laufzeit wird benachrichtigt, wenn der Start abgeschlossen ist. So wird dafür gesorgt, dass der gesamte Code, der während einer Multi-Frame-Startsequenz ausgeführt wird, in die Hintergrundkompilierung einbezogen und für diese priorisiert wird.
  • Sie können Macrobenchmarks und Play Vitals signalisieren, wann Ihre Anwendung für Startmesswerte als vollständig gerendert gelten soll, damit Sie die Leistung verfolgen können.

Es wurden zwei Activity Compose-APIs hinzugefügt, um die Verwendung von FullyDrawnReporter aus einzelnen Composables zu vereinfachen:

  • ReportDrawnWhen akzeptiert ein Prädikat (d.h. list.count > 0), um anzugeben, wann Ihre Composable für die Interaktion bereit ist.
  • ReportDrawnAfter verwendet eine suspendierende Methode, die nach Abschluss angibt, dass Sie bereit für die Interaktion sind.

Version 1.6.1

Version 1.6.1

24. Oktober 2022

androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 und androidx.activity:activity-ktx:1.6.1 sind veröffentlicht. Version 1.6.1 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem der PickMultipleVisualMedia-Vertrag für das Aktivitätsergebnis auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert für maxItems verwendet wurde. (Ie2776, b/249182130)

Version 1.6.0

Version 1.6.0

21. September 2022

androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0 und androidx.activity:activity-ktx:1.6.0 sind veröffentlicht. Version 1.6.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.5.0

  • ActivityResultContracts.PickVisualMedia und ActivityResultContracts.PickMultipleVisualMedia wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, der MediaStore.ACTION_PICK_IMAGES verwendet, wenn die Bildauswahl verfügbar ist, und Intent.ACTION_OPEN_DOCUMENT, wenn sie nicht verfügbar ist.
  • Die OnBackInvokedCallback in Android 13 wurde in die OnBackPressedDispatchers von ComponentActivity und ComponentDialog integriert. So wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine vorhersagende „Zurück“-Geste aktiviert wird.

Version 1.6.0-rc02

7. September 2022

androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02 und androidx.activity:activity-ktx:1.6.0-rc02 sind veröffentlicht. Version 1.6.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • OnBackPressedDispatcher registriert jetzt OnBackInvokedCallback mit PRIORITY_DEFAULT anstelle von PRIORITY_OVERLAY. (I3901f)
  • Bei Klassen, die ComponentActivity erweitern, werden jetzt immer beide onMultiWindowModeChanged()-Callbacks gesendet. (Ic4d85)
  • Die ActivityResultRegistry gibt kein Ergebnis mehr an die ActivityResultCallback zurück, wenn beim launch-Aufruf ein Exception ausgelöst wird und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)
  • ComponentActivity leitet Menüaufrufe jetzt richtig weiter, ohne dass die Super-Funktion in Ihrer Aktivität aufgerufen werden muss. (Ie33c5, b/238057118)

Abhängigkeitsupdate

Version 1.6.0-rc01

24. August 2022

androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01 und androidx.activity:activity-ktx:1.6.0-rc01 sind veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Wenn Sie SDK-Versionen vor Version 33 verwenden, führt die Initialisierung eines OnBackPressedDispatcher nicht mehr zu ClassVerificationErrors. (Ic32e1)
  • Bei Klassen, die den onPictureInPictureModeChanged()-Callback von ComponentActivity überschreiben, werden die Callbacks jetzt immer gesendet. (Ib7fdb)

Version 1.6.0-beta01

10. August 2022

androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01 und androidx.activity:activity-ktx:1.6.0-beta01 sind veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.

API-Änderungen

  • Die eingestellten Methoden startActivityForResult und startIntentSenderForResult in ComponentActivity wurden mit @NonNull gekennzeichnet, da das Übergeben von null immer zu einem Absturz geführt hat. (Id2a25, b/231476082)

Fehlerkorrekturen

  • Über Aktivität 1.5.1: Die ActivityResultRegistry gibt kein Ergebnis mehr an die ActivityResultCallback zurück, wenn beim launch-Aufruf eine Exception ausgelöst wird und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)
  • Bei Aktivität 1.5.1: ComponentActivity werden Menüaufrufe jetzt korrekt an onPrepareOptionMenu()-, onCreateOptionsMenu()- und onOptionsItemSelected()-Überschreibungen weitergeleitet, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)

Abhängigkeitsupdate

Version 1.6.0-alpha05

15. Juni 2022

androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05 und androidx.activity:activity-ktx:1.6.0-alpha05 sind veröffentlicht. Version 1.6.0-alpha05 wurde in einem privaten Vorabrelease-Branch entwickelt und enthält keine öffentlichen Commits.

API-Änderungen

  • minCompileSdk ist jetzt 33, um dem Tiramisu Beta 3 SDK zu entsprechen.

Fehlerkorrekturen

  • Der Absturz auf älteren Geräten bei der SDK-Erweiterungsprüfung für PickVisualMedia ActivityResultContract wurde behoben. Die Funktion sollte jetzt mit ACTION_OPEN_DOCUMENT auf Geräten mit Android 10 und niedriger funktionieren.

Version 1.6.0-alpha04

18. Mai 2022

androidx.activity:activity:1.6.0-alpha04 und androidx.activity:activity-ktx:1.6.0-alpha04 werden veröffentlicht.

Fehlerkorrekturen

  • Ein Fehler in PickVisualMediaRequest wurde behoben, bei dem beim Versuch, eine Anfrage entweder über den Builder oder die Kotlin-Funktion auf oberster Ebene zu erstellen, ein Stack-Überlauf aufgetreten ist.
  • Die OnBackInvokedCallback in Android 13 Dev Beta 2 wurde in die von ComponentDialog bereitgestellte OnBackPressedDispatcher integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine Vorhersage-Geste zum Zurückgehen aktiviert wird.

Version 1.6.0-alpha03

27. April 2022

androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 und androidx.activity:activity-ktx:1.6.0-alpha03 sind veröffentlicht.

  • Hinweis: Diese Version wird nur mit dem Android 13 Developer Beta 1 SDK kompiliert.

Neue Funktionen

  • ActivityResultContracts.PickVisualMedia und ActivityResultContracts.PickMultipleVisualMedia wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, der MediaStore.ACTION_PICK_IMAGES verwendet, wenn die Bildauswahl verfügbar ist, und Intent.ACTION_OPEN_DOCUMENT, wenn sie nicht verfügbar ist.
  • Die OnBackInvokedCallback in Android 13 Dev Beta 1 wurde in die von ComponentActivity bereitgestellte OnBackPressedDispatcher integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine Vorhersage-Geste zum Zurückgehen aktiviert wird.

Version 1.6.0-alpha01

23. März 2022

androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01 und androidx.activity:activity-ktx:1.6.0-alpha01 sind veröffentlicht.

  • Hinweis: Diese Version wird nur mit dem Android 13 Developer Preview 2 SDK kompiliert.

Neue Funktionen

  • Die Änderungen in der zweiten Entwicklervorschau von Android 13 wurden in ComponentActivity integriert.

Version 1.5.1

Version 1.5.1

27. Juli 2022

androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1 und androidx.activity:activity-ktx:1.5.1 sind veröffentlicht. Version 1.5.1 enthält diese Commits.

Fehlerkorrekturen

  • Die ActivityResultRegistry gibt kein Ergebnis mehr an die ActivityResultCallback zurück, wenn beim launch()-Aufruf ein Exception ausgelöst wird und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)

  • ComponentActivity leitet Menüaufrufe jetzt ordnungsgemäß an onPrepareOptionMenu()-, onCreateOptionsMenu()- und onOptionsItemSelected()-Überschreibungen weiter, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)

Abhängigkeitsupdate

Version 1.5.0

Version 1.5.0

29. Juni 2022

androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 und androidx.activity:activity-ktx:1.5.0 sind veröffentlicht. Version 1.5.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.4.0

  • ComponentDialog – ComponentDialog ist eine Unterklasse von Dialog, die ein OnBackPressedDispatcher enthält, das aufgerufen wird, wenn die System-Schaltfläche „Zurück“ gedrückt wird und das Dialogfeld sichtbar ist. Wichtig ist, dass in dieser Unterklasse auch ViewTreeOnBackPressedDispatcherOwner festgelegt wird. So können Ansichten den richtigen Dispatcher abrufen, unabhängig davon, ob er in einem ComponentActivity oder einem ComponentDialog vorhanden ist.
  • Callback-Schnittstellen: ComponentActivity implementiert jetzt eine Reihe modularer Callback-Schnittstellen, die anstelle der Activity-Callbacks verwendet werden können. Dazu gehören die folgenden Schnittstellen: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider.
  • CreationExtras-Integration: ComponentActivity kann jetzt über Lifecycle 2.5.0-CreationExtras ein zustandsloses ViewModelProvider.Factory bereitstellen.

Sonstige Änderungen

  • Der parameterlose Konstruktor für ActivityResultContracts.CreateDocument wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ (z.B. „image/png“) wie von Intent.ACTION_CREATE_DOCUMENT gefordert.

Version 1.5.0-rc01

11. Mai 2022

androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 und androidx.activity:activity-ktx:1.5.0-rc01 werden ohne Änderungen gegenüber Version 1.5.0-beta01 veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.

Version 1.5.0-beta01

20. April 2022

androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01 und androidx.activity:activity-ktx:1.5.0-beta01 sind veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.

Abhängigkeitsupdates

Version 1.5.0-alpha05

6. April 2022

androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05 und androidx.activity:activity-ktx:1.5.0-alpha05 sind veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • ComponentActivity's onPanelClosed() ruft jetzt auch die Superklasse onPanelClosed() auf. Damit wird ein Problem behoben, bei dem die Methode onContextMenuClosed nicht aufgerufen wurde. (Ib6f77)

Version 1.5.0-alpha04

23. März 2022

androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04 und androidx.activity:activity-ktx:1.5.0-alpha04 sind veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • SavedStateViewFactory unterstützt jetzt die Verwendung von CreationExtras, auch wenn es mit einem SavedStateRegistryOwner initialisiert wurde. Wenn Extras angegeben werden, werden die initialisierten Argumente ignoriert. (I6c43b, b/224844583)

Version 1.5.0-alpha03

23. Februar 2022

androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03 und androidx.activity:activity-ktx:1.5.0-alpha03 sind veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.

API-Änderungen

  • Sie können jetzt CreationExtras an die Aktivitätsfunktion by viewModels() (I6a3e6, b/217600303) übergeben.

Version 1.5.0-alpha02

9. Februar 2022

androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02 und androidx.activity:activity-ktx:1.5.0-alpha02 sind veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.

Neue Funktionen

  • ComponentActivity implementiert jetzt die OnPictureInPictureModeChangedProvider-Schnittstelle, damit jede Komponente Ereignisse für Änderungen des Bild-im-Bild-Modus empfangen kann. (I9f567)
  • ComponentActivity implementiert jetzt die OnMultiWindowModeChangedProvider-Schnittstelle, damit jede Komponente Ereignisse für Änderungen im Mehrfenstermodus empfangen kann. (I62d91)

Version 1.5.0-alpha01

26. Januar 2022

androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01 und androidx.activity:activity-ktx:1.5.0-alpha01 sind veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.

Neue Funktionen

  • ComponentActivity ist jetzt in ViewModel CreationExtras integriert, die im Rahmen von Lifecycle 2.5.0-alpha01 eingeführt wurden. (Ie7e00, b/207012584)
  • ComponentDialog wurde hinzugefügt, eine Unterklasse von Dialog, die ein OnBackPressedDispatcher enthält, das aufgerufen wird, wenn die System-Zurück-Schaltfläche gedrückt wird, während das Dialogfeld sichtbar ist. Wichtig ist, dass in dieser abgeleiteten Klasse auch ViewTreeOnBackPressedDispatcherOwner festgelegt wird. So können Ansichten den richtigen Dispatcher abrufen, unabhängig davon, ob er in einem ComponentActivity oder einem ComponentDialog vorhanden ist. (I8a1bc)
  • ComponentActivity implementiert jetzt die neue Schnittstelle OnNewIntentProvider, damit jede Komponente diese Ereignisse empfangen kann. (If1f8b)
  • ComponentActivity implementiert jetzt die neue Schnittstelle OnConfigurationChangedProvider, damit jede Komponente diese Ereignisse empfangen kann. (If623b)
  • ComponentActivity implementiert jetzt die neue OnTrimMemoryProvider-Schnittstelle, damit jede Komponente diese Ereignisse empfangen kann. (Ia9295)

API-Änderungen

  • Der parameterlose Konstruktor für ActivityResultContracts.CreateDocument wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ akzeptiert (z.B. "image/png") gemäß den Anforderungen von Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • Die OnBackPressedDispatcherOwner, die mit einer Ansicht verknüpft ist, kann jetzt über die ViewTreeOnBackPressedDispatcherOwner abgerufen werden, anstatt die Context zu casten. (I74685)

Fehlerkorrekturen

  • Ein Absturz beim erstmaligen Zugriff auf ein ViewModel über einen registerForActivityResult()-Callback oder die Callbacks für ein LifecycleObserver, das als Teil von init eines ComponentActivity hinzugefügt wurde, wurde behoben. (Ife83f)

Version 1.4.0

Version 1.4.0

27. Oktober 2021

androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0 und androidx.activity:activity-ktx:1.4.0 sind veröffentlicht. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

  • AndroidX ComponentActivity implementiert jetzt die MenuHost-Schnittstelle. So kann jede Komponente Menüelemente zum ActionBar hinzufügen, indem sie der Aktivität eine MenuProvider-Instanz hinzufügt. Jeder MenuProvider kann optional mit einem Lifecycle hinzugefügt werden, das die Sichtbarkeit dieser Menüelemente automatisch basierend auf dem Lifecycle-Status steuert und das Entfernen des MenuProvider übernimmt, wenn das Lifecycle zerstört wird.
  • Die Klasse ActivityResultContract wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullable-Eigenschaft für ihre Ein- und Ausgabeklassen definieren können.
  • Die Klasse ActivityResultContracts und ihre Verträge wurden in Kotlin neu geschrieben, um die richtige Nullable-Eigenschaft zu gewährleisten.

Version 1.4.0-rc01

13. Oktober 2021

androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01 und androidx.activity:activity-ktx:1.4.0-rc01 sind veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Die ActivityResultRegistry gibt kein Ergebnis mehr an die ActivityResultCallback zurück, wenn beim launch-Aufruf ein Exception ausgelöst wird. (If4f91, b/200845664)

Version 1.4.0-beta01

29. September 2021

androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01 und androidx.activity:activity-ktx:1.4.0-beta01 sind veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

API-Änderungen

  • Der Typ für ActivityResultContracts.OpenMultipleDocuments und ActivityResultContracts.GetMultipleContents wurde korrigiert. Dadurch wurde bei Verwendung des Codes aus der Programmiersprache Java der Ausgabetyp List<? extends Uri> verwendet. (If71de)
  • Auf öffentliche Konstanten in den Klassen ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult und ActivityResultContracts.RequestMultiplePermissions kann jetzt über die öffentlichen Companion-Objekte zugegriffen werden, wenn Kotlin verwendet wird. (aosp/1832555)

Aktualisierungen der Dokumentation

  • Die Einstellungsmitteilung für APIs, die jetzt von den Activity Result APIs (startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions und onRequestPermissionsResult) verarbeitet werden, wurde um weitere Details ergänzt. (cce80f)

Version 1.4.0-alpha02

15. September 2021

androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02 und androidx.activity:activity-ktx:1.4.0-alpha02 sind veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Das activity-compose-Artefakt enthält jetzt einen LaunchDuringComposition-Lint-Fehler, der verhindert, dass Sie die launch-Methode von ActivityResultLauncher als Teil der Komposition aufrufen, da die Komposition nebenwirkungsfrei sein sollte. Verwenden Sie die APIs zum Verarbeiten von Nebeneffekten. (7c2bbe, b/191347220)

API-Änderungen

  • Die Klasse ActivityResultContract wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullable-Eigenschaft für ihre Ein- und Ausgabeklassen definieren können. (I8a8f5)
  • Die Klasse ActivityResultContracts und ihre Verträge wurden in Kotlin neu geschrieben, um die richtige Null-Zulässigkeit zu gewährleisten. (I69802)

Version 1.4.0-alpha01

1. September 2021

androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 und androidx.activity:activity-ktx:1.4.0-alpha01 sind veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

  • AndroidX ComponentActivity implementiert jetzt die MenuHost-Schnittstelle. So kann jede Komponente Menüelemente zum ActionBar hinzufügen, indem sie der Aktivität eine MenuProvider-Instanz hinzufügt. Jeder MenuProvider kann optional mit einem Lifecycle hinzugefügt werden, das die Sichtbarkeit dieser Menüelemente automatisch basierend auf dem Lifecycle-Status steuert und das Entfernen des MenuProvider übernimmt, wenn das Lifecycle zerstört wird. (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)
  }

Geändertes Verhalten

  • Die ActivityResultRegistry löst jetzt eine IllegalStateException aus, wenn versucht wird, launch() für eine ActivityResultLauncher aufzurufen, die nicht registriert oder deren Registrierung aufgehoben wurde. (Ida75d, b/192567522)

Externe Beiträge

  • Vielen Dank an dmitrilc für die Korrektur eines Tippfehlers in der ActivityResult-Dokumentation. (#221)

Version 1.3.1

Version 1.3.1

4. August 2021

androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1 und androidx.activity:activity-ktx:1.3.1 sind veröffentlicht. Version 1.3.1 enthält diese Commits.

Abhängigkeitsupdates

  • Aktivitäten hängen jetzt von Kotlin 1.5.21 ab.
  • Activity Compose hängt jetzt von Compose 1.0.1 ab.

Version 1.3.0

Version 1.3.0

28. Juli 2021

androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0 und androidx.activity:activity-ktx:1.3.0 sind veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Activity Compose-Artefakt: Das activity-compose-Artefakt stellt die Erweiterungsmethode setContent zum Hosten Ihrer Jetpack Compose-UI in einer Aktivität und Compose-spezifische Wrapper für die Interaktion mit den ComponentActivity-APIs zum Verarbeiten der System-Zurück-Schaltfläche und der Activity Result APIs bereit. Weitere Informationen finden Sie in der Dokumentation.
  • CaptureVideo-Vertrag: Der CaptureVideo ActivityResultContract ersetzt den jetzt eingestellten TakeVideo-Vertrag und gibt einen booleschen Wert zurück, der den Erfolg angibt und in vielen Kamera-Apps funktioniert.
  • Tracking von Hinweisen im Bild-im-Bild-Modus: Nutzer von activity-ktx können jetzt die Erweiterungsmethode trackPipAnimationHintView auf Activity verwenden, um die PictureInPictureParams automatisch mit der neuen Position der Ansicht neu zu erstellen, wenn sich die Position relativ zum Fenster ändert.

Version 1.3.0-rc02

14. Juli 2021

androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02 und androidx.activity:activity-ktx:1.3.0-rc02 sind veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Die ActivityResultRegistry-Callbacks werden jetzt richtig gespeichert und wiederhergestellt, sodass sie nicht im „savedState“ dupliziert werden. (I97816, b/191893160)

Version 1.3.0-rc01

1. Juli 2021

androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01 und androidx.activity:activity-ktx:1.3.0-rc01 werden ohne Änderungen gegenüber 1.3.0-beta02 veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta02

16. Juni 2021

androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02 und androidx.activity:activity-ktx:1.3.0-beta02 sind veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.

activity-compose wurde aktualisiert, um von Compose 1.0.0-beta09 abhängig zu sein. androidx.compose.ui:ui-test-junit4 hat jetzt eine Kompilierungszeitabhängigkeit von activity-compose.

Version 1.3.0-beta01

2. Juni 2021

androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 und androidx.activity:activity-ktx:1.3.0-beta01 sind veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

API-Änderungen

  • Die zuvor verworfene Methode @Composable registerForActivityResult() wurde entfernt. Verwenden Sie stattdessen rememberLauncherForActivityResult(). (Ic39d3)

Version 1.3.0-alpha08

18. Mai 2021

androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08 und androidx.activity:activity-ktx:1.3.0-alpha08 sind veröffentlicht. Version 1.3.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Die neue CaptureVideo ActivityResultContract gibt einen booleschen Wert für Ihr ActivityResultCallback zurück, der angibt, ob Ihr Video erfolgreich unter dem angegebenen URI gespeichert wurde. Dies ersetzt den jetzt eingestellten TakeVideo-Vertrag, da Kamera-Apps nur sehr selten eine Thumbnail-Bitmap zurückgegeben haben, was das Ergebnis unbrauchbar machte. (Ie21f2, b/185938070)
  • Es wurde eine neue API Activity#setPipAnimationHintView hinzugefügt, um den Quellrechteck-Hinweis von PipParams zu aktualisieren, wenn sich die Ansicht bewegt. (I9063d)

API-Änderungen

  • Die Funktion rememberLauncherForActivityResult gibt jetzt einen Launcher zurück, der die Funktion unregister() ersetzt. Die Registrierung und Deregistrierung des Launchers wird automatisch von rememberLauncherForActivityResult übernommen. (I2443e)

Compose-Kompatibilität

  • androidx.activity:activity-compose:1.3.0-alpha08 ist nur mit Compose-Version 1.0.0-beta07 und höher kompatibel.

Version 1.3.0-alpha07

21. April 2021

androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07 und androidx.activity:activity-ktx:1.3.0-alpha07 sind veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.

Fehlerkorrekturen

  • rememberLauncherForActivityResult gibt jetzt eine stabile Referenz auf dieselbe ActivityResultLauncher-Instanz zurück, auch wenn sich der Vertrag aufgrund von Neuzusammenstellungen ändert. (Id2d6d)
  • Bei Verwendung instabiler Versionen von Fragmenten über 1.3.0 wird kein falsch positiver Lint-Fehler mehr ausgegeben, in dem Sie aufgefordert werden, 1.3.0 zu verwenden. (aosp/1670206, b/184847092)

Version 1.3.0-alpha06

7. April 2021

androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 und androidx.activity:activity-ktx:1.3.0-alpha06 sind veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.

API-Änderungen

  • Die registerForActivityResult() API wurde in rememberLauncherForActivityResult() umbenannt, um besser darauf hinzuweisen, dass das zurückgegebene ActivityResultLauncher ein verwaltetes Objekt ist, das in Ihrem Namen gespeichert wird. Beim Versuch, unregister aufzurufen, wird jetzt ein Fehler ausgegeben.ActivityResultLauncher (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current und LocalActivityResultRegistryOwner.current geben jetzt einen Nullable-Wert zurück, um besser feststellen zu können, ob er in der aktuellen Komposition verfügbar ist. APIs, für die diese APIs erforderlich sind, z. B. BackHandler und rememberLauncherForActivityResult(), geben jetzt einen aussagekräftigeren Fehler zurück, wenn der zugrunde liegende Inhaber nicht gefunden wird. NavHost funktioniert jetzt auch, wenn keine OnBackPressedDispatcherOwner gefunden wird, z. B. bei der Vorschau von NavHost. (I7d8b4)

Fehlerkorrekturen

  • Die BackHandler fängt jetzt Rückwärtstastenanschläge richtig ab, wenn die Aktivität STOPPED und dann wieder STARTED ist. Außerdem wurden andere Callbacks mit einem LifecycleOwner hinzugefügt. (I71de6, b/182284739)
  • Die Verwendung der launch()-Methodenerweiterung mit einem benutzerdefinierten ActivityResultContract, das eine Unit-Eingabe hat, führt nicht mehr zu einem NullPointerException (I76282, b/183837954).

Version 1.3.0-alpha05

24. März 2021

androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 und androidx.activity:activity-ktx:1.3.0-alpha05 sind veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Aus Aktivität 1.2.2: Ein Problem im Lint-Check InvalidFragmentVersionForActivityResult wurde behoben, das zu einem fälschlichen positiven Ergebnis führte, wenn Fragment 1.3.1 oder höher verwendet wurde. (I54da1, b/182388985)
  • Ab Aktivität 1.2.2: ComponentActivity vermeidet jetzt einen ClassNotFoundException beim Starten eines Intent über ein ActivityResultContract, das zuvor als Extra in einem anderen Intent gehalten wurde. (Ieff05, b/182906230)

Abhängigkeitsupdates

Version 1.3.0-alpha04

10. März 2021

androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 und androidx.activity:activity-ktx:1.3.0-alpha04 sind veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • Ab Aktivität 1.2.1: RequestMultiplePermissions werden jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurückgegeben und nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)
  • Über Aktivität 1.2.1: ActivityResultRegistry sorgt jetzt dafür, dass laufende launch()-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sie unregister() und dann register() mit demselben Schlüssel. (I9ef34, b/181267562)
  • Bei Activity Compose werden keine Testabhängigkeiten mehr zum Laufzeit-Classpath hinzugefügt. (Ifd8b3)
  • Ein Problem mit BackHandler wurde behoben, bei dem die zuvor festgelegte onBack-Lambda nach der Neuzusammenstellung weiterhin verwendet wurde. (8eb5eb)

Version 1.3.0-alpha03

24. Februar 2021

androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 und androidx.activity:activity-ktx:1.3.0-alpha03 sind veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Es gibt jetzt eine zusammensetzbare registerForActivityResult-Funktion, mit der Ergebnisse aus Aktivitäten in zusammensetzbaren Funktionen abgerufen werden können. (Ia7851, b/172690553)

API-Änderungen

  • LocalOnBackPressedDispatcherOwner hat jetzt provides-Funktionen, die mit CompositionLocalProvider verwendet werden können und die asProvidableCompositionLocal() API ersetzen. (I45d24)

Version 1.3.0-alpha02

10. Februar 2021

androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 und androidx.activity:activity-ktx:1.3.0-alpha02 sind veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem in Activity Compose 1.3.0-alpha01 wurde behoben, das beim Verwenden von Compose 1.0.0-alpha12 eine NoSuchMethodError: No static method setContent-Ausnahme verursacht hat. Alle Compose-Nutzer sollten 1.3.0-alpha02 oder höher verwenden. (b/179911234)

API-Änderungen

  • Mit der BackHandler API kann ein Composable den Zurück-Button des Systems abfangen. (I58ed5, b/172154006)

Version 1.3.0-alpha01

10. Februar 2021

androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 und androidx.activity:activity-ktx:1.3.0-alpha01 sind veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Das neue activity-compose-Artefakt bietet Jetpack Compose-spezifische Hilfsfunktionen für androidx.activity-spezifische APIs.
    • ComponentActivity.setContent wurde von androidx.compose.ui.platform.setContent nach androidx.activity.compose.setContent verschoben. (Icf416)

Bekannte Probleme

  • Wenn Sie Activity Compose 1.3.0-alpha01 und Bibliotheken verwenden, die davon abhängen, z. B. androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, wird eine NoSuchMethodError: No static method setContent-Ausnahme ausgelöst. (b/179911234)

Version 1.2.4

Version 1.2.4

21. Juli 2021

androidx.activity:activity:1.2.4 und androidx.activity:activity-ktx:1.2.4 werden veröffentlicht. Version 1.2.4 enthält diese Commits.

Fehlerkorrekturen

  • Aus Aktivität 1.3.0-rc02: Die ActivityResultRegistry-Callbacks werden jetzt richtig gespeichert und wiederhergestellt, sodass Callbacks im SavedState nicht dupliziert werden. (I97816, b/191893160)

Version 1.2.3

Version 1.2.3

5. Mai 2021

androidx.activity:activity:1.2.3 und androidx.activity:activity-ktx:1.2.3 werden veröffentlicht. Version 1.2.3 enthält diese Commits.

Fehlerkorrekturen

  • Die Verwendung der launch()-Methodenerweiterung mit einem benutzerdefinierten ActivityResultContract, das eine Unit-Eingabe hat, führt nicht mehr zu einem NullPointerException (I76282, b/183837954).
  • Ein fälschlicherweise ausgegebener Lint-Fehler wurde behoben, der Sie aufforderte, Fragment 1.3.0 zu verwenden, wenn Sie einen Snapshot, eine Alpha-, Beta- oder RC-Version einer neueren Version von Fragments verwenden. (f4a57e, b/184847092)

Version 1.2.2

Version 1.2.2

24. März 2021

androidx.activity:activity:1.2.2 und androidx.activity:activity-ktx:1.2.2 werden veröffentlicht. Version 1.2.2 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem im InvalidFragmentVersionForActivityResult-Lint-Check wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis geführt hat. (I54da1, b/182388985)
  • Bei ComponentActivity wird jetzt ein ClassNotFoundException vermieden, wenn ein Intent über ein ActivityResultContract gestartet wird, das zuvor als Extra in einem anderen Intent enthalten war. (Ieff05, b/182906230)

Abhängigkeitsupdates

Version 1.2.1

Version 1.2.1

10. März 2021

androidx.activity:activity:1.2.1 und androidx.activity:activity-ktx:1.2.1 werden veröffentlicht. Version 1.2.1 enthält diese Commits.

Fehlerkorrekturen

  • RequestMultiplePermissions gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurück und nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)
  • ActivityResultRegistry sorgt jetzt dafür, dass laufende launch()-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sie unregister() und dann register() mit demselben Schlüssel ausführen. (I9ef34, b/181267562)

Version 1.2.0

Version 1.2.0

10. Februar 2021

androidx.activity:activity:1.2.0 und androidx.activity:activity-ktx:1.2.0 werden veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • Activity Result APIs: ComponentActivity bietet jetzt eine ActivityResultRegistry, mit der Sie startActivityForResult()+onActivityResult()- und requestPermissions()+onRequestPermissionsResult()-Abläufe verarbeiten können, ohne Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem wird die Typsicherheit durch ActivityResultContract erhöht und es werden Hooks zum Testen dieser Abläufe bereitgestellt. Weitere Informationen finden Sie unter Ergebnis aus einer Aktivität abrufen.
  • ContextAware: ComponentActivity implementiert jetzt ContextAware. So können Sie eine oder mehrere OnContextAvailableListener-Instanzen hinzufügen, die einen Callback vor der Basis-Activity.onCreate() erhalten.

    • Mit einer suspendierenden Kotlin-Erweiterung withContextAvailable() können Sie einen nicht suspendierenden Block ausführen, wenn der Kontext verfügbar wird, und ein Ergebnis zurückgeben.
    • Diese API wird von FragmentActivity in Fragment 1.3.0 verwendet, um den Status von FragmentManager wiederherzustellen. Alle Listener, die Unterklassen von FragmentActivity hinzugefügt werden, werden nach diesem Listener ausgeführt.
    • Diese API wird von AppCompatActivity in AppCompat 1.3.0-alpha02 oder höher verwendet. Alle Listener, die Unterklassen von AppCompatActivity hinzugefügt werden, werden nach diesem Listener ausgeführt.
  • ViewTree-Unterstützung: ComponentActivity unterstützt jetzt die APIs ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) und ViewTreeSavedStateRegistryOwner, die in Lifecycle 2.3.0 und SavedState 1.1.0 hinzugefügt wurden. Daher wird die Aktivität als LifecycleOwner, ViewModelStoreOwner und SavedStateRegistryOwner für alle Ansichten zurückgegeben, die direkt der ComponentActivity hinzugefügt wurden.

  • reportFullyDrawn()-Backport: Die Activity-Methode von reportFullyDrawn() wurde in ComponentActivity backportiert, damit sie auf allen API-Levels funktioniert. Dadurch wird ein Absturz auf API 19 behoben und für alle API-Levels wird ein Tracing für diese Methode hinzugefügt.

Version 1.2.0-rc01

16. Dezember 2020

androidx.activity:activity:1.2.0-rc01 und androidx.activity:activity-ktx:1.2.0-rc01 werden veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Mit ActivityResultRegistry wird jetzt immer der genaue gespeicherte Status wiederhergestellt. (Idd56b)
  • Tracing zu ComponentActivity.reportFullyDrawn hinzufügen (Ic7632)

Externe Beiträge

  • ComponentActivity überschreibt jetzt reportFullyDrawn(). Dadurch kann die Methode auf allen API-Ebenen aufgerufen werden. Außerdem wird ein Absturz behoben, der auftritt, wenn diese Methode auf Geräten mit API 19 ohne die entsprechende Systemberechtigung aufgerufen wird. Vielen Dank, Simon Schiller! (b/163239764, #103)

Version 1.2.0-beta02

2. Dezember 2020

androidx.activity:activity:1.2.0-beta02 und androidx.activity:activity-ktx:1.2.0-beta02 werden veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem die Activity Result API nicht auf den Lebenszyklus STARTED wartete, bevor Ergebnisse bereitgestellt wurden, wenn sie mit einem Lifecycle registriert war. (I109ea)

Externe Beiträge

  • Die Dokumentation für launch() wurde aktualisiert, um explizit darauf hinzuweisen, dass eine ActivityNotFoundException ausgelöst werden kann. Vielen Dank, Michał Zieliński! (aosp/1493580)

Version 1.2.0-beta01

1. Oktober 2020

androidx.activity:activity:1.2.0-beta01 und androidx.activity:activity-ktx:1.2.0-beta01 werden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Die ActivityResultRegistry generiert jetzt zufällig Ganzzahlen, bis eine gefunden wird, die nicht zugewiesen ist, um als Anfragecode register() verwendet zu werden. So wird ein möglicher Ganzzahlüberlauf durch das Inkrementieren von Anfragecodes verhindert. (b/168779518)

  • Lifecycle-Beobachter werden ordnungsgemäß entfernt, wenn unregister() für ein ActivityResultLauncher aufgerufen wird. (b/165608393)

Geändertes Verhalten

  • Die ActivityResultRegistry löst jetzt eine IllegalStateException aus, wenn versucht wird, register() mit einem LifecycleOwner aufzurufen, dessen Lifecycle bereits STARTED erreicht hat. (b/165435866)

Dokumentation aktualisiert

  • In der ContextAware-Dokumentation wird auf LifecycleOwner verwiesen, um Lifecycle-Callbacks als geeigneten Ort für Erstellungs- und Vernichtungsereignisse hervorzuheben. (aosp/1414152)

Version 1.2.0-alpha08

19. August 2020

androidx.activity:activity:1.2.0-alpha08 und androidx.activity:activity-ktx:1.2.0-alpha08 werden veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.

Neue Funktionen

  • ComponentActivity implementiert jetzt ContextAware. Sie können also eine oder mehrere OnContextAvailableListener-Instanzen hinzufügen, die einen Callback vor der Basis-Activity.onCreate() erhalten. (b/161390636)
    • Mit einer suspendierenden Kotlin-Erweiterung withContextAvailable() können Sie einen nicht suspendierenden Block ausführen, wenn der Kontext verfügbar wird, und ein Ergebnis zurückgeben. (I8290c)
    • Diese API wird von FragmentActivity in Fragment 1.3.0-alpha08 verwendet, um den Status von FragmentManager wiederherzustellen. Alle Listener, die Unterklassen von FragmentActivity hinzugefügt werden, werden nach diesem Listener ausgeführt. (I513da)
    • Diese API wird von AppCompatActivity in AppCompat 1.3.0-alpha02 verwendet. Alle Listener, die Unterklassen von AppCompatActivity hinzugefügt werden, werden nach diesem Listener ausgeführt. (I513da)

Fehlerkorrekturen

  • Ein Problem mit dem ActivityResultFragmentVersionDetector-Lint-Check wurde behoben, das dazu führte, dass er bei Verwendung von Lint 27.1.0 oder höher nicht mehr funktionierte. (b/162155191)

Version 1.2.0-alpha07

22. Juli 2020

androidx.activity:activity:1.2.0-alpha07 und androidx.activity:activity-ktx:1.2.0-alpha07 werden veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Es wurde ein neuer InvalidFragmentVersionForActivityResult-Lint-Check hinzugefügt, der prüft, ob Sie Fragment 1.3.0-alpha07 verwenden, wenn Sie die Activity Result API verwenden. So werden Laufzeitabstürze aufgrund von Problemen mit ungültigen Anfragecodes und nicht funktionierenden Berechtigungsanfragen vermieden, die durch die Verwendung älterer Versionen von Fragmenten verursacht werden. (b/152554847)

Externe Beiträge

  • Es wurde ein ArrayIndexOutOfBoundsException beim Parsen der Ergebnisse für den RequestPermission-Aktivitätsergebnisvertrag behoben. (I8f9e3, b/161057605)

Version 1.2.0-alpha06

10. Juni 2020

androidx.activity:activity:1.2.0-alpha06 und androidx.activity:activity-ktx:1.2.0-alpha06 werden veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Sie können die Klasse ActivityResult jetzt in Kotlin dekonstruieren, um direkt auf requestCode und intent zuzugreifen. (b/157212935)
  • Mit ActivityResultLauncher können Sie jetzt die ActivityResultContract abrufen, die zum Registrieren des Launchers verwendet wurde. (b/156875743)

API-Änderungen

  • Funktionsgefährdende Änderung: Die Methode invoke() für ActivityResultRegistry wurde in onLaunch() umbenannt. (b/157496491)
  • Der OpenMultipleDocuments-Vertrag gibt jetzt eine leere Liste anstelle von null an den registrierten Callback zurück, wenn kein Ergebnis zurückgegeben wird. (b/157348014)

Version 1.2.0-alpha05

20. Mai 2020

androidx.activity:activity:1.2.0-alpha05 und androidx.activity:activity-ktx:1.2.0-alpha05 werden veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.

Neue Funktionen

API-Änderungen

  • Der TakePicture-Vertrag gibt jetzt ein boolean zurück, das den Erfolg anzeigt, anstatt einer Miniaturansicht Bitmap, da dies beim Schreiben des Bildes in den bereitgestellten Uri nur sehr selten von Kamera-Apps unterstützt wurde. (b/154302879)
  • Die invoke()-Erweiterungen für ActivityResultLauncher wurden entfernt. Stattdessen wird jetzt explizit launch() verwendet, um besser zu verdeutlichen, dass es sich um asynchrone Vorgänge handelt. Dem Paket androidx.activity.result für ActivityResultLauncher<Void> und ActivityResultLauncher<Unit> wurden Kotlin-Erweiterungen für launch hinzugefügt, sodass null bzw. Unit nicht mehr übergeben werden müssen. Das Verhalten entspricht dem der zuvor invoke()-Erweiterungen. (aosp/1304674, aosp/1304675)
  • Die IntentSenderRequest.Builder-Methoden für setFlagsMask() und setFlagsValues() wurden in einer einzigen setFlags()-Methode zusammengefasst. (aosp/1302111)

Fehlerkorrekturen

  • Beim Registrieren eines ActivityResultCallback mit einem LifecycleOwner wurde ein Problem behoben, bei dem der Rückruf ausgelöst wurde, bevor der Status STARTED erreicht wurde. (aosp/1309744)

Geändertes Verhalten

  • Die ActivityResultRegistry generiert jetzt Anforderungscodes, die mit 0xFFFF statt mit 0 beginnen. So wird eine Überschneidung bei der Verwendung von startActivityForResult() oder requestPermissions() in einer Aktivität verhindert. (aosp/1302324)

Version 1.2.0-alpha04

29. April 2020

androidx.activity:activity:1.2.0-alpha04 und androidx.activity:activity-ktx:1.2.0-alpha04 werden veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Ein Vertrag wurde hinzugefügt, der „startIntentSenderForResult“ für die ActivityResult-APIs aufrufen kann. (b/153007517)

API-Änderungen

  • Die Methode prepareCall() wurde in registerForActivityResult() umbenannt, sowohl hier in ComponentActivity als auch im Fragment 1.3.0-alpha04. (aosp/1278717)
  • Die Verträge GetContents, OpenDocuments und RequestPermissions wurden in GetMultipleContents, OpenMultipleDocuments und RequestMultiplePermissions umbenannt. (aosp/1280161)
  • ComponentActivity implementiert jetzt die ActivityResultRegisteryOwner-Schnittstelle. (aosp/1290888)
  • – Die APIs startActivityForResult()/onActivityResult() und onRequestPermissionsResult() auf ComponentActivity wurden eingestellt. Verwenden Sie die Activity Result APIs. (b/154751887)

Fehlerkorrekturen

  • Wenn Sie die Verträge GetMultipleContents und OpenMultipleDocuments verwenden und einen einzelnen Artikel auswählen, wird dieser jetzt korrekt an Ihren Callback zurückgegeben. (b/152941153)

Version 1.2.0-alpha03

1. April 2020

androidx.activity:activity:1.2.0-alpha03 und androidx.activity:activity-ktx:1.2.0-alpha03 werden veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Die Verträge TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree und CreateDocument wurden der Gruppe der vorgefertigten Verträge hinzugefügt, die von ActivityResultContracts bereitgestellt werden. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Die Activity Result APIs unterstützen jetzt das Starten einer Aktivität für ein Ergebnis mit einem optionalen ActivityOptionsCompat. (b/151860054)

API-Änderungen

  • Der TakePicture-Vertrag akzeptiert jetzt eine Uri-Eingabe für den Speicherort des Bildes. Der vorherige Vertrag, für den keine Eingabe erforderlich ist, wurde in TakePicturePreview umbenannt. (aosp/1262482)
  • Die Methode registerActivityResultCallback() für ActivityResultRegistry wurde in register() umbenannt. (aosp/1267621)
  • Die Methode dispose() für ActivityResultLauncher wurde in unregister() umbenannt und unregisterResultCallback() für ActivityResultRegistry wurde entfernt. (aosp/1267621)
  • Die Methode createIntent() von ActivityResultContact akzeptiert jetzt zusätzlich zur Eingabe auch einen Context, um explizite Intents zu erstellen. (aosp/1238800)
  • Ein ActivityResultContract kann jetzt getSynchronousResult() überschreiben, um ein Ergebnis zu liefern, ohne startActivityForResult aufzurufen. Dies wird von den Verträgen RequestPermission und RequestPermissions verwendet, um den Status „granted“ (gewährt) korrekt zu übermitteln, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799)
  • Der zuvor verfügbare Vertrag Dial wurde entfernt, da Intent nicht für die Verwendung mit startActivityForResult() vorgesehen ist. (aosp/1266916)
  • Viele der Activity Result APIs, die nicht erweitert werden sollen, sind jetzt final. Dazu gehören getActivityResultRegistry(), die prepareCall()-Methoden, alle Methoden von ActivityResultRegistry mit Ausnahme von invoke() sowie eine Reihe der Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)

Fehlerkorrekturen

  • Es wurde ein NullPointerException in ActivityResultRegistry behoben, das auftrat, wenn versucht wurde, Ergebnisse an einen Callback zu senden, der nach einer Konfigurationsänderung noch nicht neu registriert wurde. ActivityResultRegistry speichert diese ausstehenden Ergebnisse jetzt und sendet sie, wenn der Callback neu registriert wird. (b/152137004)

Version 1.2.0-alpha02

18. März 2020

androidx.activity:activity:1.2.0-alpha02 und androidx.activity:activity-ktx:1.2.0-alpha02 werden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Neue Funktionen

  • ActivityResultRegistry: ComponentActivity bietet jetzt eine ActivityResultRegistry, mit der Sie die Abläufe startActivityForResult()+onActivityResult() und requestPermissions()+onRequestPermissionsResult() verarbeiten können, ohne Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem bietet sie durch ActivityResultContract eine höhere Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie unter Ergebnis aus einer Aktivität abrufen. (b/125158199)

Version 1.2.0-alpha01

4. März 2020

androidx.activity:activity:1.2.0-alpha01 und androidx.activity:activity-ktx:1.2.0-alpha01 werden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Unterstützung für die ViewTreeLifecycleOwner.get(View) API hinzugefügt, die in Lifecycle 2.3.0-alpha01 hinzugefügt wurde. Dadurch wird die Aktivität als LifecycleOwner für alle Ansichten zurückgegeben, die direkt der Aktivität hinzugefügt wurden. (aosp/1182955)

Fehlerkorrekturen

  • Ein Regressionsproblem wurde behoben, das in Activity 1.1.0 eingeführt wurde. Bei der Ausführung auf älteren Versionen der Plattform führte onBackPressed() aufgrund eines Fehlers in der android.app.FragmentManager zu einem IllegalStateException. (b/146290338)

Version 1.1.0

Version 1.1.0

22. Januar 2020

androidx.activity:activity:1.1.0 wird veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Lifecycle ViewModel SavedState Integration: SavedStateViewModelFactory ist jetzt die Standardfactory, die verwendet wird, wenn by viewModels(), der ViewModelProvider-Konstruktor oder ViewModelProviders.of() mit einem ComponentActivity oder seinen Unterklassen verwendet wird.

Version 1.1.0-rc03

4. Dezember 2019

androidx.activity:activity:1.1.0-rc03 und androidx.activity:activity-ktx:1.1.0-rc03 werden veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.

Änderungen an Abhängigkeiten

  • Die Aktivität hängt jetzt von Lifecycle 2.2.0-rc03 und Lifecycle ViewModel SavedState 1.0.0-rc03 ab.

Version 1.1.0-rc02

7. November 2019

androidx.activity:activity:1.1.0-rc02 und androidx.activity:activity-ktx:1.1.0-rc02 werden veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.

Änderungen an Abhängigkeiten

  • Die Aktivität hängt jetzt vom Lebenszyklus 2.2.0-rc02 ab.

Version 1.1.0-rc01

23. Oktober 2019

androidx.activity:activity:1.1.0-rc01 und androidx.activity:activity-ktx:1.1.0-rc01 werden ohne Änderungen gegenüber 1.1.0-beta01 veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Version 1.1.0-beta01

9. Oktober 2019

androidx.activity:activity:1.1.0-beta01 und androidx.activity:activity-ktx:1.1.0-beta01 werden veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Änderungen an Abhängigkeiten

  • „Activity“ hängt jetzt von SavedState 1.0.0 (stabil) ab.

Version 1.1.0-alpha03

5. September 2019

androidx.activity:activity:1.1.0-alpha03 und androidx.activity:activity-ktx:1.1.0-alpha03 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Die Aktivität hängt jetzt von Core 1.1.0 (stabil) ab.

Fehlerkorrekturen

Version 1.1.0-alpha02

7. August 2019

androidx.activity:activity:1.1.0-alpha02 und androidx.activity:activity-ktx:1.1.0-alpha02 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • SavedStateViewModelFactory ist jetzt die Standardfactory, die bei Verwendung von by viewModels(), dem ViewModelProvider-Konstruktor oder ViewModelProviders.of() mit einem ComponentActivity verwendet wird (b/135716331).

Version 1.1.0-alpha01

2. Juli 2019

androidx.activity:activity:1.1.0-alpha01 und androidx.activity:activity-ktx:1.1.0-alpha01 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • activity ist jetzt von Lifecycle 2.2.0-alpha02 abhängig. (aosp/1007817)
  • activity-ktx hat eine Abhängigkeit von lifecycle-runtime-ktx hinzugefügt. Sie müssen sie nicht mehr explizit zu Ihren Abhängigkeiten hinzufügen, wenn Sie activity-ktx oder Bibliotheken verwenden, die von activity-ktx abhängen (z. B. fragment-ktx). (aosp/987162)

Version 1.0.0

Version 1.0.0

5. September 2019

androidx.activity:activity:1.0.0 und androidx.activity:activity-ktx:1.0.0 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Wichtige Funktionen von Version 1.0.0

  • ComponentActivity: ComponentActivity dient als neue Basisklasse für FragmentActivity in Fragment 1.1.0 und damit auch für AppCompatActivity in AppCompat 1.1.0.
  • activity-ktx: Das Modul activity-ktx enthält eine by viewModels-Kotlin-Eigenschaftserweiterung für den Zugriff auf ViewModels. Dieses Modul wird automatisch eingebunden, wenn Sie fragment-ktx aus Fragment 1.1.0 einbinden.
  • OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von onBackPressed() können Sie jetzt einen OnBackPressedCallback aus einem beliebigen LifecycleOwner (z. B. einem Fragment) registrieren, um Ereignisse der System-Zurück-Schaltfläche abzufangen. activity-ktx wurde eine Lambda-Funktion mit Receiver-Version addCallback hinzugefügt. Weitere Informationen finden Sie unter Benutzerdefinierte Zurück-Navigation bereitstellen.
  • onRetainCustomNonConfigurationInstance wird nicht mehr unterstützt: Die APIs onRetainCustomNonConfigurationInstance() und getLastCustomNonConfigurationInstance() werden nicht mehr unterstützt. Es wird dringend empfohlen, ViewModels zum Speichern von Status zu verwenden, der nicht zur Konfiguration gehört, da sie eine zusammensetzbare Lösung für jede ViewModelStoreOwner bieten, die die Inhaberschaft der beibehaltenen Objekte klar macht und einen onCleared()-Callback zum Bereinigen von Ressourcen bereitstellt, wenn die Aktivität endgültig zerstört wird.

Version 1.0.0-rc01

2. Juli 2019

androidx.activity:activity:1.0.0-rc01 und androidx.activity:activity-ktx:1.0.0-rc01 werden ohne Änderungen gegenüber 1.0.0-beta01 veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Version 1.0.0-beta01

5. Juni 2019

androidx.activity::activity:1.0.0-beta01 und androidx.activity:activity-ktx:1.0.0-beta01 werden ohne Änderungen gegenüber 1.0.0-alpha08 veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Version 1.0.0-alpha08

7. Mai 2019

androidx.activity:activity:1.0.0-alpha08 und androidx.activity:activity-ktx:1.0.0-alpha08 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • Funktionsgefährdende Änderung: Die zuvor eingestellten Methoden addOnBackPressedCallback und removeOnBackPressedCallback für ComponentActivity wurden entfernt. aosp/953857
  • Die Methoden setEnabled() und isEnabled() von OnBackPressedCallback sind jetzt final. b/131416833
  • Die Methode remove() von OnBackPressedCallback ist jetzt final. aosp/952720
  • OnBackPressedDispatcher hat jetzt öffentliche Konstruktoren, sodass Sie eigene Instanzen für Tests usw. erstellen können. aosp/953431
  • onBackPressed() für ComponentActivity ist jetzt explizit als @MainThread markiert. aosp/952721

Fehlerkorrekturen

  • Ein ConcurrentModificationException wurde behoben, der beim Aufrufen von remove() über die handleOnBackPressed()-Methode eines OnBackPressedCalback auftrat, das mit einem LifecycleOwner hinzugefügt wurde. b/131765095

Version 1.0.0-alpha07

25. April 2019

androidx.activity:activity:1.0.0-alpha07 und androidx.activity:activity-ktx:1.0.0-alpha07 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

In dieser Version wurde die Verarbeitung von onBackPressed() erheblich geändert. Weitere Informationen

  • Die Methoden für OnBackPressedCallback und OnBackPressedDispatcher wurden als @MainThread markiert. (aosp/943813)
  • Die handleOnBackPressed()-Methode gibt keine boolean mehr zurück. Stattdessen ist OnBackPressedCallback jetzt eine abstrakte Klasse, die aktiviert oder deaktiviert werden kann. Nur wenn die neue isEnabled()-Methode „true“ zurückgibt, wird handleOnBackPressed() aufgerufen. In dieser Methode müssen Sie die Zurück-Schaltfläche verarbeiten. (aosp/944518)
  • Die addCallback-Methoden von OnBackPressedDispatcher geben keine Cancellable-Instanz mehr zurück. OnBackPressedCallback enthalten jetzt eine remove()-Methode, die diese Funktion erfüllt. So können Sie remove() während handleOnBackPressed() aufrufen. (aosp/944519) (aosp/946316)
  • activity-ktx enthält jetzt einen Callback mit Empfängerbereich für addCallback, der eine Lambda-Funktion akzeptiert, die handleOnBackPressed() implementiert und Zugriff auf isEnabled und remove() hat (aosp/944520).

Version 1.0.0-alpha06

3. April 2019

androidx.activity:activity:1.0.0-alpha06 und androidx.activity:activity-ktx:1.0.0-alpha06 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • ComponentActivity enthält jetzt einen zweiten Konstruktor, der ein @LayoutRes int akzeptiert. Damit wird das bisherige Verhalten ersetzt, bei dem die AppCompatActivity-Klasse mit @ContentView annotiert wurde. Dieses Vorgehen funktioniert sowohl in App- als auch in Bibliotheksmodulen. (b/128352521)
  • Die OnBackPressedCallback-bezogenen APIs in ComponentActivity wurden zugunsten der neuen OnBackPressedDispatcher eingestellt, die über getOnBackPressedDispatcher() abgerufen werden kann. (aosp/922523)
  • Methoden zum Hinzufügen eines neuen OnBackPressedCallback zum OnBackPressedDispatcher geben jetzt ein Cancellable-Objekt zurück. Dadurch kann der Callback entfernt werden, ohne dass ein expliziter Verweis auf das OnBackPressedDispatcher erforderlich ist. (aosp/922523)
  • Wenn Sie ein OnBackPressedCallback mit einem zugehörigen LifecycleOwner hinzufügen, wird das OnBackPressedCallback jetzt beim Starten und Beenden des Lebenszyklus hinzugefügt bzw. entfernt. (aosp/922523)

Version 1.0.0-alpha05

13. März 2019

androidx.activity:activity:1.0.0-alpha05 und androidx.activity:activity-ktx:1.0.0-alpha05 werden veröffentlicht. Eine vollständige Liste der in diesem Release enthaltenen Commits finden Sie hier.

Neue Funktionen

  • @ContentView-Anmerkungssuchen werden jetzt im Cache gespeichert (b/123709449).

Version 1.0.0-alpha04

30. Januar 2019

androidx.activity:activity 1.0.0-alpha04 und androidx.activity:activity-ktx 1.0.0-alpha04 werden veröffentlicht.

Neue Funktionen

  • Unterstützung für die Klassenannotation @ContentView wurde hinzugefügt. Damit können Sie angeben, welche Layout-XML-Datei anstelle von setContentView() eingefügt werden soll. (aosp/837619)

API-Änderungen

  • Es wurde ein Hinweis hinzugefügt, dass getViewModelStore() nicht überschrieben werden sollte und in einem zukünftigen Release endgültig festgelegt wird. Wenn Sie diese Methode derzeit überschreiben, stellen Sie bitte eine Funktionsanfrage. (aosp/837619)

Fehlerkorrekturen

  • Das Modul activity hängt jetzt von Version 2.1.0-alpha02 von ViewModel ab, um der Abhängigkeit des Moduls activity-ktx zu entsprechen.

Version 1.0.0-alpha03

17. Dezember 2018

androidx.activity 1.0.0-alpha03 wird veröffentlicht.

Neue Funktionen

  • ComponentActivity implementiert jetzt BundleSavedStateRegistryOwner und hängt von der neu veröffentlichten SavedState-Bibliothek ab [aosp/815133].
  • ComponentActivity umgeht jetzt einen Fehler im Android-Framework, der dazu führen würde, dass InputMethodManager die zuletzt fokussierte Ansicht verliert [b/37122102].

Version 1.0.0-alpha02

3. Dezember 2018

API-Änderungen

Version 1.0.0-alpha01

5. November 2018

Mit androidx.activity 1.0.0-alpha01 wird ComponentActivity eingeführt, eine neue Basisklasse der vorhandenen FragmentActivity und AppCompatActivity.

Neue Funktionen

  • Sie können jetzt eine OnBackPressedCallback über addOnBackPressedCallback registrieren, um onBackPressed()-Callbacks zu erhalten, ohne die Methode in Ihrer Aktivität überschreiben zu müssen.
  • Es wurde ein neues by viewModels()-Kotlin-Property-Delegate zum Abrufen von ViewModels aus einem ComponentActivity hinzugefügt.
  • Ausstehende Eingabeereignisse (z. B. Klicks) werden jetzt in onStop() abgebrochen.

API-Änderungen

  • Die Implementierung von LifecycleOwner und ViewModelStoreOwner wurde von FragmentActivity nach ComponentActivity verschoben.
  • onRetainCustomNonConfigurationInstance wurde eingestellt. Verwenden Sie ein ViewModel, um Objekte zu speichern, die Konfigurationsänderungen überdauern müssen.