Aktivität

Greifen Sie auf zusammensetzbare APIs zu, die auf Activity basieren.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
4. September 2024 1.9.2 - - 1.10.0-alpha02

Abhängigkeiten deklarieren

Um eine Abhängigkeit von Activity hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .

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

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 zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: 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-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 wurden veröffentlicht. Version 1.10.0-alpha02 enthält diese Commits.

Änderungen im Verhalten

  • Die Verträge für PickVisualMedia- und PickMultipleVisualMedia-Aktivitätsergebnisse, durch die die Bildauswahl ausgelöst wird, werden nicht mehr direkt an die Google Play-Dienste delegiert, wenn die Bildauswahl des Systems nicht verfügbar ist. Stattdessen werden die öffentliche ACTION_SYSTEM_FALLBACK_PICK_IMAGES-Aktion und die zugehörigen Extras verwendet, um OEMs und System-Apps eine einheitliche Bildauswahl-Erfahrung zu bieten. Dies sollte keine Auswirkungen auf die Nutzererfahrung auf Geräten mit einer aktuellen Version der Google Play-Dienste haben. (I3513d)

Fehlerkorrekturen

  • Die manuelle Beschreibung 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 bei allen 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)
  • Aus Aktivität 1.9.2: Ein Problem wurde behoben, bei dem die Activity Compose PredictiveBackHandler API weiterhin die Zurück-Touch-Geste des Systems für den Frame verarbeitete, in dem sie deaktiviert war. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose auch bei einem leeren Back Stack mit dem Zurück-Stapel umgehen und eine IndexOutOfBoundsException ausgeben konnten. (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 Zweig entwickelt.

Neue Funktionen

  • Die neuen PhotoPicker-Funktionen, die in Android V eingeführt wurden, werden jetzt unterstützt, z. B. die Möglichkeit, Bilder der Reihe nach auszuwählen und festzulegen, welcher Tab (entweder Alben oder Bilder) anfangs sichtbar sein soll.

Version 1.9

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 wurden veröffentlicht. Version 1.9.2 enthält diese Lthcocommits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem die Activity Compose-API PredictiveBackHandler weiterhin die Zurück-Geste des Systems in dem Frame verarbeitete, in dem sie deaktiviert war. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose auch bei einem leeren Back Stack mit dem Zurück-Stapel gearbeitet haben, was dazu führte, dass IndexOutOfBoundsException ausgegeben wurde. (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 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 wurden 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 zulassen können.
  • Die APIs OnBackPressedCallback, BackHandler und PredictiveBackHandler senden jetzt eine Warnung, wenn beim Verarbeiten onBackPressedDispatcher.onBackPressed() aufgerufen wird, da dies immer die Predictive Back Animation beeinträchtigt. 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 Konvertierung von ActivityResultLauncher in Kotlin ist die getContract-Methode jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist mit Binärprogrammen kompatibel. Wenn die Implementierung von ActivityResultLauncher jedoch in Kotlin geschrieben wurde, funktioniert die Quelle nicht mehr.

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

Aktualisierung der Abhängigkeit

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

Fehlerkorrekturen

  • Es wurde eine in Aktivität 1.9.0-alpha02 eingeführte Regression der Leistung beim Start von Aktivitäten behoben, die durch das Aufrufen 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 wurden veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.

Lint-Warnung

Fehlerkorrekturen

  • Wenn ein Zurück-Ereignis von dem System gesendet wird, das während einer bereits ausgeführten vorausschauenden Zurück-Geste gestartet wird, wird die derzeit ausgeführte zurücksenkende Bewegung abgebrochen und das neue Zurück-Ereignis wird übernommen, um eine neue vorausschauende Zurück-Geste 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 das onBackPressedDispatcher in jedem Thread ist jetzt 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 wurden veröffentlicht. Version 1.9.0-alpha02 enthält diese Commits.

Kotlin-Conversions

  • ActivityResultRegistry wurde in Kotlin umgeschrieben. Dadurch wird sichergestellt, dass die Null-Zulässigkeit der generischen Begriffe im Vertrag, der an register übergeben wurde, korrekt an die ActivityResultLauncher weitergegeben wird. (I121f0)
  • ActivityResult wurde in Kotlin umgeschrieben. Die Kotlin-Erweiterungen von ActivityResult, die das Löschen 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 Artefakt activity-ktx ist jetzt komplett leer. (I0a444)

Fehlerkorrekturen

  • Die enableEdgeToEdge API umkreist jetzt alle Display-Aussparungen. (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

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

API-Änderungen

  • ComponentActivity wurde in Kotlin umgeschrieben. (I14f31)
  • ActivityResultCaller wurde in Kotlin umgeschrieben. (Ib02e4)
  • ActivityResultLauncher wurde in Kotlin umgeschrieben. Im Rahmen dieser Konvertierung ist die Methode getContract jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist mit Binärprogrammen kompatibel. Wenn die Implementierung von ActivityResultLauncher jedoch in Kotlin geschrieben wurde, funktioniert die Quelle nicht mehr. (ID4615)
  • PickVisualMediaRequest hat jetzt dieselbe API-Mindestebene von 19 wie der Vertrag für PickVisualMedia-Aktivitätsergebnisse. (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 wurden veröffentlicht. 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. 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.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 wurden veröffentlicht. Version 1.8.1 enthält diese Commits.

Fehlerkorrekturen

  • OnBackPressedDispatcher sendet nun auch dann weiterhin Daten an den richtigen OnBackPressedCallback, nachdem ein neues OnBackPressedCallback-Element hinzugefügt wurde, während die Zurück-Touch-Geste verarbeitet 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 wurden veröffentlicht. Version 1.8.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.7.0

  • Predictive Back: OnBackPressedCallback bietet jetzt neue Predictive Back-Callbacks für den Start der Zurück-Geste, den Fortschritt während der Geste und das Abbrechen der Zurück-Touch-Geste. Zusätzlich zum vorherigen handleOnBackPressed()-Callback für den Commit der Zurück-Geste ist der Vorgang abgeschlossen. Dazu gehört auch die Funktion „PredictiveBackHandler“, die zusammensetzbar ist, um im Modus „Verfassen von Aktivitäten“ Ereignisse mit „Zurück“-Touch-Gesten zu verarbeiten. Er stellt einen Ablauf von BackEventCompat-Objekten bereit, die in der von Ihnen bereitgestellten Sperr-Lamba-Datei gesammelt 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 Verarbeitung verworfen. Entwickler sollten jetzt die OnBackPressedDispatcher verwenden, anstatt diese Methode zu überschreiben.

  • EdgeToEdgeComponentActivity.enableEdgeToEdge() wurde hinzugefügt, um das randlose Display problemlos abwärtskompatibel 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 wurden 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 wurden veröffentlicht. 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 wurden veröffentlicht. Version 1.8.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Mit der Funktion „Verfassen von Aktivitäten“ wurde eine neue PredictiveBackHandler zusammensetzbare Funktion hinzugefügt, mit der sich voraussagende Touch-Gesten-Ereignisse für „Zurück“ verarbeiten lassen. Es stellt ein Flow von BackEventCompat-Objekten bereit, die in der von dir bereitgestellten Aufbewahrungs-Lamba gesammelt 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

  • In ComponentActivity wird unter Android 13 keine NPE mehr angezeigt, wenn ein onBackPressed()-Callback eingeht und die Aktivität bereits DESTROYED wurde. (Idb055, b/291869278)
  • Entfernung der Nutzung der experimentellen isAtLeastU() API (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 wurden veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.

Neue Funktionen

  • OnBackPressedDispatcher bricht nun alle Callbacks korrekt ab, die während einer Touch-Geste zur automatischen Vervollständigung 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 wurden veröffentlicht. Diese Version wird in einem internen Zweig entwickelt.

API-Änderungen

  • Aktivität bietet jetzt eine BackEventCompat-Klasse, die als abwärtskompatible Version von BackEvent dient, die von der Framework-Klasse BackEvent entkoppelt 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 unter OnBackPressedDispatcher wurden ebenfalls aktualisiert.
  • Der Konstruktor für OnBackPressedDispatcher verwendet jetzt eine optionale Consumer<Boolean>-Instanz, die es den Eigentümern des Disponenten ermöglicht, einen Rückruf zu erhalten, wenn sich die Anzahl der aktivierten Rückrufe von null zu ungleich null ändert oder umgekehrt.

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 wurden veröffentlicht. Dies wurde von einem internen Zweig freigegeben.

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 wurden veröffentlicht. Dies wurde von einem internen Zweig freigegeben.

Neue Funktionen

  • ComponentActivity.setUpEdgeToEdge() wurde hinzugefügt, um das randlose Display einfach und abwärtskompatibel einzurichten.

API-Änderungen

  • ComponentActivity.onBackPressed() wurde zugunsten der APIs für die Verarbeitung verworfen. Entwickler sollten jetzt die 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

  • Es wurde ein Problem behoben, bei dem Fragmente MenuHosts fälschlicherweise ungültig machten und andere Menüs in der Aktivität zu unerwartetem Verhalten führten. (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 wurden veröffentlicht. Wurde in einem internen Zweig entwickelt.

Aktualisierung der Abhängigkeit

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 wurden veröffentlicht. Sie wurde aus einem internen Zweig erstellt.

Neue Funktionen

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

Fehlerkorrekturen

  • ReportFullyDrawExecuter führt nicht mehr zu Datenlecks, 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 wurden veröffentlicht. 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 von Intent statt nur eines einzelnen Flags festlegen.

Kotlin-Konvertierung

Einige Activity-Klassen wurden in Kotlin konvertiert. Alle konvertierten Klassen haben weiterhin ihre Binärkompatibilität mit früheren Versionen. Die folgenden Klassen enthalten inkompatible Änderungen für Klassen, die in Kotlin geschrieben wurden: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

In der folgenden Tabelle sind die Quell-Conversions für die neue Version von „Aktivität“ aufgeführt:

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

Die folgenden Klassen wurden ebenfalls in Kotlin konvertiert, sind aber weiterhin quellkompatibel: 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 deinem Namen aufgerufen wird. Diese APIs kümmern sich um die zeitlichen Anforderungen für Sie und müssen nicht im Rahmen eines onDraw-Aufrufs aufgerufen werden.

Wir empfehlen, diese APIs zu aktivieren:

  • Signalisieren der Android-Laufzeit nach Abschluss des Starts, um sicherzustellen, dass der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, enthalten und für die Hintergrundkompilierung priorisiert wird.
  • Signalisieren von MacroBenchmark und Play Vitals, wenn deine App für Start-Messwerte vollständig berücksichtigt werden sollte, damit du die Leistung im Blick behalten kannst.

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

  • ReportDrawn gibt an, dass die zusammensetzbare Funktion sofort zur Interaktion bereit ist.
  • ReportDrawnWhen verwendet ein Prädikat (d.h. list.count > 0), um anzugeben, wann die zusammensetzbare Funktion zur Interaktion bereit ist.
  • ReportDrawnAfter verwendet eine angehaltene Methode, die nach Abschluss des Vorgangs anzeigt, dass Sie für eine Interaktion bereit sind.

Aktualisierung der Abhängigkeiten

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

Aktualisierung der Abhängigkeit

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

Neue Funktionen

  • Mit IntentSenderRequest.Builder.setFlags() können Sie jetzt mehrere Flags von Intent statt nur eines einzelnen Flags festlegen. (Iac04c)

Fehlerkorrekturen

  • Das Fallback für PickVisualMedia, wenn die Fotoauswahl für das Framework nicht verfügbar ist, beschränkt die Verarbeitung jetzt korrekt auf Apps, die im Systemimage des Geräts installiert sind. (If8ae6)

Kotlin-Conversions

  • ActivityResultRegistryOwner ist jetzt in Kotlin geschrieben. Diese Änderung ist nicht mit der Quelle kompatibel für die in Kotlin geschriebenen Klassen. Sie müssen jetzt das Attribut activityResultRegistry überschreiben, anstatt die vorherige getActivityResultRegistry()-Funktion zu implementieren. (I0b00e)
  • OnBackPressedDispatcherOwner ist jetzt in Kotlin geschrieben. Diese Änderung ist nicht mit der Quelle kompatibel für die in Kotlin geschriebenen Klassen. Sie müssen jetzt das Attribut onBackPressedDispatcher ü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 wurden veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Für die Verträge für PickVisualMedia- und PickMultipleVisualMedia-Aktivitätsergebnisse wird jetzt, sofern verfügbar, eine von den Google Play-Diensten bereitgestellte Bildauswahl verwendet, wenn das Android-System die Bildauswahl (z.B. MediaStore.ACTION_PICK_IMAGES) ist nicht verfügbar. Die isPhotoPickerAvailable() API, die nur das vom Android-System bereitgestellte Bildauswahl-Tool erkennt, wurde eingestellt. Wir empfehlen, die neue isPhotoPickerAvailable(Context) API zu verwenden, die wieder verfügbar ist, wenn eine der Bildauswahl 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 wurden veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • Eine zusammensetzbare Funktion ReportDrawn wurde hinzugefügt, die die Aktivität sofort als zum Aufrufen von reportFullyDrawn bereit markiert. (Ic5b14, b/259687964)

Kotlin-Conversions

  • Die Klassen ActvitiyResultCallback und OnBackPressedCallback wurden unter Beibehaltung der Kompatibilität zwischen Quell- und Binärprogrammen in Kotlin konvertiert. (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 eingeführt 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 deinem Namen aufgerufen wird. Diese APIs kümmern sich um die zeitlichen Anforderungen für Sie und müssen nicht im Rahmen eines onDraw-Aufrufs aufgerufen werden.

Wir empfehlen, diese APIs zu aktivieren:

  • Signalisieren der Android-Laufzeit nach Abschluss des Starts, um sicherzustellen, dass der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, enthalten und für die Hintergrundkompilierung priorisiert wird.
  • Signalisieren von MacroBenchmark und Play Vitals, wenn deine App für Start-Messwerte vollständig berücksichtigt werden sollte, damit du die Leistung im Blick behalten kannst.

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

  • ReportDrawnWhen verwendet ein Prädikat (d.h. list.count > 0), um anzugeben, wann die zusammensetzbare Funktion zur Interaktion bereit ist.
  • ReportDrawnAfter verwendet eine angehaltene Methode, die nach Abschluss des Vorgangs anzeigt, 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 wurden veröffentlicht. Version 1.6.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.5.0

  • ActivityResultContracts.PickVisualMedia und ActivityResultContracts.PickMultipleVisualMedia wurden für die Bereitstellung eines abwärtskompatiblen Vertrags hinzugefügt, der MediaStore.ACTION_PICK_IMAGES verwendet, wenn die Bildauswahl verfügbar ist, und Intent.ACTION_OPEN_DOCUMENT, wenn sie nicht verfügbar ist.
  • OnBackInvokedCallback wurde in Android 13 in die OnBackPressedDispatchers von ComponentActivity und ComponentDialog integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine vorhersagbare 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 jetzt den OnBackInvokedCallback mit PRIORITY_DEFAULT anstelle von PRIORITY_OVERLAY. (I3901f)
  • Bei Klassen, die ComponentActivity erweitern, werden jetzt immer beide onMultiWindowModeChanged()-Callbacks gesendet. (IC4d85)
  • ActivityResultRegistry gibt kein Ergebnis mehr an ActivityResultCallback zurück, wenn der launch-Aufruf eine Exception und der Callback wurde ohne LifecycleOwner registriert. (Ia7ff7, b/238350794)
  • ComponentActivity sendet jetzt Menüaufrufe korrekt, ohne dass Sie die Superfunktion in Ihrer Aktivität aufrufen müssen. (Ie33c5, b/238057118)

Aktualisierung der Abhängigkeit

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

  • Die Initialisierung eines OnBackPressedDispatcher führt nicht mehr zu ClassVerificationErrors, wenn SDK-Versionen vor 33 verwendet werden. (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 wurden veröffentlicht. 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

  • Aus Aktivität 1.5.1: ActivityResultRegistry gibt kein Ergebnis mehr an ActivityResultCallback zurück, wenn der launch-Aufruf eine Exception und der Rückruf wurde ohne LifecycleOwner registriert. (Ia7ff7, b/238350794)
  • Aus Aktivität 1.5.1: ComponentActivity leitet jetzt Menüaufrufe an onPrepareOptionMenu()-, onCreateOptionsMenu()- und onOptionsItemSelected()-Überschreibungen korrekt weiter, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)

Aktualisierung der Abhängigkeit

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-Zweig entwickelt und hat keine öffentlichen Commits.

API-Änderungen

  • minCompileSdk ist jetzt entsprechend dem Tiramisu Beta 3 SDK 33 Jahre alt

Fehlerkorrekturen

  • Ein Absturz auf älteren Geräten bei der Prüfung der SDK-Erweiterung auf PickVisualMedia ActivityResultContract wurde behoben. Das Gerät 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 wurden veröffentlicht.

Fehlerkorrekturen

  • Es wurde ein Fehler in PickVisualMediaRequest behoben, bei dem der Versuch, eine Anfrage über den Builder oder die Kotlin-Funktion der obersten Ebene zu erstellen, zu einem Stacküberlauf führte.
  • OnBackInvokedCallback wurde in der Android 13-Entwickler-Beta (Beta) 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 wurden veröffentlicht.

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

Neue Funktionen

  • ActivityResultContracts.PickVisualMedia und ActivityResultContracts.PickMultipleVisualMedia wurden für die Bereitstellung eines abwärtskompatiblen Vertrags hinzugefügt, der MediaStore.ACTION_PICK_IMAGES verwendet, wenn die Bildauswahl verfügbar ist, und Intent.ACTION_OPEN_DOCUMENT, wenn sie nicht verfügbar ist.
  • OnBackInvokedCallback wurde in der Android 13-Entwickler-Beta (Beta) 1 in die von ComponentActivity 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-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 wurden veröffentlicht.

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

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

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

  • ComponentActivity leitet jetzt korrekt Menüaufrufe an die Überschreibungen onPrepareOptionMenu(), onCreateOptionsMenu() und onOptionsItemSelected() weiter ohne die Superfunktion aufrufen zu müssen. (Ie33c5, b/238057118)

Aktualisierung der Abhängigkeit

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

Wichtige Änderungen seit Version 1.4.0

  • ComponentDialogComponentDialog ist eine Unterklasse von Dialog. Sie enthält ein OnBackPressedDispatcher-Element, das aufgerufen wird, wenn die Zurück-Schaltfläche des Systems gedrückt wird und das Dialogfeld sichtbar wird. Wichtig ist, dass diese abgeleitete Klasse auch die ViewTreeOnBackPressedDispatcherOwner festlegt. Damit können Ansichten den richtigen Dispatcher unabhängig davon abrufen, 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. Zu diesen Schnittstellen gehören: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider.
  • CreationExtras-Integration: ComponentActivity kann jetzt eine zustandslose ViewModelProvider.Factory über CreationExtras des Lebenszyklus 2.5.0 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 wurden ohne Änderungen gegenüber 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 wurden veröffentlicht. 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 wurden veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Das onPanelClosed() von ComponentActivity ruft jetzt auch die Super-onPanelClosed() auf, wodurch ein Problem behoben wurde, 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 wurden 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 wurden veröffentlicht. 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 wurden veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.

Neue Funktionen

  • ComponentActivity implementiert jetzt die OnPictureInPictureModeChangedProvider-Schnittstelle, um Folgendes zuzulassen: Komponente zum Empfangen von Änderungsereignissen des Bild-im-Bild-Modus. (I9f567)
  • ComponentActivity implementiert jetzt die OnMultiWindowModeChangedProvider-Schnittstelle, um Folgendes zuzulassen: Komponente, um Änderungsereignisse für den Mehrfenstermodus zu empfangen. (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 in ViewModel CreationExtras eingebunden werden, die im Rahmen des Lebenszyklus 2.5.0-alpha01 eingeführt wurden. (Ie7e00, b/207012584)
  • ComponentDialog wurde hinzugefügt, eine abgeleitete Klasse von Dialog mit OnBackPressedDispatcher wird aufgerufen, wenn die Zurück-Taste des Systems wenn das Dialogfeld angezeigt wird. Wichtig: legt auch den Wert ViewTreeOnBackPressedDispatcherOwner, Aufrufe sind erlaubt eine allgemeine Methode, um den richtigen Disponenten ob sie in einem ComponentActivity- oder ComponentDialog (I8a1bc)
  • In ComponentActivity wird jetzt das neue OnNewIntentProvider-Schnittstelle, die zugelassen werden soll um diese Ereignisse zu empfangen. (If1f8b)
  • In ComponentActivity wird jetzt das neue OnConfigurationChangedProvider-Schnittstelle, die zugelassen werden soll um diese Ereignisse zu empfangen. (If623b)
  • In ComponentActivity wird jetzt das neue OnTrimMemoryProvider-Oberfläche können alle Komponenten um diese Ereignisse zu erhalten. (Ia9295)

API-Änderungen

  • Der no-Parameter-Konstruktor für ActivityResultContracts.CreateDocument wurde verworfen und durch einen neuen Konstruktor ersetzt mit einem konkreten MIME-Typ (z.B. "image/png") wie von Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • Das OnBackPressedDispatcherOwner können jetzt über die ViewTreeOnBackPressedDispatcherOwner, statt als auf das Streamen von Context zu verlassen. (I74685)

Fehlerkorrekturen

  • Absturz beim Zugriff auf ViewModel behoben zum ersten Mal von einem registerForActivityResult()-Callback oder der LifecycleObserver, die im Rahmen von init von ComponentActivity. (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 wurden veröffentlicht. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

  • In AndroidX ComponentActivity ist jetzt die MenuHost-Schnittstelle implementiert. Dadurch kann jede Komponente Menüpunkte zum ActionBar hinzufügen, indem eine MenuProvider-Instanz zur Aktivität hinzugefügt wird. Jedes MenuProvider-Element kann optional mit einem Lifecycle-Element hinzugefügt werden, das die Sichtbarkeit dieser Menüpunkte basierend auf dem Lifecycle-Status automatisch steuert und das Entfernen von MenuProvider übernimmt, wenn das Lifecycle gelöscht wird.
  • Die Klasse ActivityResultContract wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die korrekte Null-Zulässigkeit für ihre Ein- und Ausgabeklassen definieren können.
  • Die Klasse ActivityResultContracts und ihre Verträge wurden in Kotlin umgeschrieben, um die korrekte Null-Zulässigkeit sicherzustellen.

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

Fehlerkorrekturen

  • ActivityResultRegistry gibt dann kein Ergebnis mehr zurück an ActivityResultCallback, wenn der launch-Aufruf eine Exception. (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 wurden veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

API-Änderungen

  • Der Typ für die ActivityResultContracts.OpenMultipleDocuments und ActivityResultContracts.GetMultipleContents, die dass der Ausgabetyp List<? extends Uri> bei Verwendung des Codes von die Programmiersprache Java. (If71de)
  • Öffentliche Konstanten in den Klassen ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult und ActivityResultContracts.RequestMultiplePermissions sind jetzt bei Verwendung von Kotlin über die öffentlichen Companion-Objekte zugänglich. (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 wurden veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Das Artefakt activity-compose enthält jetzt einen Lint-Fehler LaunchDuringComposition, der verhindert, dass die launch-Methode von ActivityResultLauncher im Rahmen der Zusammensetzung aufgerufen wird, da die Komposition keine Nebenwirkungen haben sollte. Verwende die APIs für den Umgang mit Nebenwirkungen. (7c2bbe, b/191347220)

API-Änderungen

  • Die Klasse ActivityResultContract hat in Kotlin überarbeitet, damit Entwickler können Sie mit benutzerdefinierten Verträgen in Kotlin die Null-Zulässigkeit für ihre Eingabe und Ausgabe korrigieren Klassen. (I8a8f5)
  • Die ActivityResultContracts-Klasse und ihre wurden die Verträge in Kotlin umgeschrieben. Null-Zulässigkeit korrekt ist. (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 wurden veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

  • In AndroidX ComponentActivity ist jetzt die MenuHost-Schnittstelle implementiert. Dadurch kann jede Komponente Menüpunkte zum ActionBar hinzufügen, indem eine MenuProvider-Instanz zur Aktivität hinzugefügt wird. Jedes MenuProvider-Element kann optional mit einem Lifecycle-Element hinzugefügt werden, das die Sichtbarkeit dieser Menüelemente basierend auf dem Lifecycle-Status automatisch steuert und das Entfernen von MenuProvider übernimmt, wenn das Lifecycle gelöscht 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

  • ActivityResultRegistry wirft nun eine IllegalStateException beim Versuch, launch() über eine ActivityResultLauncher, die nicht registriert wurden oder die nicht registriert. (Ida75d, b/192567522)

Externer Beitrag

  • Vielen Dank, dmitrilc, dass du einen Tippfehler in der ActivityResult-Dokumentation korrigiert hast. (#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 der Kotlin-1.5.21 ab.
  • Die Funktion zum Schreiben einer Aktivität hängt jetzt von der Funktion „Schreiben“ (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 wurden veröffentlicht. 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-Vertrag: Der CaptureVideo ActivityResultContract ersetzt den mittlerweile eingestellten TakeVideo-Vertrag und gibt einen booleschen Wert zurück, der den Erfolg für viele Kamera-Apps angibt.
  • Aufrufverfolgung von Bild-im-Bild-Hinweisen: Nutzer von activity-ktx können jetzt die Erweiterungsmethode trackPipAnimationHintView auf Activity verwenden, um PictureInPictureParams automatisch neu zu erstellen, wobei die neue Position der Ansicht berücksichtigt wird, 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 sind jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks nicht in „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 wurden 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.

Die Funktion „activity-compose“ wurde so aktualisiert, dass sie von „1.0.0-beta09 für Schreiben“ abhängig ist. androidx.compose.ui:ui-test-junit4 weist jetzt eine Kompilierungszeitabhängigkeit von activity-compose auf.

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

API-Änderungen

  • Die zuvor verworfene Methode @Composable registerForActivityResult() wurde entfernt. Bitte verwende 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 wurden veröffentlicht. Version 1.3.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Die neue CaptureVideo-ActivityResultContract gibt eine booleschen Werts zu deinem ActivityResultCallback, der angibt, unter dem angegebenen URI gespeichert. 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)
  • Neue API Activity#setPipAnimationHintView zum Aktualisieren hinzugefügt die PipParams“ Quellrechteckhinweis, wenn sich die Ansicht bewegt. (I9063d)

API-Änderungen

  • Die Funktion rememberLauncherForActivityResult gibt jetzt Launcher, der die unregister()-Funktion einstellt. Das Registrieren und Aufheben der Registrierung des Launchers erfolgt automatisch durch rememberLauncherForActivityResult. (I2443e)

Compose-Kompatibilität

  • androidx.activity:activity-compose:1.3.0-alpha08 ist nur mit der E-Mail-Adresse „Compose“ ab Version 1.0.0-beta07 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 wurden veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.

Fehlerkorrekturen

  • rememberLauncherForActivityResult jetzt gibt einen stabilen Verweis ActivityResultLauncher-Instanz Vertragsänderungen aufgrund von Neuzusammensetzungen. (Id2d6d)
  • Instabile Versionen von Fragmenten über 1.3.0 werden nicht mehr verwendet Ein falsch positiver Lint-Fehler wird ausgegeben und Sie werden aufgefordert, 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 wurden veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.

API-Änderungen

  • Die registerForActivityResult() API wurde umbenannt in rememberLauncherForActivityResult(), um besser anzuzeigen, 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“ gibt jetzt Folgendes zurück: Nullwert zulässig, um besser zu bestimmen, ob er verfügbar ist in der aktuellen Komposition. 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 wurde nicht gefunden. NavHost funktioniert jetzt auch wenn kein OnBackPressedDispatcherOwner gefunden wird, Dies ist bei der Vorschau von NavHost der Fall. (I7d8b4)

Fehlerkorrekturen

  • Die BackHandler fängt das Gegendrücken jetzt korrekt ab das Ereignis, dass die Aktivität STOPPED ist, dann wieder STARTED und andere Callbacks wurden mit einem LifecycleOwner hinzugefügt. (I71de6, b/182284739)
  • Methodenerweiterung launch() mit einer benutzerdefinierten ActivityResultContract mit einer Unit-Eingabe verursacht keinen 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 wurden veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Aus Aktivität 1.2.2: Ein Problem bei der Lint-Prüfung für InvalidFragmentVersionForActivityResult, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte, wurde behoben. (I54da1, b/182388985)
  • Aus Aktivität 1.2.2: ComponentActivity vermeidet nun ClassNotFoundException, wenn ein Intent aus einem ActivityResultContract gestartet wird, das zuvor in einem anderen Intent als Extra vorhanden war. (Ieff05, b/182906230)

Aktualisierung der Abhängigkeiten

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

Fehlerkorrekturen

  • Aus Aktivität 1.2.1: RequestMultiplePermissions gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen und nicht nur für Berechtigungen zurück, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)
  • Aus Aktivität 1.2.1: ActivityResultRegistry sorgt jetzt dafür, dass in Bearbeitung launch()-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sie unregister() und dann noch einmal mit demselben Schlüssel register(). (I9ef34, b/181267562)
  • Beim Erstellen der Aktivität wird kein Test mehr hinzugefügt zum Laufzeit-Klassenpfad 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 wurden veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Es gibt jetzt eine zusammensetzbare Funktion registerForActivityResult um Ergebnisse aus Aktivitäten innerhalb zusammensetzbarer Funktionen zu erhalten. (Ia7851, b/172690553)

API-Änderungen

  • LocalOnBackPressedDispatcherOwner hat jetzt eine provides-Funktion, die wird mit CompositionLocalProvider verwendet, wodurch die asProvidableCompositionLocal() API ersetzt wird. (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 wurden veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem in „Erstellen von Aktivitäten“ 1.3.0-alpha01 behoben, das bei der Verwendung von „Schreiben“ 1.0.0-alpha12 eine NoSuchMethodError: No static method setContent-Ausnahme verursachte. 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 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 du die Funktion „Erstellen von Aktivitäten“ 1.3.0-alpha01 und Bibliotheken verwendest, 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 wurden veröffentlicht. Version 1.2.4 enthält diese Commits.

Fehlerkorrekturen

  • Aus Activity 1.3.0-rc02: ActivityResultRegistry-Rückrufe werden jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks nicht im savedState-Wert 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 wurden veröffentlicht. Version 1.2.3 enthält diese Commits.

Fehlerkorrekturen

  • Methodenerweiterung launch() mit einer benutzerdefinierten ActivityResultContract mit einer Unit-Eingabe verursacht keinen NullPointerException (I76282, b/183837954)
  • Es wurde ein falsch positiver Lint-Fehler behoben, der dazu aufforderte, Fragment 1.3.0 zu verwenden, wenn ein Snapshot-, Alpha-, Beta- oder RC-Build einer neueren Version von Fragmenten verwendet wurde. (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 wurden veröffentlicht. Version 1.2.2 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem bei der Lint-Prüfung von InvalidFragmentVersionForActivityResult behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte. (I54da1, b/182388985)
  • ComponentActivity vermeidet nun ClassNotFoundException, wenn ein Intent von einem ActivityResultContract gestartet wird, das zuvor in einem anderen Intent als Extra vorhanden war. (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 wurden veröffentlicht. Version 1.2.1 enthält diese Commits.

Fehlerkorrekturen

  • RequestMultiplePermissions gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen und nicht nur für Berechtigungen zurück, 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 wurden veröffentlicht. Version 1.2.0 enthält diese Commits.

Große Änderungen seit Version 1.1.0

  • Aktivitätsergebnis-APIs: ComponentActivity bietet jetzt eine ActivityResultRegistry, mit der du startActivityForResult()+onActivityResult()- und requestPermissions()+onRequestPermissionsResult()-Abläufe verarbeiten kannst, ohne Methoden in deiner Aktivität oder deinem Fragment zu überschreiben. Außerdem bietet ComponentActivity eine höhere Typsicherheit über ActivityResultContract und bietet Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Abschnitt Ergebnisse aus einer Aktivität abrufen.
  • ContextAware: ComponentActivity implementiert jetzt ContextAware, sodass Sie eine oder mehrere OnContextAvailableListener-Instanzen hinzufügen können, die vor der Basis-Activity.onCreate() einen Callback erhalten.

    • Mit der sperrenden Kotlin-Erweiterung withContextAvailable() können Sie einen nicht sperrenden Block 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 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.
  • Unterstützung durch ViewTree: ComponentActivity unterstützt jetzt die APIs ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) und ViewTreeSavedStateRegistryOwner, die in Lebenszyklus 2.3.0 und SavedState 1.1.0 hinzugefügt wurden. Dadurch wird die Aktivität als LifecycleOwner, ViewModelStoreOwner und SavedStateRegistryOwner für alle Ansichten zurückgegeben, die direkt zu ComponentActivity hinzugefügt wurden.

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

Fehlerkorrekturen

  • ActivityResultRegistry stellt nun immer den genauen Status wieder her das gespeichert wurde. (Idd56b)
  • Tracing zu ComponentActivity.reportFullyDrawn hinzufügen (Ic7632)

Externer Beitrag

  • ComponentActivity überschreibt jetzt reportFullyDrawn(), sodass die Methode auf allen API-Ebenen aufgerufen werden kann und ein Absturz beim Aufrufen dieser Methode ohne die entsprechende Systemberechtigung auf API-19-Geräten behoben 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 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 warten, bis der Lebenszyklus STARTED ist, Liefern von Ergebnissen, wenn sie mit einem Lifecycle registriert sind. (I109ea)

Externer Beitrag

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

Fehlerkorrekturen

  • Die ActivityResultRegistry generiert nun nach dem Zufallsprinzip Ganzzahlen, bis sie eine findet, die nicht für die Verwendung als Anfragecode register() zugewiesen ist. Dadurch wird der mögliche Überlauf von Ganzzahlen aufgrund der Erhöhung der Anfragecodes verhindert. (b/168779518)

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

Änderungen im Verhalten

  • ActivityResultRegistry gibt jetzt eine IllegalStateException aus, 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 wurden veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.

Neue Funktionen

  • In ComponentActivity wird jetzt ContextAware implementiert. Sie können also eine oder mehrere OnContextAvailableListener-Instanzen hinzufügen, die vor der Basis-Activity.onCreate() einen Callback erhalten. (b/161390636) <ph type="x-smartling-placeholder">
      </ph>
    • Mit der sperrenden Kotlin-Erweiterung withContextAvailable() können Sie einen nicht sperrenden Block 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 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

  • Es wurde ein Problem mit der ActivityResultFragmentVersionDetector-Lint-Prüfung behoben, die bei Verwendung von Lint 27.1.0 oder höher zu Fehlern 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 wurden veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Es wurde eine neue InvalidFragmentVersionForActivityResult-Lint-Prüfung hinzugefügt, die bestätigt, dass Sie Fragment 1.3.0-alpha07 bei der Nutzung der Activity Result API verwenden, um Laufzeitabstürze aufgrund von Problemen mit „ungültigen Anfragecodes“ und nicht funktionierenden Berechtigungsanfragen zu vermeiden, die durch die Verwendung älterer Versionen von Fragmenten verursacht wurden. (b/152554847)

Externer Beitrag

  • Ein ArrayIndexOutOfBoundsException wurde behoben, Parsen der Ergebnisse für die RequestPermission-Aktivität Ergebnisvertrag. (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 wurden veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Du kannst die ActivityResult-Klasse in Kotlin jetzt destrukturieren zu direkt auf requestCode und intent zugreifen. (b/157212935)
  • Mit ActivityResultLauncher können Sie jetzt Folgendes abrufen: ActivityResultContract, mit dem der Launcher registriert wurde. (b/156875743)

API-Änderungen

  • Nicht abwärtskompatible Änderung: Die Methode invoke() für ActivityResultRegistry wurde in onLaunch() umbenannt. (b/157496491)
  • Der Vertrag über OpenMultipleDocuments gibt jetzt eine leere Liste zurück statt null an den registrierten Callback zu senden, 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 wurden veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.

Neue Funktionen

API-Änderungen

  • Der TakePicture-Vertrag gibt jetzt eine boolean anstelle einer Miniaturansicht Bitmap zurück, die von Kamera-Apps beim Schreiben des Bildes in die bereitgestellten Uri nur sehr selten unterstützt wurde. (b/154302879)
  • Die invoke()-Erweiterungen für ActivityResultLauncher wurden entfernt. Stattdessen wird jetzt launch() verwendet, um besser anzugeben, 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 muss. Dieses Verhalten entspricht diesem Verhalten der vorherigen invoke()-Erweiterungen. (aosp/1304674, aosp/1304675)
  • Die IntentSenderRequest.Builder-Methoden für setFlagsMask() und setFlagsValues() wurden zu einer einzigen setFlags()-Methode kombiniert. (aosp/1302111).

Fehlerkorrekturen

  • Beim Registrieren einer ActivityResultCallback mit einem LifecycleOwner wurde ein Problem behoben, bei dem der Callback ausgelöst wurde, bevor der Status STARTED erreichte. (aosp/1309744)

Änderungen im Verhalten

  • ActivityResultRegistry generiert nun Anfragecodes ab 0xFFFF statt bei 0. Dadurch werden Überschneidungen vermieden, wenn startActivityForResult() oder requestPermissions() in einer Aktivität verwendet werden. (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 wurden veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Es wurde ein Vertrag hinzugefügt, der startIntentSenderForResult an die ActivityResult APIs aufrufen kann. (b/153007517)

API-Änderungen

  • Die Methode prepareCall() wurde in registerForActivityResult() umbenannt, sowohl auf ComponentActivity hier 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)
  • Mit ComponentActivity wird jetzt die ActivityResultRegisteryOwner-Schnittstelle implementiert. (aosp/1290888)
  • – Die APIs startActivityForResult()/onActivityResult() und onRequestPermissionsResult() in ComponentActivity wurden eingestellt. Verwende die Activity Result APIs. (b/154751887)

Fehlerkorrekturen

  • Wenn du die Verträge GetMultipleContents und OpenMultipleDocuments verwendest und ein einzelnes Element auswählst, wird es 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 wurden 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 den vordefinierten Verträgen von ActivityResultContracts hinzugefügt. (aosp/1262482, aosp/1266916, aosp/1268960)
  • Die Activity Result APIs unterstützen jetzt das Starten einer Aktivität für Ergebnisse mit einem 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() für 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 Methode createIntent() von ActivityResultContact verwendet jetzt zusätzlich zur Eingabe einen Context, um das Erstellen expliziter Intents zu ermöglichen. (aosp/1238800)
  • Ein ActivityResultContract kann jetzt getSynchronousResult() überschreiben, um ein Ergebnis zu liefern, ohne startActivityForResult aufzurufen. Diese wird von den Verträgen RequestPermission und RequestPermissions verwendet, um den Status „Erteilt“ korrekt bereitzustellen, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799)
  • Der zuvor verfügbare Dial-Vertrag 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 ActivityResultRegistry-Methoden mit Ausnahme von invoke() sowie eine Reihe der Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)

Fehlerkorrekturen

  • Ein NullPointerException wurde in ActivityResultRegistry behoben, wenn versucht wurde, Ergebnisse an einen Callback zu liefern, der nach einer Konfigurationsänderung noch nicht erneut registriert wurde. ActivityResultRegistry behält diese ausstehenden Ergebnisse jetzt bei und liefert 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 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() und requestPermissions()+onRequestPermissionsResult() verarbeiten können, ohne die Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem bietet ComponentActivity eine höhere Typsicherheit über ActivityResultContract und bietet 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 die Aktivität für alle direkt zur Aktivität hinzugefügten Ansichten als LifecycleOwner zurückgegeben wird. (aosp/1182955)

Fehlerkorrekturen

  • Es wurde eine Regression behoben, die in Aktivität 1.1.0 bei der Ausführung auf älteren Versionen der Plattform eingeführt wurde, bei der onBackPressed() aufgrund eines Fehlers im android.app.FragmentManager ein IllegalStateException verursachte. (b/146290338)

Version 1.1.0

Version 1.1.0

22. Januar 2020

androidx.activity:activity:1.1.0 wurde 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 Standard-Factory, die verwendet wird, wenn by viewModels(), der ViewModelProvider-Konstruktor oder ViewModelProviders.of() mit einem ComponentActivity oder dessen abgeleiteten Klassen 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 wurden veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.

Abhängigkeitsänderungen

  • Die Aktivität hängt jetzt vom Lebenszyklus 2.2.0-rc03 und dem Lebenszyklusansichtsmodell 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 wurden veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.

Abhängigkeitsänderungen

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

Abhängigkeitsänderungen

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

Neue Funktionen

  • Die Aktivität hängt jetzt von der stabilen Version von Core 1.1.0 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 wurden veröffentlicht. 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. Sie müssen es nicht mehr explizit zu Ihren Abhängigkeiten hinzufügen, wenn Sie activity-ktx oder von activity-ktx abhängige Bibliotheken verwenden (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 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 ist automatisch enthalten, wenn Sie fragment-ktx aus Fragment 1.1.0 einschließen.
  • 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. Eine Lambda-Funktion mit der Empfängerversion addCallback wurde zu activity-ktx hinzugefügt. Weitere Informationen finden Sie im Hilfeartikel Benutzerdefinierte Rückwärtsnavigation 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 wurden 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

  • Nicht abwärtskompatible Änderung: Die zuvor verworfenen Methoden addOnBackPressedCallback und removeOnBackPressedCallback für ComponentActivity wurden entfernt. aosp/953857
  • Die Methoden setEnabled() und isEnabled() von OnBackPressedCallback sind jetzt endgültig. b/131416833
  • Die Methode remove() von OnBackPressedCallback ist jetzt endgültig. aosp/952720
  • OnBackPressedDispatcher verfügt jetzt über öffentliche Konstruktoren, mit denen Sie Ihre eigenen Instanzen für Tests usw. erstellen können. aosp/953431
  • onBackPressed() für ComponentActivity ist jetzt explizit als @MainThread aosp/952721 gekennzeichnet

Fehlerkorrekturen

  • Ein ConcurrentModificationException wurde behoben, wenn remove() innerhalb der handleOnBackPressed()-Methode eines OnBackPressedCalback aufgerufen wurde, das mit einer 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 wurden veröffentlicht. 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. Dabei muss die Schaltfläche „Zurück“ verarbeitet werden. (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, sodass du remove() während handleOnBackPressed() aufrufen kannst. (aosp/944519) (aosp/946316)
  • activity-ktx enthält jetzt einen empfängerbezogenen Callback für addCallback, der eine Lamba 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 verwendet, der das vorherige Verhalten beim Annotieren der AppCompatActivity-Klasse durch @ContentView ersetzt. Dieser Ansatz funktioniert sowohl in Anwendungs- als auch in Bibliotheksmodulen. (b/128352521)
  • Die mit OnBackPressedCallback verbundenen APIs für ComponentActivity wurden zugunsten der neuen OnBackPressedDispatcher eingestellt, die über getOnBackPressedDispatcher() abgerufen werden kann. (aosp/922523)
  • Methoden zum Hinzufügen einer neuen OnBackPressedCallback zu OnBackPressedDispatcher geben jetzt ein Cancellable-Objekt zurück, wodurch der Callback entfernt werden kann, ohne dass ein expliziter Verweis auf 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 veröffentlicht. Vollständige Liste der Commits finden Sie hier.

Neue Funktionen

  • @ContentView-Annotationssuchen 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 wurden veröffentlicht.

Neue Funktionen

  • Die @ContentView-Klassenanmerkung wird jetzt unterstützt, mit der Sie angeben können, welche Layout-XML-Datei als Alternative zu setContentView() aufgeblasen 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. Reichen Sie eine Funktionsanfrage ein, wenn Sie diese Methode momentan überschreiben. (aosp/837619)

Fehlerkorrekturen

  • Das activity-Modul hängt nun 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 hängt von der neu veröffentlichten SavedState-Bibliothek [aosp/815133] ab
  • ComponentActivity funktioniert jetzt um einen Android-Framework-Fehler, der dazu führen würde, dass InputMethodManager die letzte fokussierte Ansicht ausfindig macht [b/37122102].

Version 1.0.0-alpha02

3. Dezember 2018

API-Änderungen

  • Es wurde ein Hinweis hinzugefügt, dass getLifecycle() nicht überschrieben und vorgenommen wird final in einer zukünftigen Version. Bitte reichen Sie ein Element ein. überschreiben diese Methode derzeit. (aosp/815834)

Version 1.0.0-alpha01

5. November 2018

androidx.activity 1.0.0-alpha01 stellt vor ComponentActivity, eine neue Basisklasse der vorhandenen FragmentActivity und AppCompatActivity.

Neue Funktionen

  • Sie können jetzt einen OnBackPressedCallback über addOnBackPressedCallback registrieren zum Empfangen von onBackPressed()-Callbacks, ohne die Methode überschreiben zu müssen in Ihren Aktivitäten.
  • Neuer Kotlin-Attributdelegierung für by viewModels() zum Abrufen hinzugefügt ViewModel s von einem ComponentActivity.
  • Ausstehende Eingabeereignisse wie Klicks werden jetzt in onStop() abgebrochen.

API-Änderungen

  • Die Implementierung von LifecycleOwner und ViewModelStoreOwner wurde von FragmentActivity nach ComponentActivity verschoben.
  • onRetainCustomNonConfigurationInstance wurde verworfen. Verwenden Sie ViewModel zum Speichern von Objekten, die Konfigurationsänderungen beibehalten müssen.