Aktivität

Zugriff auf kombinierbare APIs, die auf Aktivitäten basieren
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alphaversion
30. Oktober 2024 1.9.3 - - 1.10.0-alpha03

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 Anwendung oder Ihr Modul die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen:

Cool

dependencies {
    def activity_version = "1.9.2"

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

Kotlin

dependencies {
    val activity_version = "1.9.2"

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

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

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Bitte sieh dir die vorhandenen Probleme in dieser Bibliothek an, bevor du eine neue erstellst. Sie können einem vorhandenen Problem Ihre Stimme hinzufügen, indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.

Version 1.10

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 werden losgelassen. Version 1.10.0-alpha03 enthält diese Commits.

API-Änderungen

  • Es wurde eine neue lokale LocalActivity-Komposition hinzugefügt, die die Activity für den aktuellen Umfang bereitstellt. Entwickler müssen also nicht mehr eine Activity aus der LocalContext abrufen. Außerdem gibt es eine neue Lint-Regel, die prüft, ob die LocalContext fälschlicherweise in eine Activity umgewandelt wird. (I7746a, b/283009666)

Fehlerkorrekturen

  • Von Aktivität 1.9.3: PredictiveBackHandler löst nach der Deaktivierung des Handlers keinen Rückruf mehr aus. Dadurch wird ein Problem behoben, bei dem die NavHost aus Navigation Compose eine IndexOutOfBoundsException auslöste. (I3f75e, b/365027664, b/340202286)

Abhängigkeitsupdate

  • Activity Compose ist jetzt von Compose Runtime 1.7.0 (I7746a, b/283009666) abhängig.

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 werden losgelassen. Version 1.10.0-alpha02 enthält diese Commits.

Verhaltensänderungen

  • Die Aktivitätsergebnisverträge PickVisualMedia und PickMultipleVisualMedia, die die Bildauswahl auslösen, werden nicht mehr direkt an Google Play-Dienste delegiert, wenn die Bildauswahl des Systems nicht verfügbar ist. Stattdessen wird die öffentliche Aktion ACTION_SYSTEM_FALLBACK_PICK_IMAGES und die zugehörigen Extras verwendet, um OEMs und System-Apps als Fallback eine einheitliche Bildauswahl zur Verfügung zu stellen. Auf Geräten mit einer aktuellen Version der Google Play-Dienste sollte sich das nicht bemerkbar machen. (I3513d)

Fehlerkorrekturen

  • Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, 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)
  • Bei Aktivitäten 1.9.2 wurde ein Problem behoben, bei dem die Activity Compose PredictiveBackHandler API die Systemgeste „Zurück“ weiterhin für den Frame verarbeitete, in dem sie deaktiviert wurde. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Rückstapel verarbeiten, was eine IndexOutOfBoundsException auslöste. (Ie3301, b/340202286)
  • Aus Aktivität 1.9.1: Ein Problem mit PredictiveBackHandler wurde behoben, durch das nach der Systemwiederherstellung der Versuch, onBackPressed über OnBackPressedDispatcher auszuführen, 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 wurden veröffentlicht. Diese Version wird in einem internen Branch entwickelt.

Neue Funktionen

  • Unterstützung für neue PhotoPicker-Funktionen hinzugefügt, die in Android V eingeführt wurden, z. B. die Möglichkeit, Bilder in einer bestimmten Reihenfolge auszuwählen und festzulegen, welcher Tab (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 werden losgelassen. Version 1.9.3 enthält diese Commits.

Fehlerkorrekturen

  • PredictiveBackHandler löst nach der Deaktivierung des Handlers keinen Rückruf mehr aus. Dadurch wird ein Problem behoben, bei dem die NavHost aus Navigation Compose eine IndexOutOfBoundsException auslöste. (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 werden losgelassen. Version 1.9.2 enthält diese Lthcocommits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das die Activity Compose PredictiveBackHandler API die Systemgeste „Zurück“ weiterhin für den Frame verarbeitete, in dem sie deaktiviert wurde. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Rückstapel verarbeiten, was eine IndexOutOfBoundsException auslöste. (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 wurden veröffentlicht. Version 1.9.1 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem mit PredictiveBackHandler behoben, durch das nach der Systemwiederherstellung der Versuch, onBackPressed über den OnBackPressedDispatcher auszuführen, fehlschlug. (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 werden losgelassen. Version 1.9.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.8.0

  • ComponentActivity implementiert jetzt OnUserLeaveHintProvider, um Komponenten Callbacks für onUserLeaveHint-Ereignisse zu ermöglichen.
  • Die OnBackPressedCallback-, BackHandler- und PredictiveBackHandler-APIs warnen jetzt beim Aufrufen von onBackPressedDispatcher.onBackPressed() beim Zurückgehen, da dadurch die vorhersagende Rückwärtsanimation immer unterbrochen wird. Weitere Informationen finden Sie im Best Practices-Leitfaden.
  • Die restlichen Activity APIs wurden in Kotlin umgeschrieben und alle Erweiterungen, die zuvor in activity-ktx verfügbar waren, wurden zu activity verschoben. activity-ktx ist jetzt komplett leer.
    • Im Rahmen der Umstellung von ActivityResultLauncher auf Kotlin ist die Methode getContract jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist binärkompatibel, führt aber zu Fehlern in der Quelle, wenn Ihre ActivityResultLauncher-Implementierung 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 werden losgelassen. Version 1.9.0-rc01 enthält diese Commits.

Update der Abhängigkeiten

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 werden losgelassen. Version 1.9.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Behoben wurde eine Leistungsverschlechterung beim Starten von Aktivitäten, die bei Aktivität 1.9.0-alpha02 aufgetreten ist, weil die OnBackPressedDispatcher beim Erstellen der Aktivität aufgerufen 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 werden losgelassen. Version 1.9.0-alpha03 enthält diese Commits.

Lint-Warnung

Fehlerkorrekturen

  • Wenn ein Zurück-Ereignis vom System gesendet wird, während eine bereits laufende Touch-Geste für die Vorhersage der Rückwärtsbewegung ausgeführt wird, wird die aktuell laufende Touch-Geste für die Vorhersage der Rückwärtsbewegung abgebrochen und das neue Zurück-Ereignis übernimmt, um eine neue Touch-Geste für die Vorhersage der Rückwärtsbewegung zu starten. (I3482e)
  • Ein Absturz wurde behoben, der beim ersten Zugriff auf das onBackPressedDispatcher über ein ComponentActivity aus einem Hintergrundthread aufgetreten ist. Der Zugriff auf die onBackPressedDispatcher ist jetzt in jedem Thread sicher. (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 werden losgelassen. Version 1.9.0-alpha02 enthält diese Commits.

Kotlin-Conversions

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

Fehlerkorrekturen

  • Die enableEdgeToEdge API zeichnet jetzt um alle Displayausschnitte herum. (a3644b, b/311173461)
  • Von Aktivität 1.8.2: Das Extra, das an den ACTION_SYSTEM_FALLBACK_PICK_IMAGES des Vertrags für die Bildauswahl übergeben wurde, wurde korrigiert, sodass der Schlüssel EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX korrekt übergeben wird, anstatt das Extra mit dem Schlüssel "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" zu verwenden. Dies wird dringend empfohlen, wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, die beide Extras unterstützt, um die größtmögliche 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 wurden veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.

Neue Funktionen

  • ComponentActivity implementiert jetzt OnUserLeaveHintProvider, um Komponenten Callbacks für onUserLeaveHint-Ereignisse zu ermöglichen. (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 getContract-Methode jetzt ein abstraktes Kotlin-Attribut. Diese Änderung ist binärkompatibel, führt aber zu Fehlern in der Quelle, wenn Ihre ActivityResultLauncher-Implementierung in Kotlin geschrieben ist. (ID4615)
  • PickVisualMediaRequest hat jetzt dasselbe Mindest-API-Level 19 wie der PickVisualMedia-Aktivitätsergebnisvertrag. (Id6e21)

Aktualisierung der Abhängigkeit

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 werden losgelassen. Version 1.8.2 enthält diese Commits.

Fehlerkorrekturen

  • Das Extra, das an den ACTION_SYSTEM_FALLBACK_PICK_IMAGES des Vertrags für die Bildauswahl übergeben wurde, wurde korrigiert, sodass der EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX-Schlüssel korrekt übergeben wird, anstatt das Extra mit dem Schlüssel "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" zu verwenden. Wenn Sie als OEM eine systemeigene Bildauswahl implementieren, wird dringend empfohlen, beide Extras zu unterstützen, um die größtmögliche 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 werden losgelassen. Version 1.8.1 enthält diese Commits.

Fehlerkorrekturen

  • OnBackPressedDispatcher sendet jetzt weiterhin an die richtige OnBackPressedCallback, auch wenn während der Verarbeitung der Zurück-Geste eine neue 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 werden losgelassen. Version 1.8.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.7.0

  • Intelligente „Zurück“-Touch-Geste: Die OnBackPressedCallback bietet jetzt neue Rückruffunktionen für die intelligente „Zurück“-Touch-Geste, um den Beginn, den Fortschritt und die Abbruch der Geste zu steuern. Außerdem gibt es den bisherigen handleOnBackPressed()-Rückruf, der ausgeführt wird, wenn die Geste ausgeführt wird. Außerdem ist das PredictiveBackHandler-Kompositelement enthalten, mit dem Vorhersageereignisse für die Zurück-Geste in der Aktivitätszusammenstellung verarbeitet werden können. Es stellt einen Stream von BackEventCompat-Objekten bereit, die in der von Ihnen bereitgestellten suspendierenden Lambda-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ückgabe eingestellt. Entwickler sollten jetzt die 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 werden losgelassen. 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 werden losgelassen. Version 1.8.0-beta01 enthält diese Commits.

Verbesserte 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 werden losgelassen. Version 1.8.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Für „Activity Compose“ wurde ein neues PredictiveBackHandler-Komposit hinzugefügt, um Ereignisse für die Vorhersage von Zurück-Gesten zu verarbeiten. Sie enthält eine Flow von BackEventCompat Objekten, die in der von Ihnen angegebenen Lambda-Funktion für die Aussetzung 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 ist eine Warnung zur Kompilierungszeit über die Lint-Regel vorhanden, damit Flow collect() aufruft. (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 keine NPE mehr an, wenn es einen onBackPressed()-Callback erhält und die Aktivität bereits DESTROYED wurde. (Idb055, b/291869278)
  • Verwendung 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 werden losgelassen. Version 1.8.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Die OnBackPressedDispatcher bricht jetzt alle Rückruffunktionen korrekt ab, die während einer vorrausschauenden Rückwärtsgeste entfernt werden. (I3f90f)

API-Änderungen

  • Wenn du SystemBarStyle.auto an die enableEdgeToEdge API übergibst, kannst du jetzt den Lambda-Parameter detectDarkMode überschreiben, um eine benutzerdefinierte Logik zur Erkennung 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 werden losgelassen. Diese Version wird in einem internen Branch entwickelt.

API-Änderungen

  • Für „Aktivität“ gibt es jetzt die Klasse BackEventCompat, die als abwärtskompatible Version von BackEvent dient und von der Framework-Klasse BackEvent getrennt ist.
  • Nicht abwärtskompatible Änderung: Die Methoden handleOnBackStarted und handleOnBackProgressed von OnBackPressedCallback erhalten jetzt eine androidx.activity.BackEventCompat-Instanz anstelle einer Framework-android.window.BackEvent-Klasse. Die entsprechenden @VisibleForTesting APIs auf OnBackPressedDispatcher wurden ebenfalls aktualisiert.
  • Der Konstruktor für OnBackPressedDispatcher nimmt jetzt eine optionale Consumer<Boolean>-Instanz an, mit der die Eigentümer des Dispatchers einen Rückruf erhalten, wenn sich die Anzahl der aktivierten Rückrufe von null zu einem anderen Wert oder umgekehrt ändert.

Fehlerkorrekturen

  • Aus Aktivität 1.7.2: Das Problem mit dem Absturz von ReportDrawn beim Verlassen eines Bildschirms vor dem Aufrufen von report wurde behoben. (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 werden losgelassen. Diese Version wurde aus einem internen Branch veröffentlicht.

Fehlerkorrekturen

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 werden losgelassen. Diese Version wurde aus einem internen Branch veröffentlicht.

Neue Funktionen

  • ComponentActivity.setUpEdgeToEdge() wurde hinzugefügt, um das randlose Display auf einfache und abwärtskompatible Weise einzurichten.

API-Änderungen

  • ComponentActivity.onBackPressed() wurde zugunsten der APIs für die Rückgabe eingestellt. Entwickler sollten jetzt OnBackPressedDispatcher verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)
  • ComponentDialog und ComponentActivity enthalten jetzt die öffentliche API initViewTreeOwners(), die verwendet wird, um alle Inhaber der Ansichtsstruktur zu initialisieren, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)

Fehlerkorrekturen

  • Behoben: Fragmente haben Menühosts fälschlicherweise ungültig gemacht und zu unerwartetem Verhalten anderer Menüs in der Aktivität geführt. (I9404e, b/244336571)

Weitere Änderungen

  • Für die 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 werden losgelassen. Entwickelt aus einem internen Branch.

Update der Abhängigkeiten

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 werden losgelassen. Sie wurde aus einem internen Zweig erstellt.

Neue Funktionen

  • Die OnBackPressedCallback-Klasse enthält jetzt zusätzlich zum vorherigen handleOnBackPressed()-Callback beim Commit der Zurück-Geste neue Callbacks für den vorausschauenden Zurück-Fortschritt, um den Start der Zurück-Geste, den Fortschritt während der Bewegung und das Abbrechen der Zurück-Geste zu verarbeiten.

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 werden losgelassen. Version 1.7.2 enthält diese Commits.

Fehlerkorrekturen

  • Fehler behoben, der beim Absturz von ReportDrawn beim Verlassen eines Bildschirms vor dem Aufrufen von report abstürzte wurde behoben. (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 werden losgelassen. Version 1.7.1 enthält diese Commits.

Fehlerkorrekturen

  • Die ReportFullyDrawExecuter leckt nicht mehr, 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 werden losgelassen. Version 1.7.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.6.0

  • Die Verträge für die Bildauswahl in PickVisualMedia und PickMultipleVisualMedia wurden aktualisiert und enthalten nun ein zusätzliches Fallback für den Fall, dass MediaStore.ACTION_PICK_IMAGES nicht verfügbar ist. Dadurch können OEMs und System-Apps wie Google Play-Dienste eine einheitliche Bildauswahl auf einer breiteren Palette von Android-Geräten und API-Levels anbieten, indem die Fallback-Aktion implementiert wird. Die Bildauswahl verwendet diese Alternative, sofern verfügbar, 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 seine eigene SavedStateRegistry und legt die SavedStateRegistryOwner für seine ViewTree fest. Jetpack Compose kann jetzt in einem ComponentDialog verwendet werden, da es über die ViewTree API-Anforderungen sowohl die LifecycleOwner als auch die SavedStateRegistryOwner erfüllt, die mit dem Fenster verknüpft sind.
  • Mit IntentSenderRequest.Builder.setFlags() können Sie jetzt mehrere Flags aus Intent festlegen, anstatt nur ein einzelnes.

Kotlin-Konvertierung

Einige Aktivitätsklassen wurden in Kotlin konvertiert. Alle konvertierten Klassen behalten ihre binäre Kompatibilität mit früheren Versionen bei. Die folgenden Klassen enthalten inkompatible Änderungen für Klassen, die in Kotlin geschrieben wurden: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

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

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 mit der Quelle kompatibel: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest und OnBackPressedDispatcher

FullyDrawnReporter-APIs

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

Für diese APIs wird eine Aktivierung empfohlen:

  • Die Android Runtime wird benachrichtigt, wenn der Start abgeschlossen ist, damit der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, berücksichtigt und für die Hintergrundkompilierung priorisiert wird.
  • Signalisieren Sie Macrobenchmark und Play Vitals, wenn Ihre Anwendung für Startmesswerte als vollständig dargestellt betrachtet werden soll, damit Sie die Leistung erfassen können.

Es wurden drei Activity Compose APIs hinzugefügt, um die Verwendung der FullyDrawnReporter aus einzelnen Composeables zu vereinfachen:

  • ReportDrawn bedeutet, dass Ihr Composeable sofort für Interaktionen bereit ist.
  • ReportDrawnWhen nimmt ein Prädikat (d.h. list.count > 0), um anzugeben, wann Ihr Composed-Element für Interaktionen bereit ist.
  • ReportDrawnAfter nimmt eine Aussetzungsmethode an, die nach Abschluss signalisiert, dass Sie für eine Interaktion bereit 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 werden losgelassen. Version 1.7.0-rc01 enthält diese Commits.

Update der Abhängigkeiten

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 werden losgelassen. Version 1.7.0-beta02 enthält diese Commits.

API-Änderungen

  • Die Aktion und das Extra, das von den PickVisualMedia- und PickMultipleVisualMedia-Verträgen als Fallback für den Fall verwendet wird, dass MediaStore.ACTION_PICK_IMAGES nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps API-Stabilität bieten, die eine einheitliche Bildauswahl bieten möchten. 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 werden losgelassen. Version 1.7.0-beta01 enthält diese Commits.

Neue Funktionen

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

Fehlerkorrekturen

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

Kotlin-Conversions

  • ActivityResultRegistryOwner ist jetzt in Kotlin geschrieben. Das ist eine nicht mit der Quelle kompatible Änderung für diese in Kotlin geschriebenen Klassen. Sie müssen jetzt die Property activityResultRegistry überschreiben, anstatt die vorherige getActivityResultRegistry()-Funktion zu implementieren. (I0b00e)
  • OnBackPressedDispatcherOwner ist jetzt in Kotlin geschrieben. Das ist eine nicht mit der Quelle kompatible Änderung für diese in Kotlin geschriebenen Klassen. Sie müssen jetzt die Property onBackPressedDispatcher überschreiben, anstatt die vorherige getOnBackPressedDispatcher-Funktion zu implementieren. (Ia277d)
  • ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest und OnBackPressedDispatcher werden 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 wurden veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Bei den Verträgen für PickVisualMedia- und PickMultipleVisualMedia-Aktivitätsergebnisse wird jetzt die von Google Play-Diensten bereitgestellte Bildauswahl verwendet, sofern verfügbar. Bisher wurde die vom Android-System bereitgestellte Bildauswahl verwendet (z. B. MediaStore.ACTION_PICK_IMAGES) ist nicht verfügbar. Die isPhotoPickerAvailable() API, die nur die vom Android-System bereitgestellte Bildauswahl erkennt, wurde eingestellt. Wir empfehlen die Verwendung der neuen isPhotoPickerAvailable(Context) API, die zurückgegeben wird, wenn eine der Bildauswahlen 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 werden losgelassen. Version 1.7.0-alpha03 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • Es wurde ein ReportDrawn-Komposit hinzugefügt, das die Aktivität sofort als bereit zum Aufrufen von reportFullyDrawn kennzeichnet. (Ic5b14, b/259687964)

Kotlin-Conversions

  • Die Klassen ActvitiyResultCallback und OnBackPressedCallback wurden 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 wurden veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Aus Aktivität 1.6.1: Ein Problem wurde behoben, bei dem der Vertrag für PickMultipleVisualMedia-Aktivitätsergebnisse 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 wurden veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.

FullyDrawnReporter APIs

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

Für diese APIs wird eine Aktivierung empfohlen:

  • Die Android Runtime wird benachrichtigt, wenn der Start abgeschlossen ist, damit der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, berücksichtigt und für die Hintergrundkompilierung priorisiert wird.
  • Signalisieren Sie Macrobenchmark und Play Vitals, wenn Ihre Anwendung für Startmesswerte als vollständig dargestellt betrachtet werden soll, damit Sie die Leistung erfassen können.

Es wurden zwei Activity Compose APIs hinzugefügt, um die Verwendung der FullyDrawnReporter aus einzelnen Composeables zu vereinfachen:

  • ReportDrawnWhen verwendet ein Prädikat (d.h. list.count > 0), um anzugeben, wann Ihr Composed-Element für Interaktionen bereit ist.
  • ReportDrawnAfter nimmt eine Aussetzungsmethode an, die nach Abschluss signalisiert, dass Sie für eine Interaktion bereit 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 wurden veröffentlicht. Version 1.6.1 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem der Vertrag für PickMultipleVisualMedia-Aktivitätsergebnisse 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 werden losgelassen. 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, bei dem MediaStore.ACTION_PICK_IMAGES verwendet wird, 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 funktionieren alle auf OnBackPressedDispatcher basierenden APIs, wenn eine vorhersagende Zurück-Geste aktiviert ist.

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 wurden veröffentlicht. Version 1.6.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • OnBackPressedDispatcher registriert die OnBackInvokedCallback jetzt bei der PRIORITY_DEFAULT anstelle der PRIORITY_OVERLAY. (I3901f)
  • Bei Klassen, die ComponentActivity erweitern, werden jetzt immer beide onMultiWindowModeChanged()-Callbacks gesendet. (Ic4d85)
  • Der ActivityResultRegistry gibt kein Ergebnis mehr an den ActivityResultCallback zurück, wenn der launch-Aufruf eine Exception auslöst und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)
  • ComponentActivity leitet jetzt Menüaufrufe korrekt weiter, ohne dass die Superfunktion 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 wurden veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Wenn Sie SDK-Versionen vor 33 verwenden, führt das Initialisieren einer OnBackPressedDispatcher nicht mehr zu ClassVerificationErrors. (Ic32e1)
  • Bei Klassen, die den onPictureInPictureModeChanged()-Callback von ComponentActivity überschreiben, werden jetzt immer auch Callbacks 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 werden losgelassen. Version 1.6.0-beta01 enthält diese Commits.

API-Änderungen

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

Fehlerkorrekturen

  • Von Aktivität 1.5.1: Der ActivityResultRegistry gibt kein Ergebnis mehr an den ActivityResultCallback zurück, wenn der launch-Aufruf eine Exception auslöst und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)
  • Aktivität 1.5.1: ComponentActivity sendet Menüaufrufe jetzt richtig an onPrepareOptionMenu(), onCreateOptionsMenu() und onOptionsItemSelected()-Überschreibungen, 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 wurden veröffentlicht. Version 1.6.0-alpha05 wurde in einem privaten Pre-Release-Branch entwickelt und hat keine öffentlichen Commits.

API-Änderungen

  • minCompileSdk ist jetzt 33, um mit dem Tiramisu Beta 3 SDK übereinzustimmen.

Fehlerkorrekturen

  • Der Absturz auf älteren Geräten bei der SDK-Erweiterungsüberprüfung für die PickVisualMedia ActivityResultContract wurde behoben. Die ACTION_OPEN_DOCUMENT sollte jetzt 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 freigegeben.

Fehlerkorrekturen

  • Ein Fehler in PickVisualMediaRequest wurde behoben, bei dem der Versuch, eine Anfrage entweder über den Builder oder die Kotlin-Funktion der obersten Ebene zu erstellen, zu einem Stack-Overflow führte.
  • OnBackInvokedCallback wurde in der Android 13-Entwickler-Betaversion 2 in die von ComponentDialog bereitgestellte OnBackPressedDispatcher integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine Touch-Geste mit automatischer Vervollständigung aktiviert ist.

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 werden losgelassen.

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

Neue Funktionen

  • ActivityResultContracts.PickVisualMedia und ActivityResultContracts.PickMultipleVisualMedia wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, bei dem MediaStore.ACTION_PICK_IMAGES verwendet wird, 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 in die von ComponentActivity bereitgestellte OnBackPressedDispatcher eingebunden. So können alle auf OnBackPressedDispatcher basierenden APIs verwendet werden, wenn die vorhersagende Zurück-Geste aktiviert ist.

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 werden losgelassen.

  • Hinweis: Diese Version wird nur mit dem SDK der Android 13-Entwicklervorschau 2 kompiliert.

Neue Funktionen

  • Die Änderungen aus der Android 13-Entwicklervorschau 2 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 wurden veröffentlicht. Version 1.5.1 enthält diese Commits.

Fehlerkorrekturen

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

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

Update der Abhängigkeiten

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 werden losgelassen. Version 1.5.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.4.0

  • ComponentDialog: ComponentDialog ist eine Unterklasse von Dialog, die eine OnBackPressedDispatcher enthält, die aufgerufen wird, wenn die Schaltfläche „Zurück“ des Systems gedrückt wird und das Dialogfeld sichtbar ist. Wichtig ist, dass diese Unterklasse auch die ViewTreeOnBackPressedDispatcherOwner festlegt. So können Ansichten den richtigen Dispatcher auf eine generische Weise abrufen, unabhängig davon, ob er in einer ComponentActivity oder 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: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider.
  • Integration von CreationExtras: ComponentActivity kann jetzt über die CreationExtras von Lifecycle 2.5.0 einen zustandslosen ViewModelProvider.Factory bereitstellen.

Sonstige Änderungen

  • Der Konstruktor ohne Parameter für ActivityResultContracts.CreateDocument wurde verworfen 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 unverändert von 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 werden losgelassen. Version 1.5.0-beta01 enthält diese Commits.

Aktualisierung der Abhängigkeiten

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 werden losgelassen. Version 1.5.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Die onPanelClosed() von ComponentActivity ruft jetzt auch die super onPanelClosed() auf. Dadurch wurde 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 werden losgelassen. Version 1.5.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • SavedStateViewFactory unterstützt jetzt die Verwendung von CreationExtras, auch wenn es mit einer 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 werden losgelassen. Version 1.5.0-alpha03 enthält diese Commits.

API-Änderungen

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

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 werden losgelassen. Version 1.5.0-alpha02 enthält diese Commits.

Neue Funktionen

  • ComponentActivity implementiert jetzt die OnPictureInPictureModeChangedProvider-Schnittstelle, damit jede Komponente Ereignisse zur Änderung des Bild-im-Bild-Modus empfangen kann. (I9f567)
  • ComponentActivity implementiert jetzt die Schnittstelle OnMultiWindowModeChangedProvider, damit jede Komponente Ereignisse für Änderungen des Modus für mehrere Fenster 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 wurden veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.

Neue Funktionen

  • ComponentActivity kann jetzt mit ViewModel CreationExtras verwendet werden, die im Rahmen von Lifecycle 2.5.0-alpha01 eingeführt wurden. (Ie7e00, b/207012584)
  • ComponentDialog wurde hinzugefügt, eine Unterklasse von Dialog, die eine OnBackPressedDispatcher enthält, die aufgerufen wird, wenn die Schaltfläche „Zurück“ des Systems gedrückt wird, während das Dialogfeld sichtbar ist. Wichtig ist, dass diese abgeleitete Klasse auch die ViewTreeOnBackPressedDispatcherOwner festlegt. Damit wird in Ansichten eine allgemeine Methode zum Abrufen des richtigen Disponenten möglich, unabhängig davon, ob er in einem ComponentActivity- oder einem ComponentDialog vorhanden ist. (I8a1bc)
  • ComponentActivity implementiert jetzt die neue OnNewIntentProvider-Schnittstelle, damit alle Komponenten diese Ereignisse empfangen können. (If1f8b)
  • ComponentActivity implementiert jetzt die neue OnConfigurationChangedProvider-Schnittstelle, damit alle Komponenten diese Ereignisse empfangen können. (If623b)
  • In ComponentActivity wird jetzt die neue OnTrimMemoryProvider-Schnittstelle implementiert, damit jede Komponente diese Ereignisse empfangen kann. (Ia9295)

API-Änderungen

  • Der Konstruktor ohne Parameter für ActivityResultContracts.CreateDocument wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen bestimmten MIME-Typ annimmt (z.B. "image/png"), wie von Intent.ACTION_CREATE_DOCUMENT gefordert. (I2bec6)
  • Die OnBackPressedDispatcherOwner, die einer Ansicht zugeordnet ist, kann jetzt über die ViewTreeOnBackPressedDispatcherOwner abgerufen werden, anstatt die Context zu übergeben. (I74685)

Fehlerkorrekturen

  • Ein Absturz beim ersten Zugriff auf eine ViewModel über einen registerForActivityResult()-Callback oder die Callbacks zu einer LifecycleObserver, die im Rahmen von init einer 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 werden losgelassen. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

  • AndroidX ComponentActivity implementiert jetzt die MenuHost-Schnittstelle. So kann jeder Komponente der ActionBar Menüpunkte hinzugefügt werden, indem der Aktivität eine MenuProvider-Instanz hinzugefügt wird. Jedem MenuProvider kann optional ein Lifecycle hinzugefügt werden, das die Sichtbarkeit dieser Menüpunkte automatisch basierend auf dem Lifecycle-Status steuert und das Entfernen des MenuProvider verwaltet, wenn der Lifecycle zerstört wird.
  • Die Klasse ActivityResultContract wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullbarkeit für ihre Eingabe- und Ausgabeklassen definieren können.
  • Die Klasse ActivityResultContracts und ihre Verträge wurden in Kotlin neu geschrieben, um die richtige Nullbarkeit 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 werden losgelassen. Version 1.4.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Die ActivityResultRegistry gibt kein Ergebnis mehr an die ActivityResultCallback zurück, wenn der launch-Aufruf eine Exception auslöst. (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 werden losgelassen. Version 1.4.0-beta01 enthält diese Commits.

API-Änderungen

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

Aktualisierungen der Dokumentation

  • Die Nachricht zur Einstellung von APIs, die jetzt von den Activity Result APIs (startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions und onRequestPermissionsResult) verarbeitet werden, wurde um weitere Details erweitert. (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 werden losgelassen. 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 die launch-Methode von ActivityResultLauncher als Teil der Zusammensetzung aufgerufen wird, da die Zusammensetzung nebenwirkungsfrei sein sollte. Verwende die APIs für den Umgang mit Nebenwirkungen. (7c2bbe, b/191347220)

API-Änderungen

  • Die Klasse ActivityResultContract wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullbarkeit für ihre Eingabe- und Ausgabeklassen definieren können. (I8a8f5)
  • Die Klasse ActivityResultContracts und ihre Verträge wurden in Kotlin umgeschrieben, um die ordnungsgemäße 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 werden losgelassen. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

  • AndroidX ComponentActivity implementiert jetzt die MenuHost-Schnittstelle. So kann jeder Komponente der ActionBar Menüpunkte hinzugefügt werden, indem der Aktivität eine MenuProvider-Instanz hinzugefügt wird. Jedem MenuProvider kann optional ein Lifecycle hinzugefügt werden, das die Sichtbarkeit dieser Menüpunkte automatisch basierend auf dem Lifecycle-Status steuert und das Entfernen des MenuProvider verwaltet, wenn der 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)
  }

Änderungen im Verhalten

  • Die ActivityResultRegistry wirft jetzt eine IllegalStateException, wenn versucht wird, launch() auf einem ActivityResultLauncher aufzurufen, der nicht registriert oder abgemeldet wurde. (Ida75d, b/192567522)

Externer Beitrag

  • 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 wurden veröffentlicht. Version 1.3.1 enthält diese Commits.

Aktualisierung der Abhängigkeiten

  • Die Aktivität hängt jetzt von Kotlin 1.5.21 ab.
  • „Aktivitäten erstellen“ hängt jetzt von „Erstellen 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 werden losgelassen. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Activity Compose-Artefakt: Das activity-compose-Artefakt bietet die setContent-Erweiterungsmethode zum Hosten Ihrer Jetpack Compose-UI in einer Aktivität und Compose-spezifische Wrapper für die Interaktion mit den ComponentActivity-APIs für die Verarbeitung der Zurück-Schaltfläche des Systems und der Activity Result APIs. Weitere Informationen finden Sie in der Dokumentation.
  • CaptureVideo-Kontrakt: Der CaptureVideo ActivityResultContract ersetzt den jetzt veralteten TakeVideo-Kontrakt und gibt einen booleschen Wert zurück, der den Erfolg angibt und in vielen Kamera-Apps funktioniert.
  • Tracking der Bild-im-Bild-Vorschau: Nutzer von activity-ktx können jetzt die trackPipAnimationHintView-Erweiterungsmethode 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 wurden veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Die ActivityResultRegistry-Callbacks werden jetzt ordnungsgemäß gespeichert und wiederhergestellt, sodass sie im savedState-Wert nicht 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 wurden veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.

activity-compose wurde aktualisiert, sodass es von „Compose 1.0.0-beta09“ abhängt. androidx.compose.ui:ui-test-junit4 hat jetzt eine Abhängigkeit von activity-compose zur Kompilierungszeit.

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 werden losgelassen. Version 1.3.0-beta01 enthält diese Commits.

API-Änderungen

  • Die zuvor verworfene Methode @Composable registerForActivityResult() wurde entfernt. Verwenden Sie 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 werden losgelassen. Version 1.3.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Der neue CaptureVideo ActivityResultContract gibt einen booleschen Wert an ActivityResultCallback zurück, der angibt, ob das Video erfolgreich unter dem angegebenen URI gespeichert wurde. Dies ersetzt den mittlerweile eingestellten TakeVideo-Vertrag, da Kamera-Apps nur sehr selten die Rückgabe einer Thumbnail-Bitmap unterstützen. Daher ist das Ergebnis nicht hilfreich. (Ie21f2, b/185938070)
  • Die neue API Activity#setPipAnimationHintView wurde hinzugefügt, um den Quellrechteckhinweis der PipParams bei jeder Bewegung der Ansicht zu aktualisieren. (I9063d)

API-Änderungen

  • Die Funktion rememberLauncherForActivityResult gibt jetzt einen Launcher zurück, der die unregister()-Funktion abstellt. Das Registrieren und Aufheben der Registrierung des Launchers erfolgen automatisch durch rememberLauncherForActivityResult. (I2443e)

Kompatibilität von Compose

  • 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 werden losgelassen. 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 Neuzusammensetzungen ändert. (Id2d6d)
  • Bei der Verwendung instabiler Versionen von Fragmenten über 1.3.0 wird nicht mehr der falsch positive Lint-Fehler ausgegeben, dass 1.3.0 verwendet werden soll. (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 werden losgelassen. Version 1.3.0-alpha06 enthält diese Commits.

API-Änderungen

  • Die registerForActivityResult() API wurde in rememberLauncherForActivityResult() umbenannt, um besser zu verdeutlichen, dass die zurückgegebene ActivityResultLauncher ein verwaltetes Objekt ist, das für Sie gespeichert wird. Beim Versuch, unregister die zurückgegebene ActivityResultLauncher aufzurufen, wird jetzt ein Fehler ausgegeben. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current und LocalActivityResultRegistryOwner.current geben jetzt einen optionalen Wert zurück, um besser zu bestimmen, ob er in der aktuellen Komposition verfügbar ist. Bei APIs, für die diese APIs erforderlich sind, z. B. BackHandler und rememberLauncherForActivityResult(), wird jetzt ein ausführlicherer Fehler ausgegeben, wenn der zugrunde liegende Inhaber nicht gefunden wird. NavHost funktioniert jetzt auch dann, wenn kein OnBackPressedDispatcherOwner gefunden wird, wie es bei der Vorschau von NavHost der Fall ist. (I7d8b4)

Fehlerkorrekturen

  • Die BackHandler fängt jetzt die Zurück-Tastendrücke korrekt ab, wenn die Aktivität STOPPED und dann wieder STARTED ist und andere Rückruffunktionen mit einem LifecycleOwner hinzugefügt wurden. (I71de6, b/182284739)
  • Die Verwendung der Methodendung launch() mit einer benutzerdefinierten ActivityResultContract mit einer Unit-Eingabe führt nicht mehr zu einer 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 werden losgelassen. Version 1.3.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Aktivität 1.2.2: Ein Problem bei der InvalidFragmentVersionForActivityResult-Lint-Prüfung wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem False Positive führte. (I54da1, b/182388985)
  • Aktivität 1.2.2: ComponentActivity vermeidet jetzt einen ClassNotFoundException, wenn ein Intent von einem ActivityResultContract gestartet wird, 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 werden losgelassen. Version 1.3.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • Unter Aktivitäten 1.2.1: RequestMultiplePermissions gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurück, nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)
  • Unter Aktivitäten 1.2.1: ActivityResultRegistry sorgt jetzt dafür, dass laufende launch()-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sie unregister() und dann noch einmal register() mit demselben Schlüssel ausführen. (I9ef34, b/181267562)
  • Activity Compose fügt dem Laufzeit-Classpath keine Testabhängigkeiten mehr hinzu. (Ifd8b3)
  • Es wurde ein Problem mit BackHandler behoben, bei dem das zuvor festgelegte Lambda von onBack nach der Neuzusammensetzung 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 werden losgelassen. Version 1.3.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Es gibt jetzt eine komponierbare registerForActivityResult-Funktion, mit der Ergebnisse aus Aktivitäten in Composeables 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 werden losgelassen. Version 1.3.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem in Activity Compose 1.3.0-alpha01 wurde behoben, das bei Verwendung von Compose 1.0.0-alpha12 zu einer NoSuchMethodError: No static method setContent-Ausnahme führte. Alle Nutzer von „Compose“ sollten 1.3.0-alpha02 und höher verwenden. (b/179911234)

API-Änderungen

  • Mit der BackHandler API kann ein Composable die Zurück-Schaltfläche 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 wurden veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Das neue activity-compose-Artefakt bietet Jetpack Compose-spezifische Helpers 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 darauf basierende Bibliotheken wie androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 verwenden, führt dies zu einer NoSuchMethodError: No static method setContent-Ausnahme. (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 freigegeben. Version 1.2.4 enthält diese Commits.

Fehlerkorrekturen

  • Aktivität 1.3.0-rc02: Die Callbacks der ActivityResultRegistry werden jetzt ordnungsgemäß gespeichert und wiederhergestellt, sodass Callbacks nicht im savedState 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 freigegeben. Version 1.2.3 enthält diese Commits.

Fehlerkorrekturen

  • Die Verwendung der Methodenerweiterung launch() mit einer benutzerdefinierten ActivityResultContract mit einer Unit-Eingabe führt nicht mehr zu einer NullPointerException (I76282, b/183837954).
  • Ein falsch positiver Lint-Fehler wurde behoben, bei dem Sie aufgefordert wurden, Fragment 1.3.0 zu verwenden, wenn Sie einen Snapshot-, Alpha-, Beta- oder RC-Build 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 freigegeben. Version 1.2.2 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem bei der InvalidFragmentVersionForActivityResult-Lint-Prüfung wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte. (I54da1, b/182388985)
  • ComponentActivity vermeidet jetzt ein ClassNotFoundException, wenn eine Intent von einer ActivityResultContract gestartet wird, die zuvor als Extra in einer anderen Intent gehalten wurde. (Ieff05, b/182906230)

Aktualisierung der Abhängigkeiten

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 freigegeben. Version 1.2.1 enthält diese Commits.

Fehlerkorrekturen

  • RequestMultiplePermissions gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurück, nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)
  • ActivityResultRegistry sorgt jetzt dafür, dass in Bearbeitung befindliche launch()-Anfragen ihre Ergebnisse zurückgeben, auch wenn du unregister() auswählst, und dann noch einmal mit demselben Schlüssel register(). (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 freigegeben. 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 bietet sie über ActivityResultContract eine verbesserte Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Hilfeartikel Ergebnis aus einer Aktivität abrufen.
  • ContextAware: ComponentActivity implementiert jetzt ContextAware. Du kannst also eine oder mehrere OnContextAvailableListener-Instanzen hinzufügen, die einen Callback vor der Basis-Activity.onCreate() erhalten.

    • Mit einer anhaltenden Kotlin-Erweiterung withContextAvailable() können Sie einen Block ohne Aussetzung ausführen, wenn der Kontext verfügbar ist, und ein Ergebnis zurückgeben.
    • Diese API wird von FragmentActivity in Fragment 1.3.0 verwendet, um den Status der 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. Die Aktivität wird dann für alle Ansichten, die der ComponentActivity direkt hinzugefügt wurden, als LifecycleOwner, ViewModelStoreOwner und SavedStateRegistryOwner zurückgegeben.

  • reportFullyDrawn()-Backport: Die Activity-Methode von reportFullyDrawn() wurde in ComponentActivity zurückportiert und funktioniert auf allen API-Ebenen. Ein Absturz bei API 19 wurde behoben und dieser Methode wurde für alle API-Ebenen Tracing 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 freigegeben. Version 1.2.0-rc01 enthält diese Commits.

Fehlerkorrekturen

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

Externer Beitrag

  • ComponentActivity überschreibt jetzt reportFullyDrawn(), sodass es auf allen API-Ebenen aufgerufen werden kann. Außerdem wurde ein Absturz beim Aufrufen dieser Methode ohne die entsprechende Systemberechtigung auf Geräten mit API 19 behoben. 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 wurden veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem die Activity Result API nicht auf den Lebenszyklus STARTED wartet, bevor Ergebnisse ausgegeben wurden, wenn sie mit einer Lifecycle registriert wurden. (I109ea)

Externer Beitrag

  • Die Dokumentation für launch() wurde aktualisiert, um explizit darauf hinzuweisen, dass eine ActivityNotFoundException geworfen 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 wurden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Der ActivityResultRegistry generiert jetzt zufällig Ganzzahlen, bis er eine Ganzzahl findet, die noch nicht als Anfragecode register() zugewiesen wurde. So wird ein möglicher Ganzzahlüberlauf verhindert, der durch das Inkrementieren von Anfragecodes verursacht wird. (b/168779518)

  • Lifecycle-Beobachter werden ordnungsgemäß entfernt, wenn unregister() auf einer ActivityResultLauncher aufgerufen wird. (b/165608393)

Verhaltensänderungen

  • Die ActivityResultRegistry wirft jetzt eine IllegalStateException, wenn versucht wird, register() mit einer LifecycleOwner aufzurufen, deren Lifecycle bereits STARTED erreicht hat. (b/165435866)

Dokumentation aktualisiert

  • Die ContextAware-Dokumentation enthält einen Link zu LifecycleOwner, um Lifecycle-Callbacks als geeigneten Ort für das Erstellen und Löschen von Ereignissen 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 freigegeben. 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 vor der Basis-Activity.onCreate() einen Rückruf erhalten. (b/161390636)
    • Mit einer anhaltenden Kotlin-Erweiterung withContextAvailable() können Sie einen Block ohne Aussetzung ausführen, wenn der Kontext verfügbar ist, und ein Ergebnis zurückgeben. (I8290c)
    • Diese API wird von FragmentActivity in Fragment 1.3.0-alpha08 verwendet, um den Status der 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 der ActivityResultFragmentVersionDetector-Lint-Prüfung wurde behoben, das bei Verwendung von Lint 27.1.0 oder höher zu Abstürzen führte. (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 freigegeben. Version 1.2.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Es wurde eine neue InvalidFragmentVersionForActivityResult-Lint-Prüfung hinzugefügt, die 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ültigem Anfragecode und nicht funktionierenden Berechtigungsanfragen vermieden, die durch die Verwendung älterer Fragmentversionen verursacht werden. (b/152554847)

Externer Beitrag

  • Ein ArrayIndexOutOfBoundsException beim Parsen der Ergebnisse für den Vertrag mit dem Aktivitätsergebnis RequestPermission wurde 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 freigegeben. Version 1.2.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Sie können jetzt die Klasse ActivityResult in Kotlin destrukturieren, um direkt auf requestCode und intent zuzugreifen. (b/157212935)
  • Mit ActivityResultLauncher können Sie jetzt den ActivityResultContract abrufen, mit dem der Launcher registriert wurde. (b/156875743)

API-Änderungen

  • Funktionsgefährdende Änderung: Die invoke()-Methode von ActivityResultRegistry wurde in onLaunch() umbenannt. (b/157496491)
  • Der OpenMultipleDocuments-Vertrag gibt dem registrierten Rückruf jetzt eine leere Liste anstelle von null 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 freigegeben. 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 angibt, anstatt eine Miniaturansicht Bitmap, da dies von Kamera-Apps beim Schreiben des Bilds in die angegebene Uri nur sehr selten unterstützt wurde. (b/154302879)
  • Die invoke()-Erweiterungen von ActivityResultLauncher wurden entfernt und durch die explizite Verwendung von launch() ersetzt, um besser zu verdeutlichen, dass es sich um asynchrone Vorgänge handelt. Dem androidx.activity.result-Paket 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 entspricht dem Verhalten der bisherigen invoke()-Erweiterungen. (aosp/1304674, aosp/1304675)
  • Die IntentSenderRequest.Builder-Methoden für setFlagsMask() und setFlagsValues() wurden in einer einzigen setFlags()-Methode kombiniert. (aosp/1302111)

Fehlerkorrekturen

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

Änderungen im Verhalten

  • Die ActivityResultRegistry generiert jetzt Anfragecodes, die mit 0xFFFF statt mit 0 beginnen. So wird verhindert, dass sich startActivityForResult() oder requestPermissions() in einer Aktivität überschneiden. (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 freigegeben. Version 1.2.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Den ActivityResult APIs wurde ein Vertrag hinzugefügt, mit dem startIntentSenderForResult aufgerufen werden kann. (b/153007517)

API-Änderungen

  • Die Methode prepareCall() wurde in registerForActivityResult() umbenannt, sowohl in ComponentActivity hier als auch in 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. Verwende die Activity Result APIs. (b/154751887)

Fehlerkorrekturen

  • Wenn du die GetMultipleContents- und OpenMultipleDocuments-Verträge verwendest und einen einzelnen Artikel auswählst, wird er jetzt korrekt an deinen 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 freigegeben. Version 1.2.0-alpha03 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

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

Fehlerkorrekturen

  • Ein Fehler bei NullPointerException in ActivityResultRegistry wurde behoben, der beim Versuch auftrat, Ergebnisse an einen Rückruf zu senden, der nach einer Konfigurationsänderung noch nicht neu registriert wurde. ActivityResultRegistry behält diese ausstehenden Ergebnisse jetzt bei und sendet sie, wenn der Rückruf 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 wurden 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() sowie requestPermissions()+onRequestPermissionsResult() verarbeiten können, ohne Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem bietet sie über ActivityResultContract eine erhöhte Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Abschnitt Ergebnisse 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 wurden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Die Unterstützung für die ViewTreeLifecycleOwner.get(View) API wurde im Lebenszyklus 2.3.0-alpha01 hinzugefügt, sodass sie für alle direkt zur Aktivität hinzugefügten Ansichten die Aktivität als LifecycleOwner zurückgibt. (aosp/1182955)

Fehlerkorrekturen

  • Eine Regression in „Aktivitäten“ 1.1.0 wurde behoben, die bei der Ausführung auf älteren Versionen der Plattform auftrat. Dabei führte onBackPressed() aufgrund eines Fehlers in android.app.FragmentManager zu einer 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

  • Integration von Lifecycle ViewModel SavedState: SavedStateViewModelFactory ist jetzt die Standard-Factory, die bei Verwendung von by viewModels(), dem ViewModelProvider-Konstruktor oder ViewModelProviders.of() mit einer ComponentActivity oder einer ihrer 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 freigegeben. Version 1.1.0-rc03 enthält diese Commits.

Änderungen an Abhängigkeiten

  • Die Aktivität hängt jetzt vom Lebenszyklus 2.2.0-rc03 und dem Lifecycle-View-Modell-Speicherstatus 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 freigegeben. 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 freigegeben. Version 1.1.0-beta01 enthält diese Commits.

Änderungen an Abhängigkeiten

  • Die Aktivität hängt jetzt von der stabilen Version von SavedState 1.0.0 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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Die Aktivität hängt jetzt von Core 1.1.0 Stable 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 wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • SavedStateViewModelFactory ist jetzt die Standard-Factory, die verwendet wird, wenn by viewModels(), der 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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • activity hängt jetzt vom Lebenszyklus 2.2.0-alpha02 ab. (aosp/1007817)
  • activity-ktx hat eine Abhängigkeit von lifecycle-runtime-ktx hinzugefügt. Du musst sie nicht mehr explizit zu deinen Abhängigkeiten hinzufügen, wenn du activity-ktx oder von activity-ktx abhängige Bibliotheken verwendest (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 wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Hauptfunktionen 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 activity-ktx-Modul enthält eine by viewModels-Kotlin-Eigenschaftserweiterung für den Zugriff auf ViewModels. Dieses Modul wird automatisch eingefügt, wenn du fragment-ktx aus Fragment 1.1.0 einfügst.
  • OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von onBackPressed() können Sie jetzt eine OnBackPressedCallback aus einem beliebigen LifecycleOwner (z. B. einem Fragment) registrieren, um Systemereignisse der Zurück-Schaltfläche abzufangen. activity-ktx wurde eine Lambda-Funktion mit der Empfängerversion addCallback hinzugefügt. Weitere Informationen finden Sie unter Dokumentation zur benutzerdefinierten Rücknavigation bereitstellen.
  • Einstellung von "onRetainCustomNonConfigurationInstance": Die APIs onRetainCustomNonConfigurationInstance() und die zugehörigen getLastCustomNonConfigurationInstance() APIs wurden verworfen. Es wird dringend empfohlen, ViewModels zum Speichern des Nicht-Konfigurationsstatus zu verwenden, da sie eine zusammensetzbare Lösung für alle ViewModelStoreOwner bieten, die die Eigentümerschaft der beibehaltenen Objekte deutlich macht und einen onCleared()-Callback zum Bereinigen von Ressourcen bietet, wenn die Aktivität schließlich gelöscht ist.

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 wurden 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 wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

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

Fehlerkorrekturen

  • Ein ConcurrentModificationException wurde behoben, das beim Aufrufen von remove() aus der 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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

In dieser Version wurden wesentliche Änderungen an der Verarbeitung von onBackPressed() vorgenommen. Weitere Informationen finden Sie in der aktualisierten Dokumentation zur benutzerdefinierten Sicherung.

  • Die Methoden für OnBackPressedCallback und OnBackPressedDispatcher wurden als @MainThread gekennzeichnet. (aosp/943813)
  • Die Methode handleOnBackPressed() gibt kein 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 diesem Fall müssen Sie die Schaltfläche „Zurück“ verarbeiten. (aosp/944518)
  • Die addCallback-Methoden von OnBackPressedDispatcher geben keine Cancellable-Instanz mehr zurück. OnBackPressedCallback enthält 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 auf Empfängerebene 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 wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • ComponentActivity enthält jetzt einen zweiten Konstruktor, der einen @LayoutRes int annimmt. Damit wird das vorherige Verhalten ersetzt, bei dem die AppCompatActivity-Klasse mit @ContentView annotiert wurde. Dieser Ansatz funktioniert sowohl in Anwendungs- als auch in Bibliotheksmodulen. (b/128352521)
  • Die OnBackPressedCallback-bezogenen APIs für 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. So kann der Rückruf entfernt werden, ohne dass ein expliziter Verweis auf das OnBackPressedDispatcher erforderlich ist. (aosp/922523)
  • Wenn Sie eine OnBackPressedCallback mit einer verknüpften LifecycleOwner hinzufügen, wird jetzt die OnBackPressedCallback hinzugefügt und entfernt, wenn der Lebenszyklus gestartet bzw. beendet wird. (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 wurden freigegeben. Eine vollständige Liste der Commits in dieser Version finden Sie hier.

Neue Funktionen

  • @ContentView Anmerkungsabfragen 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 freigegeben.

Neue Funktionen

  • Unterstützung für die @ContentView-Klassenannotation hinzugefügt, mit der Sie angeben können, welche Layout-XML-Datei anstelle von setContentView() aufgebläht 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 gemacht wird. Wenn Sie diese Methode derzeit überschreiben, stellen Sie bitte eine Funktionsanfrage. (aosp/837619)

Fehlerkorrekturen

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

Version 1.0.0-alpha03

17. Dezember 2018

androidx.activity 1.0.0-alpha03 wurde veröffentlicht.

Neue Funktionen

  • ComponentActivity implementiert jetzt BundleSavedStateRegistryOwner und ist von der neu veröffentlichten SavedState-Bibliothek abhängig [aosp/815133]
  • ComponentActivity umgeht jetzt einen Fehler im Android-Framework, durch den der InputMethodManager die zuletzt fokussierte Ansicht leckte [b/37122102]

Version 1.0.0-alpha02

3. Dezember 2018

API-Änderungen

  • Es wurde ein Hinweis hinzugefügt, dass getLifecycle() nicht überschrieben werden sollte und in einem zukünftigen Release auf final gesetzt wird. Wenn Sie diese Methode derzeit überschreiben, stellen Sie bitte eine Funktionsanfrage. (aosp/815834)

Version 1.0.0-alpha01

5. November 2018

In 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 neuer by viewModels()-Kotlin-Property-Delegierter zum Abrufen von ViewModels aus einer 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 ViewModel zum Speichern von Objekten, die bei Konfigurationsänderungen erhalten bleiben müssen.