Aktivitäten

Greifen Sie auf zusammensetzbare APIs auf der Grundlage von Activity zu.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
17. April 2024 1.9.0

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von Activity müssen Sie Ihrem Projekt das Maven-Repository von Google 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 benötigten Artefakte hinzu:

Groovig

dependencies {
    def activity_version = "1.9.0"

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

Kotlin

dependencies {
    val activity_version = "1.9.0"

    // 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. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.9

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 ermöglichen können.
  • Die OnBackPressedCallback-, BackHandler- und PredictiveBackHandler-APIs senden jetzt eine Warnung, wenn onBackPressedDispatcher.onBackPressed() bei der Antwort aufgerufen wird, da dies die Predictive Back Animation immer unterbricht. Weitere Informationen finden Sie im Best Practices-Leitfaden.
  • Die übrigen Activity APIs wurden in Kotlin neu geschrieben und alle Erweiterungen, die zuvor in activity-ktx verfügbar waren, wurden zu activity verschoben. activity-ktx ist nun vollständig leer.
    • Im Rahmen der Konvertierung von ActivityResultLauncher zu Kotlin ist die getContract-Methode jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist zwar mit Binärprogrammen kompatibel, es treten jedoch Fehler auf, wenn die Implementierung von ActivityResultLauncher in Kotlin geschrieben wurde.

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.

Abhängigkeitsupdate

Version 1.9.0-beta01

20. März 2024

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

Fehlerkorrekturen

  • Es wurde eine Leistungsabnahme beim Start von Aktivitäten behoben, die in Aktivität 1.9.0-alpha02 eingeführt wurde, indem OnBackPressedDispatcher bei der Erstellung 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 wurden veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.

Flutwarnung

Fehlerkorrekturen

  • Wenn ein „Zurück“-Ereignis von dem System gesendet wird, das während einer bereits ausgeführten Bewegung für einen bereits laufenden Rücken gestartet wurde, wird die aktuell ausgeführte „Zurück“-Geste abgebrochen und das neue „Zurück“-Ereignis übernimmt, um eine neue vorausschauende Rückbewegung zu starten. (I3482e)
  • Ein Absturz beim ersten Zugriff auf onBackPressedDispatcher von einem ComponentActivity aus einem Hintergrundthread wurde behoben. Sie können jetzt in allen Threads sicher auf onBackPressedDispatcher zugreifen. (I79955)

Version 1.9.0-alpha02

24. Januar 2024

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

Kotlin-Conversions

  • ActivityResultRegistry wurde in Kotlin neu geschrieben. Dadurch wird sichergestellt, dass die Ungültigkeit der Generika im Vertrag, der an register weitergegeben wurde, korrekt an das an Sie zurückgegebene ActivityResultLauncher weitergegeben wird. I121f0
  • ActivityResult wurde in Kotlin neu geschrieben. Die Kotlin-Erweiterungen ActivityResult, die das Destrukturieren in die Felder resultCode und data unterstützen, wurden von activity-ktx nach activity verschoben. (I0565a)
  • Die Kotlin-Erweiterungen by viewModels() für ComponentActivity und trackPipAnimationHintView wurden von activity-ktx nach activity verschoben. Das Artefakt activity-ktx ist jetzt vollständig leer. (I0a444)

Fehlerkorrekturen

  • Die enableEdgeToEdge API umgibt jetzt alle Display-Aussparungen. (a3644b, b/311173461)
  • Aus Aktivität 1.8.2: Der zusätzliche Wert, der an den Vertrag für die Fotoauswahl-Aktivität ACTION_SYSTEM_FALLBACK_PICK_IMAGES übergeben wurde, wurde korrigiert, sodass der Schlüssel EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX korrekt übergeben wurde, anstatt das Extra mit dem Schlüssel "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" zu verwenden. Es wird dringend empfohlen, wenn Sie ein OEM sind, der einen System-Fallback-Bild-Picker implementiert, um beide Extras zu unterstützen und so eine möglichst breite Kompatibilität sicherzustellen. (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 ermöglichen können. (I54892)

API-Änderungen

  • ComponentActivity wurde in Kotlin neu geschrieben. (I14f31)
  • ActivityResultCaller wurde in Kotlin neu geschrieben. (Ib02e4)
  • ActivityResultLauncher wurde in Kotlin neu geschrieben. Im Rahmen dieser Konvertierung ist die Methode getContract jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist zwar mit Binärprogrammen kompatibel, es treten jedoch Fehler auf, wenn die Implementierung von ActivityResultLauncher in Kotlin geschrieben wurde. (Id4615)
  • PickVisualMediaRequest hat jetzt dasselbe Mindest-API-Level von 19 wie der Vertrag mit den Ergebnissen der PickVisualMedia-Aktivität. (Id6e21)

Abhängigkeitsaktualisierung

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

  • Der zusätzliche Wert, der an den ACTION_SYSTEM_FALLBACK_PICK_IMAGES des Vertrags für die Fotoauswahl-Aktivität übergeben wurde, wurde korrigiert, sodass der EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX-Schlüssel korrekt übergeben wurde, anstatt das Extra mit dem Schlüssel "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" zu verwenden. Es wird dringend empfohlen, wenn Sie ein OEM sind, der einen System-Fallback-Bild-Picker implementiert, um beide Extras zu unterstützen und so eine möglichst breite Kompatibilität sicherzustellen. (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 jetzt weiter an die richtige OnBackPressedCallback, auch nachdem eine neue OnBackPressedCallback hinzugefügt wurde, während die „Zurück“-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 das Starten der Zurück-Geste, den Fortschritt während der gesamten Geste und das Abbrechen der Zurück-Geste zusätzlich zum handleOnBackPressed()-Callback für den Zeitpunkt, an dem die Zurück-Geste für den Commit der Zurück-Geste abgebrochen wird. Dazu gehört auch die zusammensetzbare Funktion PredictiveBackHandler, mit der vorausschauende Touch-Gesten zum Zurückgehen in der Aktivität erstellt werden können. Sie stellt einen Ablauf der BackEventCompat-Objekte bereit, die in der von Ihnen bereitgestellten sperrenden Lamba 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ückantwort eingestellt. Entwickler sollten jetzt die OnBackPressedDispatcher verwenden, anstatt diese Methode zu überschreiben.

  • EdgeToEdge: ComponentActivity.enableEdgeToEdge() wurde hinzugefügt, um das randlose Display einfach und 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.

Verbesserung der Dokumentation

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

Version 1.8.0-alpha07

23. August 2023

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

Neue Funktionen

  • Für die Funktion „Aktivität erstellen“ wurde die neue zusammensetzbare Funktion PredictiveBackHandler hinzugefügt, um vorausschauende Touch-Gesten-Ereignisse zu verarbeiten. Sie gibt ein Flow mit BackEventCompat Objekten an, die in der von dir angegebenen sperrenden Lamba 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 gibt es eine Warnung zur Kompilierungszeit über eine Lint-Regel, damit Flow collect() aufruft. (Id2773, b/294884345)

  • Das onBackPressedDispatcher in ComponentActivity wird jetzt verzögert initialisiert, sodass es 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 lautete. (Idb055, b/291869278)
  • Die Verwendung der experimentellen isAtLeastU() API (Ie9117, b/289269026) wurde entfernt.

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

  • Die OnBackPressedDispatcher bricht jetzt alle Callbacks korrekt ab, die während einer vorausschauenden Rückbewegung entfernt werden. (I3f90f)

API-Änderungen

  • Wenn Sie SystemBarStyle.auto an die enableEdgeToEdge API übergeben, können Sie jetzt den Lambda-Parameter detectDarkMode überschreiben, um eine benutzerdefinierte Logik für die 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

  • Activity bietet jetzt eine BackEventCompat-Klasse, die als abwärtskompatible Version von BackEvent dient, die von der BackEvent-Framework-Klasse entkoppelt ist.
  • Nicht funktionsgefährdende Änderung: Die Methoden handleOnBackStarted und handleOnBackProgressed von OnBackPressedCallback erhalten jetzt eine androidx.activity.BackEventCompat-Instanz anstelle einer android.window.BackEvent-Framework-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 Callback zu erhalten, wenn sich die Anzahl der aktivierten Callbacks von null zu nicht null oder umgekehrt ändert.

Fehlerkorrekturen

  • In Aktivität 1.7.2: Beheben Sie das Problem mit ReportDrawn, das beim Verlassen eines Bildschirms abgestürzt ist, bevor report aufgerufen wird. (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 Rückantwort eingestellt. Entwickler sollten jetzt die OnBackPressedDispatcher verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)
  • ComponentDialog und ComponentActivity enthalten jetzt die öffentliche API initViewTreeOwners(), mit der alle Inhaber von Ansichtsstrukturen initialisiert werden, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem Fragmente MenuHosts fälschlicherweise ungültig machten, was dazu führte, dass andere Menüs in der Aktivität ein unerwartetes Verhalten aufwiesen. (I9404e, b/244336571)

Weitere Änderungen

  • ActivityResultRegister verwendet jetzt Kotlin Random anstelle von Java. (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. Entwickelt aus einem internen Zweig.

Abhängigkeitsupdate

Version 1.8.0-alpha01

8. Februar 2023

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

Neue Funktionen

  • Die Klasse OnBackPressedCallback enthält jetzt neben dem vorherigen Callback handleOnBackPressed() für den Zeitpunkt, an dem die „Zurück“-Geste ausgeführt wird, neue Callbacks für die „Zurück“-Geste für das Starten der Zurück-Geste, den Fortschritt während der gesamten Geste und das Abbrechen der Zurück-Geste.

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

  • Behebung eines Absturzes von ReportDrawn beim Verlassen eines Bildschirms, bevor report aufgerufen wird. (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

  • Das ReportFullyDrawExecuter läuft 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 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 eine zusätzliche Alternative für den Fall, dass MediaStore.ACTION_PICK_IMAGES nicht verfügbar ist. Diese Option ermöglicht OEMs und System-Apps wie Google Play-Diensten eine einheitliche Bildauswahl auf einer größeren Anzahl von Android-Geräten und API-Ebenen durch Implementierung der Fallback-Aktion. Die Bildauswahl verwendet diese Alternative, wenn sie verfügbar ist, bevor auf Intent.ACTION_OPEN_DOCUMENT zurückgegriffen wird, das weiterhin alle Geräte mit API 19 und höher unterstützt.
  • ComponentDialog implementiert jetzt SavedStateRegistryOwner, hat Zugriff auf seine eigene SavedStateRegistry und legt SavedStateRegistryOwner für seine ViewTree fest. Jetpack Compose kann jetzt innerhalb einer ComponentDialog verwendet werden, da es sowohl die LifecycleOwner als auch die SavedStateRegistryOwner erfüllt, die über die ViewTree API-Anforderungen an das Fenster angehängt sind.
  • Mit IntentSenderRequest.Builder.setFlags() können Sie jetzt mehrere Flags aus Intent festlegen, anstatt nur ein einziges Flag zu verwenden.

Kotlin-Konvertierung

Eine Reihe von Activity-Klassen wurden in Kotlin konvertiert. Alle konvertierten Klassen behalten ihre Binärkompatibilität mit früheren Versionen. Für Klassen, die in Kotlin geschrieben wurden, wurden Änderungen an den folgenden mit der Quelle nicht kompatiblen Änderungen vorgenommen: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

In der folgenden Tabelle sind die Quell-Conversions für die neue Version der 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

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

FullyDrawnReporter-APIs

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

Es wird empfohlen, diese APIs zu aktivieren:

  • Signalisieren der Android Runtime, wenn der Start abgeschlossen ist, 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.
  • Anhand von Makro-Benchmark- und Play Vitals-Signalen erkennen Sie, wann Ihre App hinsichtlich Startmesswerten vollständig analysiert werden sollte, damit Sie die Leistung verfolgen können.

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

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

Aktualisierungen von 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.

Abhängigkeitsupdate

Version 1.7.0-beta02

22. Februar 2023

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

API-Änderungen

  • Die Aktion und das Extra, die von den PickVisualMedia- und PickMultipleVisualMedia-Verträgen als Fallback für den Fall verwendet werden, dass MediaStore.ACTION_PICK_IMAGES nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps, die eine einheitliche Bildauswahl bieten möchten, API-Stabilität bereitstellen. 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 aus Intent festlegen, anstatt nur ein einziges Flag zu verwenden. (Iac04c)

Fehlerkorrekturen

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

Kotlin-Conversions

  • ActivityResultRegistryOwner wird jetzt in Kotlin geschrieben. Dies ist eine mit der Quelle nicht kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt das Attribut activityResultRegistry überschreiben, anstatt die vorherige Funktion getActivityResultRegistry() zu implementieren. (I0b00e)
  • OnBackPressedDispatcherOwner wird jetzt in Kotlin geschrieben. Dies ist eine mit der Quelle nicht kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt das Attribut onBackPressedDispatcher überschreiben, anstatt die vorherige Funktion getOnBackPressedDispatcher 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

  • Sofern verfügbar, wird für die Verträge zu Aktivitätsergebnissen für PickVisualMedia und PickMultipleVisualMedia jetzt eine von Google Play-Diensten bereitgestellte Bildauswahl verwendet, wenn die Bildauswahl des Android-Systems zur Verfügung steht (z.B. MediaStore.ACTION_PICK_IMAGES) ist nicht verfügbar. Die isPhotoPickerAvailable() API, die nur die Bildauswahl von Android-Systemen erkennt, wurde eingestellt. Wir empfehlen die Verwendung der neuen isPhotoPickerAvailable(Context) API, die wieder aktiviert 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 wurden veröffentlicht. 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 innerhalb eines ComponentDialog verwendet werden, da es sowohl die LifecycleOwner als auch die SavedStateRegistryOwner erfüllt, die über die ViewTree API-Anforderungen an das Fenster angehängt sind. (Idca17, I73468 b/261162296)

API-Änderungen

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

Kotlin-Conversions

  • Die Klassen ActvitiyResultCallback und OnBackPressedCallback wurden unter Wahrung der Quell- und Binärkompatibilität 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 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 bietet jetzt eine FullyDrawnReporter-Instanz, mit der mehrere Komponenten Berichte erstellen können, wenn sie bereit für eine Interaktion sind. ComponentActivity wartet, bis alle Komponenten abgeschlossen sind, und ruft dann reportFullyDrawn() in Ihrem Namen auf. Diese APIs übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw-Aufrufs aufgerufen werden.

Es wird empfohlen, diese APIs zu aktivieren:

  • Signalisieren der Android Runtime, wenn der Start abgeschlossen ist, 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.
  • Anhand von Makro-Benchmark- und Play Vitals-Signalen erkennen Sie, wann Ihre App hinsichtlich Startmesswerten vollständig analysiert werden sollte, damit Sie die Leistung verfolgen können.

Es wurden zwei Activity Compose APIs hinzugefügt, um die Verwendung des 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 Sperrmethode, die nach Abschluss anzeigt, dass Sie bereit für eine Interaktion sind.

Version 1.6.1

Version 1.6.1

24. Oktober 2022

androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 und androidx.activity:activity-ktx:1.6.1 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 hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, der MediaStore.ACTION_PICK_IMAGES verwendet, wenn die Bildauswahl verfügbar ist, und Intent.ACTION_OPEN_DOCUMENT, wenn sie nicht verfügbar ist.
  • OnBackInvokedCallback wurde in Android 13 in die von ComponentActivity und ComponentDialog bereitgestellten OnBackPressedDispatchers integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine vorhergesehene Zurück-Geste aktiviert wird.

Version 1.6.0-rc02

7. September 2022

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

Fehlerkorrekturen

  • OnBackPressedDispatcher registriert die OnBackInvokedCallback jetzt mit der 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 Exception auslöst und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)
  • ComponentActivity sendet Menüaufrufe jetzt korrekt, ohne dass die Superfunktion in Ihrer Aktivität aufgerufen werden muss. (Ie33c5, b/238057118)

Abhängigkeitsaktualisierung

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 ClassVerificationError-Werten, wenn SDK-Versionen vor 33 verwendet werden. (Ic32e1)
  • Bei Klassen, die den onPictureInPictureModeChanged()-Callback von ComponentActivity überschreiben, werden jetzt immer ihre 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 veralteten Methoden startActivityForResult und startIntentSenderForResult wurden für ComponentActivity mit @NonNull gekennzeichnet, da die Übergabe 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 Exception auslöst und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)
  • Von Aktivität 1.5.1: ComponentActivity leitet jetzt Menüaufrufe korrekt an die Überschreibungen onPrepareOptionMenu(), onCreateOptionsMenu() und onOptionsItemSelected() weiter, ohne dass die Super-Funktion aufgerufen werden muss. (Ie33c5, b/238057118)

Abhängigkeitsaktualisierung

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 Zweig für Vorabveröffentlichungen entwickelt und verfügt über keine öffentlichen Commits.

API-Änderungen

  • minCompileSdk ist jetzt 33, was dem Tiramisu Beta 3 SDK entspricht

Fehlerkorrekturen

  • Ein Absturz auf älteren Geräten wurde behoben, der bei der Prüfung der SDK-Erweiterung für die PickVisualMedia-ActivityResultContract durchgeführt wurde, sodass sie jetzt auf Geräten mit Android 10 und niedriger auch mit ACTION_OPEN_DOCUMENT funktionieren sollte.

Version 1.6.0-alpha04

18. Mai 2022

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

Fehlerkorrekturen

  • Ein Fehler in PickVisualMediaRequest wurde behoben, bei dem der Versuch, eine Anfrage entweder über den Builder oder die Kotlin-Funktion der obersten Ebene zu erstellen, zu einem Stacküberlauf führte.
  • OnBackInvokedCallback wurde in Android 13 Dev Beta 2 in die von ComponentDialog bereitgestellte OnBackPressedDispatcher integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine vorausschauende „Zurück“-Geste aktiviert wird.

Version 1.6.0-alpha03

27. April 2022

androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 und androidx.activity:activity-ktx:1.6.0-alpha03 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 hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, der MediaStore.ACTION_PICK_IMAGES verwendet, wenn die Bildauswahl verfügbar ist, und Intent.ACTION_OPEN_DOCUMENT, wenn sie nicht verfügbar ist.
  • OnBackInvokedCallback in Android 13 Dev Beta 1 wurde in OnBackPressedDispatcher von ComponentActivity integriert. Dadurch wird sichergestellt, dass alle auf OnBackPressedDispatcher basierenden APIs funktionieren, wenn eine vorausschauende „Zurück“-Geste aktiviert wird.

Version 1.6.0-alpha01

23. März 2022

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

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

Neue Funktionen

  • Änderungen in Android 13 Dev Preview 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 an ActivityResultCallback zurück, wenn der launch()-Aufruf Exception auslöst und der Callback ohne LifecycleOwner registriert wurde. (Ia7ff7, b/238350794)

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

Abhängigkeitsupdate

Version 1.5.0

Version 1.5.0

29. Juni 2022

androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 und androidx.activity:activity-ktx:1.5.0 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 Systemschaltfläche „Zurück“ gedrückt wird und das Dialogfeld angezeigt wird. Wichtig ist, dass diese Unterklasse auch den ViewTreeOnBackPressedDispatcherOwner festlegt, wodurch Ansichten eine allgemeine Möglichkeit bieten, den richtigen Disponenten abzurufen, unabhängig davon, ob er in einem ComponentActivity oder einem ComponentDialog vorhanden ist.
  • Callback-SchnittstellenComponentActivity implementiert jetzt eine Reihe von modularen Callback-Schnittstellen, die anstelle der Activity-Callbacks verwendet werden können. Zu diesen Schnittstellen gehören: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • CreationExtras-Integration: ComponentActivity bietet jetzt die Möglichkeit, eine zustandslose ViewModelProvider.Factory über die CreationExtras des Lebenszyklus 2.5.0 bereitzustellen.

Sonstige Änderungen

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

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 im Vergleich zu 1.5.0-beta01 ohne Änderungen 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.

Aktualisierungen von 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

  • Die onPanelClosed() von ComponentActivity ruft jetzt auch die Super-onPanelClosed() auf, wodurch ein Problem behoben wird, bei dem die onContextMenuClosed-Methode 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, damit jede Komponente Änderungsereignisse für den Bild-im-Bild-Modus empfangen kann. (I9f567)
  • ComponentActivity implementiert jetzt die OnMultiWindowModeChangedProvider-Schnittstelle, damit jede Komponente Änderungsereignisse im Mehrfenstermodus empfangen kann. (I62d91)

Version 1.5.0-alpha01

26. Januar 2022

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

Neue Funktionen

  • ComponentActivity ist jetzt in ViewModel CreationExtras eingebunden, die im Rahmen des Lebenszyklus 2.5.0-alpha01 eingeführt wurden. (Ie7e00, b/207012584)
  • ComponentDialog, eine abgeleitete Klasse von Dialog, wurde hinzugefügt. Sie enthält ein OnBackPressedDispatcher, das aufgerufen wird, wenn die Systemschaltfläche „Zurück“ gedrückt wird und das Dialogfeld angezeigt wird. Wichtig ist, dass bei dieser Unterklasse auch der ViewTreeOnBackPressedDispatcherOwner festgelegt wird, sodass Ansichten eine allgemeine Möglichkeit bieten, den richtigen Disponenten abzurufen, 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)
  • ComponentActivity implementiert jetzt die neue OnTrimMemoryProvider-Schnittstelle, damit alle Komponenten diese Ereignisse empfangen können. (Ia9295)

API-Änderungen

  • Der Parameter-Konstruktor für ActivityResultContracts.CreateDocument wurde verworfen und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ verwendet (z.B. "image/png"), wie für Intent.ACTION_CREATE_DOCUMENT erforderlich. (I2bec6)
  • Die mit einer Ansicht verknüpfte OnBackPressedDispatcherOwner kann jetzt über ViewTreeOnBackPressedDispatcherOwner abgerufen werden, anstatt das Context umzuwandeln. (I74685)

Fehlerkorrekturen

  • Es wurde ein Absturz behoben, der beim ersten Zugriff auf ViewModel über einen registerForActivityResult()-Callback oder die Callbacks einer LifecycleObserver, die als Teil von init eines ComponentActivity hinzugefügt wurde, erfolgte. (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

  • Unter AndroidX ComponentActivity ist jetzt die MenuHost-Schnittstelle implementiert. Damit kann jede Komponente Menüelemente zum ActionBar hinzufügen, indem sie der Aktivität eine MenuProvider-Instanz hinzufügt. Jede MenuProvider kann optional mit einem Lifecycle hinzugefügt werden, das automatisch die Sichtbarkeit dieser Menüelemente basierend auf dem Lifecycle-Status steuert und das Entfernen der MenuProvider übernimmt, wenn das Lifecycle gelöscht wird.
  • Die Klasse ActivityResultContract wurde in Kotlin umgeschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die korrekten Null-Zulässigkeit für ihre Eingabe- und Ausgabeklassen definieren können.
  • Die ActivityResultContracts-Klasse und ihre Verträge wurden in Kotlin neu geschrieben, um 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 kein Ergebnis mehr an ActivityResultCallback zurück, wenn der launch-Aufruf 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 wurden veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

API-Änderungen

  • Der Typ für ActivityResultContracts.OpenMultipleDocuments und ActivityResultContracts.GetMultipleContents wurde korrigiert, der dann bei der Verwendung des Codes aus der Programmiersprache Java den Ausgabetyp List<? extends Uri> verwendete. (If71de)
  • Öffentliche Konstanten in den Klassen ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult und ActivityResultContracts.RequestMultiplePermissions sind jetzt zugänglich, wenn Kotlin über ihre jetzt öffentlichen Companion-Objekte verwendet wird. (aosp/1832555)

Aktualisierungen der Dokumentation

  • Die Mitteilung zur Einstellung von APIs, die jetzt von den Activity Result APIs verarbeitet wird (startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions und onRequestPermissionsResult), 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 activity-compose-Artefakt 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 Nebeneffekte haben sollte. Verwende die APIs für die Verarbeitung von Nebeneffekten. (7c2bbe, b/191347220)

API-Änderungen

  • Die Klasse ActivityResultContract wurde in Kotlin umgeschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die korrekte Null-Zulässigkeit für ihre Eingabe- und Ausgabeklassen definieren können. (I8a8f5)
  • Die ActivityResultContracts-Klasse und ihre Verträge wurden in Kotlin neu geschrieben, um die korrekte Null-Zulässigkeit sicherzustellen. (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

  • Unter Android X ComponentActivity ist jetzt die MenuHost-Schnittstelle implementiert. Damit kann jede Komponente Menüelemente zum ActionBar hinzufügen, indem sie der Aktivität eine MenuProvider-Instanz hinzufügt. Jede MenuProvider kann optional mit einem Lifecycle hinzugefügt werden, das automatisch die Sichtbarkeit dieser Menüelemente basierend auf dem Lifecycle-Status steuert und das Entfernen der 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 des Verhaltens

  • ActivityResultRegistry gibt jetzt ein IllegalStateException aus, wenn versucht wird, launch() für eine ActivityResultLauncher aufzurufen, die nicht registriert ist oder nicht registriert ist. (Ida75d, b/192567522)

Externer Beitrag

  • Vielen Dank an dmitrilc, dass Sie einen Tippfehler in der ActivityResult-Dokumentation behoben haben. (Nr. 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.

Aktualisierungen von Abhängigkeiten

  • Aktivität hängt jetzt von Kotlin-1.5.21 ab.
  • Für die Funktion „Schreibassistent“ ist jetzt die Funktion „Schreibassistent“ 1.0.1 erforderlich.

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 Erweiterungsmethode setContent zum Hosten der Jetpack Compose-Benutzeroberfläche in einer Aktivität sowie Compose-spezifische Wrapper für die Interaktion mit den ComponentActivity-APIs für die Verwaltung der System-Zurück-Schaltfläche 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 für den Erfolg zurück, der bei vielen Kamera-Apps funktioniert.
  • Tracking-Anzeige mit Hinweisen für Bild im Bild – Nutzer von activity-ktx können jetzt die Erweiterungsmethode trackPipAnimationHintView für Activity verwenden, um den PictureInPictureParams automatisch mit der neuen Position der Ansicht neu zu erstellen, wenn diese sich 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 korrekt gespeichert und wiederhergestellt, damit Callbacks im savedState 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 und hängt von der 1.0.0-beta09 für das Schreiben ab. androidx.compose.ui:ui-test-junit4 ist jetzt abhängig von der Kompilierungszeit von activity-compose.

Version 1.3.0-beta01

2. Juni 2021

androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 und androidx.activity:activity-ktx:1.3.0-beta01 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

  • 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 inzwischen eingestellten TakeVideo-Vertrag, da Kamera-Apps die Rückgabe von Thumbnail-Bitmap nur sehr selten unterstützen, was das Ergebnis nicht weiterhilft. (Ie21f2, b/185938070)
  • Es wurde eine neue API Activity#setPipAnimationHintView hinzugefügt, um den Quellrechteckhinweis des PipParams immer dann zu aktualisieren, wenn die Ansicht verschoben wird. (I9063d)

API-Änderungen

  • Die Funktion rememberLauncherForActivityResult gibt jetzt einen Launcher zurück, der die unregister()-Funktion einstellt. Die Registrierung und das Aufheben der Registrierung des Launchers erfolgen automatisch von rememberLauncherForActivityResult. (I2443e)

Kompatibilität der Funktion „Compose“

  • androidx.activity:activity-compose:1.3.0-alpha08 ist nur mit dem Tool „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 gibt jetzt einen stabilen Verweis auf dieselbe ActivityResultLauncher-Instanz zurück, auch wenn sich der Vertrag aufgrund von Neuzusammensetzungen ändert. (Id2d6d)
  • Wenn Sie instabile Versionen von Fragmenten über 1.3.0 verwenden, wird kein falsch positiver Lint-Fehler mehr ausgegeben, der Sie dazu auffordert, 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 in rememberLauncherForActivityResult() umbenannt, um besser darauf hinzuweisen, dass es sich bei dem zurückgegebenen ActivityResultLauncher um ein verwaltetes Objekt handelt, das für Sie gespeichert wird. Beim Versuch, unregister das zurückgegebene ActivityResultLauncher aufzurufen, wird jetzt ein Fehler ausgegeben. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current und LocalActivityResultRegistryOwner.current geben jetzt einen Nullwert zurück, um besser feststellen zu können, ob er in der aktuellen Zusammensetzung verfügbar ist. Für APIs, für die diese APIs erforderlich sind, z. B. BackHandler bzw. rememberLauncherForActivityResult(), wird jetzt ein aussagekräftigerer Fehler ausgegeben, wenn der zugrunde liegende Inhaber nicht gefunden wird. NavHost funktioniert jetzt auch dann, wenn kein OnBackPressedDispatcherOwner gefunden wird, wie bei der Vorschau von NavHost. (I7d8b4)

Fehlerkorrekturen

  • Das BackHandler fängt jetzt Antworten korrekt ab, wenn die Aktivität den Status STOPPED hat, dann wieder STARTED und andere Callbacks wurden mit einem LifecycleOwner hinzugefügt. (I71de6, b/182284739)
  • Die Verwendung der Methodenerweiterung launch() mit einer benutzerdefinierten ActivityResultContract mit einer Unit-Eingabe führt nicht mehr zu einem NullPointerException (I76282, b/183837954).

Version 1.3.0-alpha05

24. März 2021

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

Fehlerkorrekturen

  • Ab Aktivität 1.2.2: Ein Problem in 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)
  • Ab Aktivität 1.2.2: ComponentActivity vermeidet jetzt ClassNotFoundException, wenn ein Intent von einem ActivityResultContract gestartet wird, der zuvor als Extra in einer anderen Intent vorhanden war. (Ieff05, b/182906230)

Aktualisierungen von 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)
  • In der Aktivität 1.2.1: ActivityResultRegistry stellt nun sicher, dass laufende launch()-Anfragen auch dann Ergebnisse zurückgeben, wenn Sie unregister() und dann noch einmal register() mit demselben Schlüssel. (I9ef34, b/181267562)
  • Beim Erstellen der Aktivität werden dem Laufzeitklassenpfad keine Testabhängigkeiten mehr hinzugefügt. (Ifd8b3)
  • Ein Problem mit BackHandler wurde behoben, bei dem das zuvor festgelegte Lambda onBack nach Neuzusammensetzung noch 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 registerForActivityResult-Funktion, mit der Ergebnisse aus Aktivitäten in zusammensetzbaren Funktionen abgerufen werden können. (Ia7851, b/172690553)

API-Änderungen

  • LocalOnBackPressedDispatcherOwner hat jetzt eine provides-Funktion, die mit CompositionLocalProvider verwendet werden kann und die asProvidableCompositionLocal() API ersetzt. (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 beim Erstellen der Aktivität 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, die die Funktion „Compose“ verwenden, sollten sich auf 1.3.0-alpha02 und höher verlassen. (b/179911234)

API-Änderungen

  • Mit der BackHandler API kann eine zusammensetzbare Funktion die Systemschaltfläche „Zurück“ 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 Hilfsprogramme für androidx.activity-spezifische APIs.
    • ComponentActivity.setContent wurde von androidx.compose.ui.platform.setContent in androidx.activity.compose.setContent verschoben. ICF416

Bekannte Probleme

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

Version 1.2.4

Version 1.2.4

21. Juli 2021

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

Fehlerkorrekturen

  • Aus Activity 1.3.0-rc02: Die ActivityResultRegistry-Callbacks werden jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks in „SavedState“ nicht dupliziert werden. (I97816, b/191893160)

Version 1.2.3

Version 1.2.3

5. Mai 2021

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

Fehlerkorrekturen

  • Die Verwendung der Methodenerweiterung launch() mit einer benutzerdefinierten ActivityResultContract mit einer Unit-Eingabe führt nicht mehr zu einem NullPointerException (I76282, b/183837954).
  • Es wurde ein falsch positiver Lint-Fehler behoben, der Sie aufforderte, Fragment 1.3.0 zu verwenden, wenn ein Snapshot, Alpha-, Beta- oder RC-Build einer neueren Version von Fragmenten verwendet wird. (f4a57e, b/184847092)

Version 1.2.2

Version 1.2.2

24. März 2021

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

Fehlerkorrekturen

  • Ein Problem 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 ein Intent von einem ActivityResultContract gestartet wird, das zuvor als Extra in einem anderen Intent verfügbar war. (Ieff05, b/182906230)

Aktualisierungen von 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 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 stellt nun sicher, dass laufende launch()-Anfragen auch dann die Ergebnisse zurückgeben, wenn Sie unregister() und dann noch einmal register() mit demselben Schlüssel. (I9ef34, b/181267562)

Version 1.2.0

Version 1.2.0

10. Februar 2021

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

Wichtige Änderungen seit Version 1.1.0

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

    • Mit der sperrenden Kotlin-Erweiterung withContextAvailable() können Sie einen nicht ausgesetzten 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 zu Unterklassen von FragmentActivity hinzugefügt wurden, werden nach diesem Listener ausgeführt.
    • Diese API wird von AppCompatActivity in AppCompat 1.3.0-alpha02 oder höher verwendet. Alle Listener, die zu Unterklassen von AppCompatActivity hinzugefügt wurden, 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 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.

  • reportFullyDrawn()-Backport: Die Activity-Methode von reportFullyDrawn() wurde in ComponentActivity rückportiert, um auf allen API-Ebenen zu funktionieren. Dabei wurde ein Absturz in API 19 behoben und für diese Methode das Tracing für alle API-Ebenen hinzugefügt.

Version 1.2.0-rc01

16. Dezember 2020

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

Fehlerkorrekturen

  • Das ActivityResultRegistry stellt nun immer genau den gespeicherten Status wieder her. (Idd56b)
  • Tracing zu ComponentActivity.reportFullyDrawn hinzufügen (Ic7632)

Externer Beitrag

  • ComponentActivity überschreibt jetzt reportFullyDrawn(). Dadurch kann sie auf allen API-Ebenen aufgerufen und ein Absturz behoben werden, wenn diese Methode ohne die entsprechende Systemberechtigung auf API 19-Geräten aufgerufen wird. Danke, Simon Schiller! (b/163239764, #103)

Version 1.2.0-beta02

2. Dezember 2020

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

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem die Activity Result API bei der Registrierung mit einer Lifecycle nicht darauf wartete, dass der Lebenszyklus STARTED war, bevor sie Ergebnisse lieferten. (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 werden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • ActivityResultRegistry generiert jetzt nach dem Zufallsprinzip Ganzzahlen, bis eine Zahl gefunden wird, die nicht zur Verwendung als Anfragecode register() zugewiesen ist. Dadurch wird der mögliche Ganzzahlüberlauf verhindert, der durch eine Erhöhung von Anfragecodes verursacht wird. (b/168779518)

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

Änderungen des Verhaltens

  • Der ActivityResultRegistry gibt jetzt ein IllegalStateException aus, wenn versucht wird, register() mit einem LifecycleOwner aufzurufen, dessen Lifecycle bereits STARTED erreicht hat. (b/165435866)

Dokumentation aktualisiert

  • Die ContextAware-Dokumentation enthält einen Link zu LifecycleOwner, um Lifecycle-Callbacks als geeigneten Ort zum 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 veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.

Neue Funktionen

  • ComponentActivity implementiert jetzt ContextAware, sodass Sie eine oder mehrere OnContextAvailableListener-Instanzen hinzufügen können, die einen Callback vor der Basis-Activity.onCreate() erhalten. (b/161390636)
    • Mit der sperrenden Kotlin-Erweiterung withContextAvailable() können Sie einen nicht ausgesetzten 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 zu Unterklassen von FragmentActivity hinzugefügt wurden, werden nach diesem Listener ausgeführt. (I513da)
    • Diese API wird von AppCompatActivity in AppCompat 1.3.0-alpha02 verwendet. Alle Listener, die zu Unterklassen von AppCompatActivity hinzugefügt wurden, werden nach diesem Listener ausgeführt. (I513da)

Fehlerkorrekturen

  • Ein Problem mit der ActivityResultFragmentVersionDetector-Lint-Prüfung wurde behoben, durch das sie bei Verwendung von Lint 27.1.0 oder höher nicht funktionierte. (b/162155191)

Version 1.2.0-alpha07

22. Juli 2020

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

Neue Funktionen

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

Externer Beitrag

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

Version 1.2.0-alpha06

10. Juni 2020

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

Neue Funktionen

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

API-Änderungen

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

Version 1.2.0-alpha05

20. Mai 2020

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

Neue Funktionen

API-Änderungen

  • Der TakePicture-Vertrag gibt jetzt ein boolean anstelle einer Miniaturansicht Bitmap zurück, da dies sehr selten von Kamera-Apps beim Schreiben des Bildes in das bereitgestellte Uri unterstützt wurde. (b/154302879)
  • Die invoke()-Erweiterungen für ActivityResultLauncher wurden zugunsten der expliziten Verwendung von launch() entfernt, um besser darauf hinzuweisen, 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, was dieses Verhalten der vorherigen invoke()-Erweiterungen widerspiegelt. (aosp/1304674, aosp/1304675)
  • Die IntentSenderRequest.Builder-Methoden für setFlagsMask() und setFlagsValues() wurden zu einer einzigen setFlags()-Methode zusammengefasst. (aosp/1302111)

Fehlerkorrekturen

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

Änderungen des Verhaltens

  • Das ActivityResultRegistry generiert jetzt Anfragecodes, die bei 0xFFFF beginnen und nicht bei 0. Dadurch werden Überschneidungen bei der Verwendung von startActivityForResult() oder requestPermissions() in einer Aktivität vermieden. (aosp/1302324)

Version 1.2.0-alpha04

29. April 2020

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

Neue Funktionen

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

API-Änderungen

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

Fehlerkorrekturen

  • Wenn Sie die Verträge GetMultipleContents und OpenMultipleDocuments verwenden und ein einzelnes Element auswählen, wird es jetzt korrekt an Ihren Callback zurückgegeben. (b/152941153)

Version 1.2.0-alpha03

1. April 2020

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

Neue Funktionen

  • Die Verträge TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree und CreateDocument wurden 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 TakePicture-Vertrag akzeptiert jetzt eine Uri-Eingabe für den Speicherort des Bildes. Der vorherige Vertrag, für den keine Eingabe erforderlich ist, wurde in TakePicturePreview umbenannt. (aosp/1262482)
  • Die Methode registerActivityResultCallback() für ActivityResultRegistry wurde in register() umbenannt. (aosp/1267621)
  • Die Methode dispose() in ActivityResultLauncher wurde in unregister() umbenannt und die Methode unregisterResultCallback() auf ActivityResultRegistry wurde entfernt. (aosp/1267621)
  • Für die Methode createIntent() von ActivityResultContact wird nun zusätzlich zur Eingabe ein Context benötigt, um explizite Intents zu erstellen. (aosp/1238800)
  • Ein ActivityResultContract kann jetzt getSynchronousResult() überschreiben, um ein Ergebnis bereitzustellen, ohne startActivityForResult aufzurufen. Dieser wird von den Verträgen RequestPermission und RequestPermissions verwendet, um den Status „Gewährt“ korrekt zu liefern, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799)
  • Der zuvor verfügbare Dial-Vertrag wurde entfernt, da Intent nicht mit startActivityForResult() verwendet werden soll. (aosp/1266916)
  • Viele der Aktivitätsergebnis-APIs, die nicht erweitert werden sollen, sind jetzt final. Dazu gehören getActivityResultRegistry(), die prepareCall()-Methoden, alle Methoden von ActivityResultRegistry mit Ausnahme von invoke() sowie einige Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)

Fehlerkorrekturen

  • Ein NullPointerException in ActivityResultRegistry wurde behoben, wenn versucht wird, Ergebnisse an einen Callback 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 Callback neu registriert wird. (b/152137004)

Version 1.2.0-alpha02

18. März 2020

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

Neue Funktionen

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

Version 1.2.0-alpha01

4. März 2020

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

Neue Funktionen

  • Die im Lebenszyklus 2.3.0-alpha01 hinzugefügte ViewTreeLifecycleOwner.get(View) API wird jetzt unterstützt. Sie gibt die Aktivität als LifecycleOwner für alle Ansichten zurück, die der Aktivität direkt hinzugefügt wurden. (aosp/1182955)

Fehlerkorrekturen

  • Es wurde eine Regression behoben, die in Aktivität 1.1.0 bei Ausführung auf älteren Versionen der Plattform eingeführt wurde und bei der onBackPressed() aufgrund eines Programmfehlers in android.app.FragmentManager zu einem IllegalStateException führte. (b/146290338)

Version 1.1.0

Version 1.1.0

22. Januar 2020

androidx.activity:activity:1.1.0 wird freigegeben. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Lebenszyklus-ViewModel SavedState-Integration: SavedStateViewModelFactory ist jetzt die standardmäßige Factory, die verwendet wird, wenn by viewModels(), der ViewModelProvider-Konstruktor oder ViewModelProviders.of() mit ComponentActivity oder dessen Unterklassen verwendet wird.

Version 1.1.0-rc03

4. Dezember 2019

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

Abhängigkeitsänderungen

  • Aktivität hängt jetzt von Lebenszyklus 2.2.0-rc03 und SavedState 1.0.0-rc03 der Lebenszyklusansichtsmodell-Funktion ab.

Version 1.1.0-rc02

7. November 2019

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

Abhängigkeitsänderungen

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

Version 1.1.0-rc01

23. Oktober 2019

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

Version 1.1.0-beta01

9. Oktober 2019

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

Abhängigkeitsänderungen

  • Für die Aktivität ist jetzt die stabile Version von SavedState 1.0.0 erforderlich.

Version 1.1.0-alpha03

5. September 2019

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

Neue Funktionen

  • 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 werden 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 einer ComponentActivity verwendet wird (b/135716331).

Version 1.1.0-alpha01

2. Juli 2019

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

Neue Funktionen

  • activity 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 sie nicht mehr explizit Ihren Abhängigkeiten hinzufügen, wenn Sie activity-ktx oder Bibliotheken verwenden, die von activity-ktx abhängig sind (z. B. fragment-ktx). (aosp/987162)

Version 1.0.0

Version 1.0.0

5. September 2019

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

Hauptfunktionen von Version 1.0.0

  • ComponentActivity: ComponentActivity dient als neue Basisklasse für FragmentActivity in Fragment 1.1.0 und folglich auch für AppCompatActivity in AppCompat 1.1.0.
  • activity-ktx: Das Modul activity-ktx enthält die Kotlin-Property-Erweiterung by viewModels für den Zugriff auf ViewModels. Dieses Modul ist automatisch enthalten, wenn Sie fragment-ktx aus Fragment 1.1.0 einfügen.
  • OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von onBackPressed() können Sie jetzt ein OnBackPressedCallback von einer beliebigen LifecycleOwner (z. B. einem Fragment) registrieren, um Ereignisse für die Zurück-Schaltfläche des Systems abzufangen. activity-ktx wurde ein Lambda mit der Empfängerversion addCallback hinzugefügt. Weitere Informationen finden Sie unter Dokumentation zur benutzerdefinierten Zurücknavigation bereitstellen.
  • Einstellung von "onRetentionCustomNonConfigurationInstance": Die onRetainCustomNonConfigurationInstance() und die zugehörigen getLastCustomNonConfigurationInstance() APIs wurden eingestellt. Es wird dringend empfohlen, ViewModels zum Speichern des Nicht-Konfigurationsstatus zu verwenden, da diese zusammensetzbare Lösung für alle ViewModelStoreOwner bieten, die die Inhaberschaft der beibehaltenen Objekte deutlich macht und einen onCleared()-Callback zum Bereinigen von Ressourcen bietet, wenn die Aktivität endgültig gelöscht wird.

Version 1.0.0-rc01

2. Juli 2019

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

Version 1.0.0-beta01

5. Juni 2019

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

Version 1.0.0-alpha08

7. Mai 2019

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

API-Änderungen

  • Nicht funktionsgefährdende Ä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 eigene Instanzen für Tests usw. erstellen können. aosp/953431
  • onBackPressed() für ComponentActivity ist jetzt explizit als @MainThread markiert aosp/952721

Fehlerkorrekturen

  • Ein ConcurrentModificationException wurde behoben, wenn remove() innerhalb der handleOnBackPressed()-Methode einer OnBackPressedCalback aufgerufen wurde, die 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 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

In dieser Version werden erhebliche Änderungen an der Verarbeitung von onBackPressed() vorgenommen. Weitere Informationen finden Sie in der aktualisierten Dokumentation zur benutzerdefinierten Rückseite.

  • 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 dem Sie die Zurück-Schaltfläche verarbeiten müssen. (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 Sie remove() während handleOnBackPressed() aufrufen können. (aosp/944519) (aosp/946316)
  • activity-ktx enthält jetzt einen Callback auf Empfängerebene 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 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • Die ComponentActivity enthält jetzt einen zweiten Konstruktor, der einen @LayoutRes int verwendet. Dieser ersetzt das bisherige Verhalten bei der Annotation Ihrer AppCompatActivity-Klasse mit @ContentView. Dieser Ansatz funktioniert sowohl in App- als auch in Bibliotheksmodulen. (b/128352521)
  • Die OnBackPressedCallback zugehörigen 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 zum OnBackPressedDispatcher geben jetzt ein Cancellable-Objekt zurück, das das Entfernen des Callbacks ermöglicht, 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, da der Lebenszyklus gestartet bzw. gestoppt 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 werden freigegeben. Die vollständige Liste der in diesem Release enthaltenen Commits finden Sie hier.

Neue Funktionen

  • @ContentView-Anmerkungen 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

  • Zusätzliche Unterstützung für die Klassenannotation @ContentView, mit der angegeben werden kann, welche Layout-XML-Datei als Alternative zur Verwendung 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 als endgültig festgelegt wird. Bitte senden Sie eine Funktionsanfrage, wenn Sie diese Methode derzeit überschreiben. (aosp/837619)

Fehlerkorrekturen

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

Version 1.0.0-alpha03

17. Dezember 2018

androidx.activity 1.0.0-alpha03 wird freigegeben.

Neue Funktionen

  • Die ComponentActivity implementiert jetzt BundleSavedStateRegistryOwner und hängt von der neu veröffentlichten SavedState-Bibliothek [aosp/815133] ab.
  • Mit ComponentActivity umgehen Sie jetzt einen Android-Framework-Fehler, der dazu führt, dass InputMethodManager die letzte fokussierte Ansicht ablegt [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 als final festgelegt wird. Bitte senden Sie eine Funktionsanfrage, wenn Sie diese Methode derzeit überschreiben. (aosp/815834)

Version 1.0.0-alpha01

5. November 2018

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

Neue Funktionen

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

API-Änderungen

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