Aktivität
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
2. Juli 2025 | 1.10.1 | 1.11.0-rc01 | - | 1.12.0-alpha04 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Activity hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Cool
dependencies { def activity_version = "1.10.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.10.1" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Version 1.12
Version 1.12.0-alpha04
2. Juli 2025
androidx.activity:activity:1.12.0-alpha04
, androidx.activity:activity-compose:1.12.0-alpha04
und androidx.activity:activity-ktx:1.12.0-alpha04
sind veröffentlicht. Version 1.12.0-alpha04 enthält diese Commits.
Änderungen an Abhängigkeiten
- Aktivität hängt jetzt von NavigationEvent Alpha04 ab
Version 1.12.0-alpha03
18. Juni 2025
androidx.activity:activity:1.12.0-alpha03
, androidx.activity:activity-compose:1.12.0-alpha03
und androidx.activity:activity-ktx:1.12.0-alpha03
sind veröffentlicht. Version 1.12.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
undNavigationEventDispatcher
werden jetzt beide verzögert inComponentActivity
initialisiert. (I710e6)Es wurden Probleme mit
OnBackPressedDistpatcher
behoben, die Folgendes verursacht haben:- Nur der letzte Dispatcher am
OnBackPressedCallback
wurde hinzugefügt, um über den aktivierten Status benachrichtigt zu werden (b/418715930). OnBackPressedDispatcher
entfernt den falschen Callback, wenn dieaddCallback
-Funktion verwendet wird, die einen Lebenszyklus akzeptiert. (b/422714753)- Mit
OnBackPressedDispatcher.remove()
werden nicht alle Instanzen einer registriertenOnBackPressedCallback
entfernt. (b/423024414)
- Nur der letzte Dispatcher am
Version 1.12.0-alpha02
4. Juni 2025
androidx.activity:activity:1.12.0-alpha02
, androidx.activity:activity-compose:1.12.0-alpha02
und androidx.activity:activity-ktx:1.12.0-alpha02
sind veröffentlicht. Version 1.12.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Aus NavigationEvent
1.0.0-alpha02
: EinConcurrentModificationException
wurde behoben, der auftreten konnte, wennNavigationEventCallback.remove()
aufgerufen wurde, weil die interne Liste der schließbaren Elemente gleichzeitig geändert wurde. (I63066)
Version 1.12.0-alpha01
20. Mai 2025
androidx.activity:activity:1.12.0-alpha01
, androidx.activity:activity-compose:1.12.0-alpha01
und androidx.activity:activity-ktx:1.12.0-alpha01
sind veröffentlicht. Version 1.12.0-alpha01 enthält diese Commits.
Neue Funktionen
ComponentActivity
undComponentDialog
wurden über dieNavigationEventDispatcherOwner
API in NavigationEvent1.0.0-alpha01
integriert. Sie können jetzt über das FeldnavigationEventDispatcher
eineNavigationEventDispatcher
aus IhremComponentActivity
abrufen. Da dieOnBackPressedDispatcher
auf der neuen Bibliothek basiert, sollten alle bisherigen Verwendungen weiterhin korrekt funktionieren. Sie sollten in ZukunftNavigationEventDispatcher
undNavigationEventCallback
verwenden. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)
Version 1.11
Version 1.11.0-rc01
23. April 2025
androidx.activity:activity:1.11.0-rc01
, androidx.activity:activity-compose:1.11.0-rc01
und androidx.activity:activity-ktx:1.11.0-rc01
sind veröffentlicht. Version 1.11.0-rc01 enthält diese Commits.
Version 1.11.0-beta01
9. April 2025
androidx.activity:activity:1.11.0-beta01
, androidx.activity:activity-compose:1.11.0-beta01
und androidx.activity:activity-ktx:1.11.0-beta01
sind veröffentlicht. Version 1.11.0-beta01 enthält diese Commits.
Version 1.11.0-alpha02
26. März 2025
androidx.activity:activity:1.11.0-alpha02
, androidx.activity:activity-compose:1.11.0-alpha02
und androidx.activity:activity-ktx:1.11.0-alpha02
sind veröffentlicht. Version 1.11.0-alpha02 enthält diese Commits.
API-Änderungen
- Die neuen
EDGE_NONE
undframeTimeMillis
aus Android 16 Beta03 wurden in dieBackEventCompat
integriert, die von den FunktionenhandleOnBackStarted
undhandleOnBackProgressed
vonOnBackPressedCallback
bereitgestellt werden.
Abhängigkeitsupdates
- Aktivitäten werden jetzt mit API 36 kompiliert. (I510e8, b/301910674)
Version 1.11.0-alpha01
12. März 2025
androidx.activity:activity:1.11.0-alpha01
, androidx.activity:activity-compose:1.11.0-alpha01
und androidx.activity:activity-ktx:1.11.0-alpha01
sind veröffentlicht. Version 1.11.0-alpha01 enthält diese Commits.
Neue Funktionen
- Die
MediaCapabilities
API wurdePickVisualMediaRequest
hinzugefügt, damit Anwendungen ihre Media-Funktionen wie unterstützte HDR-Typen angeben können. (Ic3ee7)
Version 1.10
Version 1.10.1
26. Februar 2025
androidx.activity:activity:1.10.1
, androidx.activity:activity-compose:1.10.1
und androidx.activity:activity-ktx:1.10.1
sind veröffentlicht. Version 1.10.1 enthält diese Commits.
Fehlerkorrekturen
ViewTree
OnBackPressedDispatcherOwners
undFullyDrawnReporterOwners
können jetzt über disjunkte übergeordnete Elemente einer Ansicht, z. B. einViewOverlay
, aufgelöst werden. Weitere Informationen zu disjunkten Ansichtseltern finden Sie in den Versionshinweisen von core oder in der Dokumentation unterViewTree.setViewTreeDisjointParent
. (Ie7750)
Version 1.10.0
15. Januar 2025
androidx.activity:activity:1.10.0
, androidx.activity:activity-compose:1.10.0
und androidx.activity:activity-ktx:1.10.0
sind veröffentlicht. Version 1.10.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.9.0
- Mit
PhotoPicker
können Sie jetzt Bilder in einer bestimmten Reihenfolge auswählen und festlegen, welcher Tab (entweder „Alben“ oder „Bilder“) zuerst angezeigt werden soll. - Die
PickVisualMedia
- undPickMultipleVisualMedia
-Aktivitätsergebnis-Verträge, die die Bildauswahl auslösen, werden nicht mehr direkt an Google Play-Dienste delegiert, wenn die Systembildauswahl nicht verfügbar ist. Stattdessen wird die öffentlicheACTION_SYSTEM_FALLBACK_PICK_IMAGES
-Aktion und die zugehörigen Extras verwendet, um OEMs und System-Apps eine konsistente Bildauswahl als Fallback zu bieten. - Neue
LocalActivity
-Kompositionslokale, die dieActivity
für den aktuellen Bereich bereitstellen. Entwickler müssen also nicht mehrActivity
vonLocalContext
abrufen.
Version 1.10.0-rc01
11. Dezember 2024
androidx.activity:activity:1.10.0-rc01
, androidx.activity:activity-compose:1.10.0-rc01
und androidx.activity:activity-ktx:1.10.0-rc01
sind veröffentlicht. Version 1.10.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem das Ändern des aktivierten Status während der
PredictiveBackHandler
den Callback sofort unterbrochen hat. Der aktuelle Callback wird jetzt abgeschlossen, unabhängig von Änderungen des aktivierten Status. (Ib8719)
Version 1.10.0-beta01
13. November 2024
androidx.activity:activity:1.10.0-beta01
, androidx.activity:activity-compose:1.10.0-beta01
und androidx.activity:activity-ktx:1.10.0-beta01
werden ohne Änderungen seit der letzten Alphaversion veröffentlicht. Version 1.10.0-beta01 enthält diese Commits.
Version 1.10.0-alpha03
30. Oktober 2024
androidx.activity:activity:1.10.0-alpha03
, androidx.activity:activity-compose:1.10.0-alpha03
und androidx.activity:activity-ktx:1.10.0-alpha03
sind veröffentlicht. Version 1.10.0-alpha03 enthält diese Commits.
API-Änderungen
- Es wurde ein neues
LocalActivity
-Kompositionslokal hinzugefügt, das dieActivity
für den aktuellen Bereich bereitstellt. Entwickler müssen dieActivity
nicht mehr von derLocalContext
abrufen. Außerdem ist eine neue Lint-Regel enthalten, die prüft, obLocalContext
fälschlicherweise inActivity
umgewandelt wird. (I7746a, b/283009666)
Fehlerkorrekturen
- Ab Aktivität
1.9.3
:PredictiveBackHandler
löst den Callback nicht mehr aus, nachdem der Handler deaktiviert wurde. Dadurch wird ein Problem behoben, bei dem dieNavHost
aus Navigation Compose eineIndexOutOfBoundsException
ausgelöst hat. (I3f75e, b/365027664, b/340202286)
Abhängigkeitsupdate
- Activity Compose hängt jetzt von Compose Runtime 1.7.0 (I7746a, b/283009666) ab.
Version 1.10.0-alpha02
4. September 2024
androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
und androidx.activity:activity-ktx:1.10.0-alpha02
sind veröffentlicht. Version 1.10.0-alpha02 enthält diese Commits.
Geändertes Verhalten
- Die
PickVisualMedia
- undPickMultipleVisualMedia
-Aktivitätsergebnis-Verträge, die die Bildauswahl auslösen, werden nicht mehr direkt an Google Play-Dienste delegiert, wenn die Systembildauswahl nicht verfügbar ist. Stattdessen wird die öffentlicheACTION_SYSTEM_FALLBACK_PICK_IMAGES
-Aktion und die zugehörigen Extras verwendet, um OEMs und System-Apps eine konsistente Bildauswahl als Fallback zu bieten. Dies sollte sich nicht auf die Nutzerfreundlichkeit von Geräten mit einer aktuellen Version der Google Play-Dienste auswirken. (I3513d)
Fehlerkorrekturen
- Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher (z.B. R8-Version 3.3) verwendet wird, und für alle Builds, wenn AGP 8.1 oder höher (z.B. D8-Version 8.1) verwendet wird. Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (I9496c, b/345472586)
- Aktivität
1.9.2
: Es wurde ein Problem behoben, bei dem die Activity Compose-APIPredictiveBackHandler
weiterhin die System-Zurück-Geste im Frame verarbeitet hat, in dem sie deaktiviert wurde. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Backstack verarbeitet haben, was zu einemIndexOutOfBoundsException
geführt hat. (Ie3301, b/340202286) - Aktivität
1.9.1
: Es wurde ein Problem mitPredictiveBackHandler
behoben, bei dem der Versuch,onBackPressed
über dieOnBackPressedDispatcher
auszuführen, nach dem Ausführen von „System zurück“ fehlschlug. (I5f1f8)
Version 1.10.0-alpha01
26. Juni 2024
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
und androidx.activity:activity-ktx:1.10.0-alpha01
sind veröffentlicht. Diese Version wird in einem internen Branch entwickelt.
Neue Funktionen
- Unterstützung für neue
PhotoPicker
-Funktionen in Android V hinzugefügt, z. B. die Möglichkeit, Bilder in einer bestimmten Reihenfolge auszuwählen und festzulegen, welcher Tab (entweder „Alben“ oder „Bilder“) zuerst angezeigt werden soll.
Version 1.9
Version 1.9.3
16. Oktober 2024
androidx.activity:activity:1.9.3
, androidx.activity:activity-compose:1.9.3
und androidx.activity:activity-ktx:1.9.3
sind veröffentlicht. Version 1.9.3 enthält diese Commits.
Fehlerkorrekturen
PredictiveBackHandler
löst den Callback nicht mehr aus, nachdem der Handler deaktiviert wurde. Dadurch wird ein Problem behoben, bei dem dieNavHost
aus Navigation Compose eineIndexOutOfBoundsException
ausgelöst hat. (I3f75e, b/340202286)
Version 1.9.2
4. September 2024
androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
und androidx.activity:activity-ktx:1.9.2
sind veröffentlicht. Version 1.9.2 enthält diese lthcocommits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Activity Compose-API
PredictiveBackHandler
die System-Zurück-Geste im Frame, in dem sie deaktiviert wurde, weiterhin verarbeitet hat. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Backstack verarbeitet haben, was zu einerIndexOutOfBoundsException
geführt hat. (Ie3301, b/340202286)
Version 1.9.1
24. Juli 2024
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
und androidx.activity:activity-ktx:1.9.1
sind veröffentlicht. Version 1.9.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit
PredictiveBackHandler
wurde behoben. Nach dem Zurücksetzen des Systems schlug der Versuch,onBackPressed
über dieOnBackPressedDispatcher
auszuführen, fehl. (I5f1f8)
Version 1.9.0
17. April 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
und androidx.activity:activity-ktx:1.9.0
sind veröffentlicht. Version 1.9.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.8.0
- In
ComponentActivity
wird jetztOnUserLeaveHintProvider
implementiert, damit Komponenten Callbacks füronUserLeaveHint
-Ereignisse ausführen können. - Die APIs
OnBackPressedCallback
,BackHandler
undPredictiveBackHandler
geben jetzt eine Warnung aus, wennonBackPressedDispatcher.onBackPressed()
beim Zurückgehen aufgerufen wird, da dies immer die vorhersagende Zurück-Animation unterbricht. Weitere Informationen finden Sie im Leitfaden mit Best Practices. - Die restlichen Activity APIs wurden in Kotlin neu geschrieben und alle Erweiterungen, die zuvor in
activity-ktx
verfügbar waren, wurden nachactivity
verschoben.activity-ktx
ist jetzt vollständig leer.- Im Rahmen der Umstellung von
ActivityResultLauncher
auf Kotlin ist die MethodegetContract
jetzt eine abstrakte Kotlin-Property. Dies ist eine binärkompatible Änderung, aber eine Quelländerung, wenn Ihre Implementierung vonActivityResultLauncher
in Kotlin geschrieben ist.
- Im Rahmen der Umstellung von
Version 1.9.0-rc01
3. April 2024
androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
und androidx.activity:activity-ktx:1.9.0-rc01
sind veröffentlicht. Version 1.9.0-rc01 enthält diese Commits.
Abhängigkeitsupdate
- Die Aktivität hängt jetzt von Profile Installer 1.3.1 ab.
Version 1.9.0-beta01
20. März 2024
androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
und androidx.activity:activity-ktx:1.9.0-beta01
sind veröffentlicht. Version 1.9.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem mit der Leistung beim Starten von Aktivitäten behoben, das in Aktivität
1.9.0-alpha02
eingeführt wurde und durch den Aufruf vonOnBackPressedDispatcher
im Rahmen der Erstellung der Aktivität verursacht wurde. (Ie75e3)
Version 1.9.0-alpha03
7. Februar 2024
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
und androidx.activity:activity-ktx:1.9.0-alpha03
sind veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.
Lint-Warnung
- Die APIs
OnBackPressedCallback
,BackHandler
undPredictiveBackHandler
geben jetzt eine Warnung aus, wennonBackPressedDispatcher.onBackPressed()
beim Zurückgehen aufgerufen wird, da dies immer die vorhersagende Zurück-Animation unterbricht. Weitere Informationen finden Sie im Leitfaden mit Best Practices. (1e4222, 2c950d, b/287505200)
Fehlerkorrekturen
- Wenn ein „Zurück“-Ereignis vom System gesendet wird, das während einer bereits laufenden Vorhersage-Geste „Zurück“ gestartet wurde, wird die aktuell laufende Vorhersage-Geste „Zurück“ abgebrochen und das neue „Zurück“-Ereignis übernimmt, um eine neue Vorhersage-Geste „Zurück“ zu starten. (I3482e)
- Ein Absturz wurde behoben, der auftrat, wenn zum ersten Mal über einen Hintergrundthread auf
onBackPressedDispatcher
über einComponentActivity
zugegriffen wurde. Sie können jetzt von jedem Thread aus aufonBackPressedDispatcher
zugreifen. (I79955)
Version 1.9.0-alpha02
24. Januar 2024
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
und androidx.activity:activity-ktx:1.9.0-alpha02
sind veröffentlicht. Version 1.9.0-alpha02 enthält diese Commits.
Kotlin-Conversions
ActivityResultRegistry
wurde in Kotlin neu geschrieben. So wird sichergestellt, dass die Nullable-Eigenschaft der Generics im Vertrag, der anregister
übergeben wird, korrekt an dieActivityResultLauncher
weitergegeben wird, die an Sie zurückgegeben wird. (I121f0)ActivityResult
wurde in Kotlin neu geschrieben. DieActivityResult
-Kotlin-Erweiterungen, die das Destrukturieren in die FelderresultCode
unddata
unterstützen, wurden vonactivity-ktx
nachactivity
verschoben. (I0565a)- Die Kotlin-Erweiterungen von
by viewModels()
fürComponentActivity
undtrackPipAnimationHintView
wurden vonactivity-ktx
nachactivity
verschoben. Dasactivity-ktx
-Artefakt ist jetzt komplett leer. (I0a444)
Fehlerkorrekturen
- Die
enableEdgeToEdge
API rendert jetzt um alle Displayausschnitte herum. (a3644b, b/311173461) - Von Activity
1.8.2
: Der an denACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Photo Picker Activity Contract übergebene Extra wurde korrigiert, sodass derEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
-Schlüssel korrekt übergeben wird, anstatt den Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, wird dringend empfohlen, beide Extras zu unterstützen, um eine möglichst breite Kompatibilität zu gewährleisten. (I96a00)
Version 1.9.0-alpha01
29. November 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
und androidx.activity:activity-ktx:1.9.0-alpha01
sind veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.
Neue Funktionen
- In
ComponentActivity
wird jetztOnUserLeaveHintProvider
implementiert, damit Komponenten Callbacks füronUserLeaveHint
-Ereignisse ausführen können. (I54892)
API-Änderungen
ComponentActivity
wurde in Kotlin neu geschrieben. (I14f31)ActivityResultCaller
wurde in Kotlin neu geschrieben. (Ib02e4)ActivityResultLauncher
wurde in Kotlin neu geschrieben. Im Rahmen dieser Umstellung ist die MethodegetContract
jetzt eine abstrakte Kotlin-Property. Dies ist eine binärkompatible Änderung, aber eine Quelländerung, wenn Ihre Implementierung vonActivityResultLauncher
in Kotlin geschrieben ist. (Id4615)PickVisualMediaRequest
hat jetzt dasselbe Mindest-API-Level von 19 wie derPickVisualMedia
-Vertrag für Aktivitätsergebnisse. (Id6e21)
Abhängigkeitsupdate
- Die Aktivität hängt jetzt von Core
1.13.0-alpha01
ab. (I14f31)
Version 1.8
Version 1.8.2
13. Dezember 2023
androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
und androidx.activity:activity-ktx:1.8.2
sind veröffentlicht. Version 1.8.2 enthält diese Commits.
Fehlerkorrekturen
- Der an
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Photo Picker Activity Contract übergebene Extra wurde korrigiert, sodass er den SchlüsselEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
anstelle des Extras mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
verwendet. Wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, wird dringend empfohlen, beide Extras zu unterstützen, um eine möglichst breite Kompatibilität zu gewährleisten. (I96a00)
Version 1.8.1
15. November 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
und androidx.activity:activity-ktx:1.8.1
sind veröffentlicht. Version 1.8.1 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
leitet jetzt auch dann an das richtigeOnBackPressedCallback
weiter, wenn während der Verarbeitung der Zurück-Geste ein neuesOnBackPressedCallback
hinzugefügt wird. (Id0ff6)
Version 1.8.0
4. Oktober 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
und androidx.activity:activity-ktx:1.8.0
sind veröffentlicht. Version 1.8.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.7.0
- Intelligente „Zurück“-Geste: Das
OnBackPressedCallback
bietet jetzt neue Predictive Back-Callbacks für die Verarbeitung des Beginns der „Zurück“-Geste, des Fortschritts während der Geste und des Abbruchs der „Zurück“-Geste. Bisher gab es nur denhandleOnBackPressed()
-Callback für den Fall, dass die „Zurück“-Geste ausgeführt wird. Außerdem ist diePredictiveBackHandler
-Composable enthalten, mit der Vorhersage-Back-Gestenereignisse in Activity Compose verarbeitet werden können. Sie stellt einen Flow von BackEventCompat-Objekten bereit, die im bereitgestellten Lambda mit Suspend-Funktion erfasst werden müssen:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
wurde zugunsten der APIs für die Rücktaste eingestellt. Entwickler sollten jetzt OnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben.
- EdgeToEdge:
ComponentActivity.enableEdgeToEdge()
wurde hinzugefügt, um das randlose Display auf abwärtskompatible Weise einzurichten.
Version 1.8.0-rc01
20. September 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
und androidx.activity:activity-ktx:1.8.0-rc01
sind veröffentlicht. Version 1.8.0-rc01 enthält diese Commits.
Version 1.8.0-beta01
6. September 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
und androidx.activity:activity-ktx:1.8.0-beta01
sind veröffentlicht. Version 1.8.0-beta01 enthält diese Commits.
Verbesserung der Dokumentation
- Die Dokumentation von
BackEventCompat
wurde verbessert. (aosp/2722254)
Version 1.8.0-alpha07
23. August 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
und androidx.activity:activity-ktx:1.8.0-alpha07
sind veröffentlicht. Version 1.8.0-alpha07 enthält diese Commits.
Neue Funktionen
Activity Compose hat ein neues
PredictiveBackHandler
-Composable hinzugefügt, um Ereignisse für die vorhersagende Zurück-Geste zu verarbeiten. Sie enthält eineFlow
vonBackEventCompat
-Objekten, die in der von Ihnen bereitgestellten Lambda-Funktion für das Anhalten erfasst werden müssen:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
Außerdem wird eine Warnung zur Kompilierzeit über die Lint-Regel ausgegeben, um sicherzustellen, dass die
Flow
-Aufrufecollect()
. (Id2773, b/294884345)Die
onBackPressedDispatcher
inComponentActivity
wird jetzt verzögert initialisiert, sodass sie nur bei Bedarf erstellt wird. (I0bf8e)
Fehlerkorrekturen
ComponentActivity
zeigt unter Android 13 keinen NPE mehr an, wenn einonBackPressed()
-Callback empfangen wird und die Aktivität bereitsDESTROYED
wurde. (Idb055, b/291869278)- Verwendungen der experimentellen
isAtLeastU()
API entfernt (Ie9117, b/289269026)
Version 1.8.0-alpha06
21. Juni 2023
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
und androidx.activity:activity-ktx:1.8.0-alpha06
sind veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.
Neue Funktionen
- Das
OnBackPressedDispatcher
bricht jetzt alle Callbacks ab, die während einer Vorhersage-Geste zum Zurückgehen entfernt werden. (I3f90f)
API-Änderungen
- Wenn Sie
SystemBarStyle.auto
an dieenableEdgeToEdge
API übergeben, können Sie jetzt den Lambda-ParameterdetectDarkMode
überschreiben, um benutzerdefinierte Logik zum Erkennen des Nachtmodus bereitzustellen. (aosp/2546393, b/278263793)
Version 1.8.0-alpha05
7. Juni 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
und androidx.activity:activity-ktx:1.8.0-alpha05
sind veröffentlicht. Diese Version wird in einem internen Branch entwickelt.
API-Änderungen
- Activity bietet jetzt eine
BackEventCompat
-Klasse, die als abwärtskompatible Version vonBackEvent
dient und von der Framework-KlasseBackEvent
entkoppelt ist. - Wichtige Änderung:Die Methoden
handleOnBackStarted
undhandleOnBackProgressed
vonOnBackPressedCallback
erhalten jetzt eineandroidx.activity.BackEventCompat
-Instanz anstelle einer Framework-Klasseandroid.window.BackEvent
. Die entsprechenden@VisibleForTesting
-APIs aufOnBackPressedDispatcher
wurden ebenfalls aktualisiert. - Der Konstruktor für
OnBackPressedDispatcher
akzeptiert jetzt eine optionaleConsumer<Boolean>
-Instanz, mit der die Inhaber des Dispatchers einen Callback erhalten, wenn sich die Anzahl der aktivierten Callbacks von null auf einen Wert ungleich null oder umgekehrt ändert.
Fehlerkorrekturen
- Unter Aktivität
1.7.2
: Fehler behoben, durch denReportDrawn
abstürzte, wenn vor dem Aufrufen vonreport
von einem Bildschirm weg navigiert wurde. (Ic46f1, b/260506820)
Version 1.8.0-alpha04
10. Mai 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
und androidx.activity:activity-ktx:1.8.0-alpha04
sind veröffentlicht. Diese Version wurde über einen internen Branch veröffentlicht.
Fehlerkorrekturen
- Ab Activity 1.7.1: Das
ReportFullyDrawExecuter
wird nicht mehr offengelegt, wennComponentActivity
mitActivityScenario
verwendet wird. (Id2ff2, b/277434271)
Version 1.8.0-alpha03
12. April 2023
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
und androidx.activity:activity-ktx:1.8.0-alpha03
sind veröffentlicht. Diese Version wurde über einen internen Branch veröffentlicht.
Neue Funktionen
ComponentActivity.setUpEdgeToEdge()
wurde hinzugefügt, um das Edge-to-Edge-Display auf abwärtskompatible Weise einzurichten.
API-Änderungen
ComponentActivity.onBackPressed()
wurde zugunsten der APIs für die Rücktaste eingestellt. Entwickler sollten jetztOnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)ComponentDialog
undComponentActivity
enthalten jetzt die öffentliche APIinitViewTreeOwners()
, mit der alle View-Baum-Inhaber initialisiert werden, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem Fragmente MenuHosts fälschlicherweise ungültig gemacht und andere Menüs in der Aktivität zu unerwartetem Verhalten geführt haben. (I9404e, b/244336571)
Weitere Änderungen
- Für
ActivityResultRegister
wird jetzt KotlinRandom
anstelle von Java verwendet. (I4d98f, b/272096025)
Version 1.8.0-alpha02
8. März 2023
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
und androidx.activity:activity-ktx:1.8.0-alpha02
sind veröffentlicht. Aus einem internen Branch entwickelt.
Abhängigkeitsupdate
- Von Aktivität
1.7.0-rc01
: Die Aktivität hängt jetzt vonLifecycle 2.6.0
ab.
Version 1.8.0-alpha01
8. Februar 2023
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
und androidx.activity:activity-ktx:1.8.0-alpha01
sind veröffentlicht. Diese Version wurde aus einem internen Branch erstellt.
Neue Funktionen
- Die Klasse
OnBackPressedCallback
enthält jetzt neue Predictive Back-Fortschritts-Callbacks für die Verarbeitung des Beginns der „Zurück“-Geste, des Fortschritts während der Geste und des Abbruchs der „Zurück“-Geste. Zusätzlich zum bisherigenhandleOnBackPressed()
-Callback für den Fall, dass die „Zurück“-Geste ausgeführt wird.
Version 1.7
Version 1.7.2
24. Mai 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
und androidx.activity:activity-ktx:1.7.2
sind veröffentlicht. Version 1.7.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, der zum Absturz von
ReportDrawn
führte, wenn ein Nutzer einen Bildschirm verließ, bevorreport
aufgerufen wurde. (Ic46f1, b/260506820)
Version 1.7.1
19. April 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
und androidx.activity:activity-ktx:1.7.1
sind veröffentlicht. Version 1.7.1 enthält diese Commits.
Fehlerkorrekturen
- Das
ReportFullyDrawExecuter
wird nicht mehr weitergegeben, wennComponentActivity
mitActivityScenario
verwendet wird. (Id2ff2, b/277434271)
Version 1.7.0
22. März 2023
androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
und androidx.activity:activity-ktx:1.7.0
sind veröffentlicht. Version 1.7.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.6.0
- Die Vertragsbedingungen für die Bildauswahl-Aktivität in
PickVisualMedia
undPickMultipleVisualMedia
wurden aktualisiert und enthalten einen zusätzlichen Fallback für den Fall, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist. Dadurch können OEMs und System-Apps wie die Google Play-Dienste eine einheitliche Bildauswahl auf einer größeren Anzahl von Android-Geräten und API-Levels bereitstellen, indem sie die Fallback-Aktion implementieren. Die Bildauswahl verwendet diesen Fallback, sofern er verfügbar ist, bevor sie aufIntent.ACTION_OPEN_DOCUMENT
zurückgreift, das weiterhin alle Geräte mit API 19 und höher unterstützt. ComponentDialog
implementiert jetztSavedStateRegistryOwner
und hat Zugriff auf sein eigenesSavedStateRegistry
und legt dasSavedStateRegistryOwner
für seineViewTree
fest. Es ist jetzt möglich, Jetpack Compose in einemComponentDialog
zu verwenden, da es sowohl dieLifecycleOwner
als auch dieSavedStateRegistryOwner
erfüllt, die über dieViewTree
-APIs an das Fenster angehängt sind.- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags ausIntent
festlegen und nicht nur ein einzelnes Flag.
Kotlin-Konvertierung
Eine Reihe von Activity-Klassen wurde in Kotlin konvertiert. Alle konvertierten Klassen behalten ihre binäre Kompatibilität mit früheren Versionen bei. Die folgenden Klassen haben quelleninkompatible Änderungen für in Kotlin geschriebene Klassen: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
In der Tabelle unten finden Sie die Quell-Conversions für die neue Version von „Aktivität“:
Aktivität 1.5 | Aktivität 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Diese Klassen wurden ebenfalls in Kotlin konvertiert, sind aber weiterhin quellkompatibel: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
und OnBackPressedDispatcher
.
FullyDrawnReporter-APIs
ComponentActivity
bietet jetzt eine FullyDrawnReporter
-Instanz, mit der mehrere Komponenten melden können, wenn sie für die Interaktion bereit sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn()
in Ihrem Namen aufgerufen wird. Diese APIs kümmern sich um die Timing-Anforderungen und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Es wird empfohlen, diese APIs zu aktivieren:
- Die Android-Laufzeit wird benachrichtigt, wenn der Start abgeschlossen ist. So wird dafür gesorgt, dass der gesamte Code, der während einer Multi-Frame-Startsequenz ausgeführt wird, in die Hintergrundkompilierung einbezogen und für diese priorisiert wird.
- Sie können Macrobenchmarks und Play Vitals signalisieren, wann Ihre Anwendung für Startmesswerte als vollständig gerendert gelten soll, damit Sie die Leistung verfolgen können.
Es wurden drei Activity Compose-APIs hinzugefügt, um die Verwendung von FullyDrawnReporter
aus einzelnen Composables zu vereinfachen:
ReportDrawn
gibt an, dass das Composable-Element sofort für die Interaktion bereit ist.ReportDrawnWhen
akzeptiert ein Prädikat (d.h.list.count > 0
), um anzugeben, wann Ihre Composable für die Interaktion bereit ist.ReportDrawnAfter
verwendet eine suspendierende Methode, die nach Abschluss angibt, dass Sie bereit für die Interaktion sind.
Abhängigkeitsupdates
- Die Aktivität hängt jetzt von Lifecycle
2.6.1
ab. (8fc31d) - Aktivitäten hängen jetzt von ProfileInstaller
1.3.0
ab. (83d3b1)
Version 1.7.0-rc01
8. März 2023
androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
und androidx.activity:activity-ktx:1.7.0-rc01
sind veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.
Abhängigkeitsupdate
- Die Aktivität hängt jetzt von
Lifecycle 2.6.0
ab.
Version 1.7.0-beta02
22. Februar 2023
androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
und androidx.activity:activity-ktx:1.7.0-beta02
sind veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.
API-Änderungen
- Die Aktion und das Extra, die von den Verträgen
PickVisualMedia
undPickMultipleVisualMedia
als Fallback verwendet werden, wennMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps, die eine einheitliche Bildauswahl bieten möchten, API-Stabilität bieten. Die Implementierung dieses Fallbacks ist weiterhin auf System-Apps beschränkt. (Icd320)
Version 1.7.0-beta01
8. Februar 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
und androidx.activity:activity-ktx:1.7.0-beta01
sind veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.
Neue Funktionen
- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags ausIntent
festlegen und nicht nur ein einzelnes Flag. (Iac04c)
Fehlerkorrekturen
- Der Fallback für
PickVisualMedia
, wenn die Framework-Bildauswahl nicht verfügbar ist, beschränkt die Verarbeitung jetzt korrekt auf Apps, die im System-Image des Geräts installiert sind. (If8ae6)
Kotlin-Conversions
ActivityResultRegistryOwner
wurde in Kotlin neu geschrieben. Dies ist eine quelleninkompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt dieactivityResultRegistry
-Property überschreiben, anstatt die vorherigegetActivityResultRegistry()
-Funktion zu implementieren. (I0b00e)OnBackPressedDispatcherOwner
wurde in Kotlin neu geschrieben. Dies ist eine quelleninkompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt dieonBackPressedDispatcher
-Property überschreiben, anstatt die vorherigegetOnBackPressedDispatcher
-Funktion zu implementieren. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
undOnBackPressedDispatcher
sind jetzt in Kotlin geschrieben. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Version 1.7.0-alpha04
25. Januar 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
und androidx.activity:activity-ktx:1.7.0-alpha04
sind veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.
Neue Funktionen
- Die
PickVisualMedia
- undPickMultipleVisualMedia
-Verträge für Aktivitätsergebnisse verwenden jetzt eine von Google Play-Diensten bereitgestellte Bildauswahl, sofern diese verfügbar ist. Das ist z. B. der Fall, wenn die vom Android-System bereitgestellte Bildauswahl (z. B.MediaStore.ACTION_PICK_IMAGES
) ist nicht verfügbar. DieisPhotoPickerAvailable()
API, mit der nur die vom Android-System bereitgestellte Bildauswahl erkannt wird, wurde eingestellt. Wir empfehlen, die neueisPhotoPickerAvailable(Context)
API zu verwenden, die zurückgibt, ob die Fotoauswahl verfügbar ist. (I55be6)
Version 1.7.0-alpha03
11. Januar 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
und androidx.activity:activity-ktx:1.7.0-alpha03
sind veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.
Neue Funktionen
ComponentDialog
implementiert jetztSavedStateRegistryOwner
und hat Zugriff auf das eigeneSavedStateRegistry
und legt dasSavedStateRegistryOwner
für den ViewTree fest. Jetpack Compose kann jetzt in einemComponentDialog
verwendet werden, da es sowohl dieLifecycleOwner
- als auch dieSavedStateRegistryOwner
-Anforderungen erfüllt, die über die ViewTree APIs an das Fenster angehängt sind. (Idca17, I73468 b/261162296)
API-Änderungen
- Es wurde eine
ReportDrawn
-Composable-Funktion hinzugefügt, mit der die Aktivität sofort als bereit für den Aufruf vonreportFullyDrawn
markiert wird. (Ic5b14, b/259687964)
Kotlin-Conversions
- Die Klassen
ActvitiyResultCallback
undOnBackPressedCallback
wurden beide in Kotlin konvertiert, wobei die Quell- und Binärkompatibilität beibehalten wurde. (Ifc5e5, Ide1b0, b/257291701)
Version 1.7.0-alpha02
24. Oktober 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
und androidx.activity:activity-ktx:1.7.0-alpha02
sind veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Unter Aktivität
1.6.1
wurde ein Problem mit demPickMultipleVisualMedia
-Aktivitätsergebnisvertrag behoben, der auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert fürmaxItems
verwendet wurde. (Ie2776, b/249182130)
Version 1.7.0-alpha01
5. Oktober 2022
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
und androidx.activity:activity-ktx:1.7.0-alpha01
sind veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
FullyDrawnReporter-APIs
ComponentActivity
bietet jetzt eine FullyDrawnReporter
-Instanz, mit der mehrere Komponenten melden können, wenn sie für die Interaktion bereit sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn()
in Ihrem Namen aufgerufen wird. Diese APIs kümmern sich um die Timing-Anforderungen und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Es wird empfohlen, diese APIs zu aktivieren:
- Die Android-Laufzeit wird benachrichtigt, wenn der Start abgeschlossen ist. So wird dafür gesorgt, dass der gesamte Code, der während einer Multi-Frame-Startsequenz ausgeführt wird, in die Hintergrundkompilierung einbezogen und für diese priorisiert wird.
- Sie können Macrobenchmarks und Play Vitals signalisieren, wann Ihre Anwendung für Startmesswerte als vollständig gerendert gelten soll, damit Sie die Leistung verfolgen können.
Es wurden zwei Activity Compose-APIs hinzugefügt, um die Verwendung von FullyDrawnReporter
aus einzelnen Composables zu vereinfachen:
ReportDrawnWhen
akzeptiert ein Prädikat (d.h.list.count > 0
), um anzugeben, wann Ihre Composable für die Interaktion bereit ist.ReportDrawnAfter
verwendet eine suspendierende Methode, die nach Abschluss angibt, dass Sie bereit für die Interaktion sind.
Version 1.6.1
Version 1.6.1
24. Oktober 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
und androidx.activity:activity-ktx:1.6.1
sind veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem der
PickMultipleVisualMedia
-Vertrag für das Aktivitätsergebnis auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert fürmaxItems
verwendet wurde. (Ie2776, b/249182130)
Version 1.6.0
Version 1.6.0
21. September 2022
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
und androidx.activity:activity-ktx:1.6.0
sind veröffentlicht. Version 1.6.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.5.0
ActivityResultContracts.PickVisualMedia
undActivityResultContracts.PickMultipleVisualMedia
wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, derMediaStore.ACTION_PICK_IMAGES
verwendet, wenn die Bildauswahl verfügbar ist, undIntent.ACTION_OPEN_DOCUMENT
, wenn sie nicht verfügbar ist.- Die
OnBackInvokedCallback
in Android 13 wurde in dieOnBackPressedDispatchers
vonComponentActivity
undComponentDialog
integriert. So wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine vorhersagende „Zurück“-Geste aktiviert wird.
Version 1.6.0-rc02
7. September 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
und androidx.activity:activity-ktx:1.6.0-rc02
sind veröffentlicht. Version 1.6.0-rc02 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
registriert jetztOnBackInvokedCallback
mitPRIORITY_DEFAULT
anstelle vonPRIORITY_OVERLAY
. (I3901f)- Bei Klassen, die
ComponentActivity
erweitern, werden jetzt immer beideonMultiWindowModeChanged()
-Callbacks gesendet. (Ic4d85) - Die
ActivityResultRegistry
gibt kein Ergebnis mehr an dieActivityResultCallback
zurück, wenn beimlaunch
-Aufruf einException
ausgelöst wird und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794) ComponentActivity
leitet Menüaufrufe jetzt richtig weiter, ohne dass die Super-Funktion in Ihrer Aktivität aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsupdate
- Die
Activity
-Bibliothek hängt jetzt von Lifecycle2.5.1
ab. (If6697)
Version 1.6.0-rc01
24. August 2022
androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
und androidx.activity:activity-ktx:1.6.0-rc01
sind veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Wenn Sie SDK-Versionen vor Version 33 verwenden, führt die Initialisierung eines
OnBackPressedDispatcher
nicht mehr zuClassVerificationError
s. (Ic32e1) - Bei Klassen, die den
onPictureInPictureModeChanged()
-Callback vonComponentActivity
überschreiben, werden die Callbacks jetzt immer gesendet. (Ib7fdb)
Version 1.6.0-beta01
10. August 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
und androidx.activity:activity-ktx:1.6.0-beta01
sind veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
- Die eingestellten Methoden
startActivityForResult
undstartIntentSenderForResult
inComponentActivity
wurden mit@NonNull
gekennzeichnet, da das Übergeben vonnull
immer zu einem Absturz geführt hat. (Id2a25, b/231476082)
Fehlerkorrekturen
- Über Aktivität
1.5.1
: DieActivityResultRegistry
gibt kein Ergebnis mehr an dieActivityResultCallback
zurück, wenn beimlaunch
-Aufruf eineException
ausgelöst wird und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794) - Bei Aktivität
1.5.1
:ComponentActivity
werden Menüaufrufe jetzt korrekt anonPrepareOptionMenu()
-,onCreateOptionsMenu()
- undonOptionsItemSelected()
-Überschreibungen weitergeleitet, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsupdate
- Ab Aktivität
1.5.1
: DieActivity
-Bibliothek hängt jetzt von der VersionLifecycle
2.5.1
ab. (If6697)
Version 1.6.0-alpha05
15. Juni 2022
androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
und androidx.activity:activity-ktx:1.6.0-alpha05
sind veröffentlicht. Version 1.6.0-alpha05 wurde in einem privaten Vorabrelease-Branch entwickelt und enthält keine öffentlichen Commits.
API-Änderungen
minCompileSdk
ist jetzt 33, um dem Tiramisu Beta 3 SDK zu entsprechen.
Fehlerkorrekturen
- Der Absturz auf älteren Geräten bei der SDK-Erweiterungsprüfung für
PickVisualMedia
ActivityResultContract
wurde behoben. Die Funktion sollte jetzt mitACTION_OPEN_DOCUMENT
auf Geräten mit Android 10 und niedriger funktionieren.
Version 1.6.0-alpha04
18. Mai 2022
androidx.activity:activity:1.6.0-alpha04
und androidx.activity:activity-ktx:1.6.0-alpha04
werden veröffentlicht.
Fehlerkorrekturen
- Ein Fehler in
PickVisualMediaRequest
wurde behoben, bei dem beim Versuch, eine Anfrage entweder über den Builder oder die Kotlin-Funktion auf oberster Ebene zu erstellen, ein Stack-Überlauf aufgetreten ist. - Die
OnBackInvokedCallback
in Android 13 Dev Beta 2 wurde in die vonComponentDialog
bereitgestellteOnBackPressedDispatcher
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine Vorhersage-Geste zum Zurückgehen aktiviert wird.
Version 1.6.0-alpha03
27. April 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
und androidx.activity:activity-ktx:1.6.0-alpha03
sind veröffentlicht.
- Hinweis: Diese Version wird nur mit dem Android 13 Developer Beta 1 SDK kompiliert.
Neue Funktionen
ActivityResultContracts.PickVisualMedia
undActivityResultContracts.PickMultipleVisualMedia
wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, derMediaStore.ACTION_PICK_IMAGES
verwendet, wenn die Bildauswahl verfügbar ist, undIntent.ACTION_OPEN_DOCUMENT
, wenn sie nicht verfügbar ist.- Die
OnBackInvokedCallback
in Android 13 Dev Beta 1 wurde in die vonComponentActivity
bereitgestellteOnBackPressedDispatcher
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine Vorhersage-Geste zum Zurückgehen aktiviert wird.
Version 1.6.0-alpha01
23. März 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
und androidx.activity:activity-ktx:1.6.0-alpha01
sind veröffentlicht.
- Hinweis: Diese Version wird nur mit dem Android 13 Developer Preview 2 SDK kompiliert.
Neue Funktionen
- Die Änderungen in der zweiten Entwicklervorschau von Android 13 wurden in
ComponentActivity
integriert.
Version 1.5.1
Version 1.5.1
27. Juli 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
und androidx.activity:activity-ktx:1.5.1
sind veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
Die
ActivityResultRegistry
gibt kein Ergebnis mehr an dieActivityResultCallback
zurück, wenn beimlaunch()
-Aufruf einException
ausgelöst wird und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794)ComponentActivity
leitet Menüaufrufe jetzt ordnungsgemäß anonPrepareOptionMenu()
-,onCreateOptionsMenu()
- undonOptionsItemSelected()
-Überschreibungen weiter, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsupdate
- Die
Activity
-Bibliothek hängt jetzt von Lifecycle2.5.1
ab. (If6697)
Version 1.5.0
Version 1.5.0
29. Juni 2022
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
und androidx.activity:activity-ktx:1.5.0
sind veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0
- ComponentDialog –
ComponentDialog
ist eine Unterklasse vonDialog
, die einOnBackPressedDispatcher
enthält, das aufgerufen wird, wenn die System-Schaltfläche „Zurück“ gedrückt wird und das Dialogfeld sichtbar ist. Wichtig ist, dass in dieser Unterklasse auchViewTreeOnBackPressedDispatcherOwner
festgelegt wird. So können Ansichten den richtigen Dispatcher abrufen, unabhängig davon, ob er in einemComponentActivity
oder einemComponentDialog
vorhanden ist. - Callback-Schnittstellen:
ComponentActivity
implementiert jetzt eine Reihe modularer Callback-Schnittstellen, die anstelle derActivity
-Callbacks verwendet werden können. Dazu gehören die folgenden Schnittstellen:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
. - CreationExtras-Integration:
ComponentActivity
kann jetzt über Lifecycle2.5.0
-CreationExtras
ein zustandslosesViewModelProvider.Factory
bereitstellen.
Sonstige Änderungen
- Der parameterlose Konstruktor für
ActivityResultContracts.CreateDocument
wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ (z.B. „image/png“) wie vonIntent.ACTION_CREATE_DOCUMENT
gefordert.
Version 1.5.0-rc01
11. Mai 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
und androidx.activity:activity-ktx:1.5.0-rc01
werden ohne Änderungen gegenüber Version 1.5.0-beta01 veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Version 1.5.0-beta01
20. April 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
und androidx.activity:activity-ktx:1.5.0-beta01
sind veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
Abhängigkeitsupdates
- Die Aktivität hängt jetzt von Lifecycle
2.4.0-beta01
ab.
Version 1.5.0-alpha05
6. April 2022
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
und androidx.activity:activity-ktx:1.5.0-alpha05
sind veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
ComponentActivity
'sonPanelClosed()
ruft jetzt auch die SuperklasseonPanelClosed()
auf. Damit wird ein Problem behoben, bei dem die MethodeonContextMenuClosed
nicht aufgerufen wurde. (Ib6f77)
Version 1.5.0-alpha04
23. März 2022
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
und androidx.activity:activity-ktx:1.5.0-alpha04
sind veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
SavedStateViewFactory
unterstützt jetzt die Verwendung vonCreationExtras
, auch wenn es mit einemSavedStateRegistryOwner
initialisiert wurde. Wenn Extras angegeben werden, werden die initialisierten Argumente ignoriert. (I6c43b, b/224844583)
Version 1.5.0-alpha03
23. Februar 2022
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
und androidx.activity:activity-ktx:1.5.0-alpha03
sind veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.
API-Änderungen
- Sie können jetzt
CreationExtras
an die Aktivitätsfunktionby viewModels()
(I6a3e6, b/217600303) übergeben.
Version 1.5.0-alpha02
9. Februar 2022
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
und androidx.activity:activity-ktx:1.5.0-alpha02
sind veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetzt dieOnPictureInPictureModeChangedProvider
-Schnittstelle, damit jede Komponente Ereignisse für Änderungen des Bild-im-Bild-Modus empfangen kann. (I9f567)ComponentActivity
implementiert jetzt dieOnMultiWindowModeChangedProvider
-Schnittstelle, damit jede Komponente Ereignisse für Änderungen im Mehrfenstermodus empfangen kann. (I62d91)
Version 1.5.0-alpha01
26. Januar 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
und androidx.activity:activity-ktx:1.5.0-alpha01
sind veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
ComponentActivity
ist jetzt in ViewModel CreationExtras integriert, die im Rahmen von Lifecycle2.5.0-alpha01
eingeführt wurden. (Ie7e00, b/207012584)ComponentDialog
wurde hinzugefügt, eine Unterklasse vonDialog
, die einOnBackPressedDispatcher
enthält, das aufgerufen wird, wenn die System-Zurück-Schaltfläche gedrückt wird, während das Dialogfeld sichtbar ist. Wichtig ist, dass in dieser abgeleiteten Klasse auchViewTreeOnBackPressedDispatcherOwner
festgelegt wird. So können Ansichten den richtigen Dispatcher abrufen, unabhängig davon, ob er in einemComponentActivity
oder einemComponentDialog
vorhanden ist. (I8a1bc)ComponentActivity
implementiert jetzt die neue SchnittstelleOnNewIntentProvider
, damit jede Komponente diese Ereignisse empfangen kann. (If1f8b)ComponentActivity
implementiert jetzt die neue SchnittstelleOnConfigurationChangedProvider
, damit jede Komponente diese Ereignisse empfangen kann. (If623b)ComponentActivity
implementiert jetzt die neueOnTrimMemoryProvider
-Schnittstelle, damit jede Komponente diese Ereignisse empfangen kann. (Ia9295)
API-Änderungen
- Der parameterlose Konstruktor für
ActivityResultContracts.CreateDocument
wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ akzeptiert (z.B."image/png"
) gemäß den Anforderungen vonIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) - Die
OnBackPressedDispatcherOwner
, die mit einer Ansicht verknüpft ist, kann jetzt über dieViewTreeOnBackPressedDispatcherOwner
abgerufen werden, anstatt dieContext
zu casten. (I74685)
Fehlerkorrekturen
- Ein Absturz beim erstmaligen Zugriff auf ein
ViewModel
über einenregisterForActivityResult()
-Callback oder die Callbacks für einLifecycleObserver
, das als Teil voninit
einesComponentActivity
hinzugefügt wurde, wurde behoben. (Ife83f)
Version 1.4.0
Version 1.4.0
27. Oktober 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
und androidx.activity:activity-ktx:1.4.0
sind veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- AndroidX
ComponentActivity
implementiert jetzt dieMenuHost
-Schnittstelle. So kann jede Komponente Menüelemente zumActionBar
hinzufügen, indem sie der Aktivität eineMenuProvider
-Instanz hinzufügt. JederMenuProvider
kann optional mit einemLifecycle
hinzugefügt werden, das die Sichtbarkeit dieser Menüelemente automatisch basierend auf demLifecycle
-Status steuert und das Entfernen desMenuProvider
übernimmt, wenn dasLifecycle
zerstört wird. - Die Klasse
ActivityResultContract
wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullable-Eigenschaft für ihre Ein- und Ausgabeklassen definieren können. - Die Klasse
ActivityResultContracts
und ihre Verträge wurden in Kotlin neu geschrieben, um die richtige Nullable-Eigenschaft zu gewährleisten.
Version 1.4.0-rc01
13. Oktober 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
und androidx.activity:activity-ktx:1.4.0-rc01
sind veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
gibt kein Ergebnis mehr an dieActivityResultCallback
zurück, wenn beimlaunch
-Aufruf einException
ausgelöst wird. (If4f91, b/200845664)
Version 1.4.0-beta01
29. September 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
und androidx.activity:activity-ktx:1.4.0-beta01
sind veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
API-Änderungen
- Der Typ für
ActivityResultContracts.OpenMultipleDocuments
undActivityResultContracts.GetMultipleContents
wurde korrigiert. Dadurch wurde bei Verwendung des Codes aus der Programmiersprache Java der AusgabetypList<? extends Uri>
verwendet. (If71de) - Auf öffentliche Konstanten in den Klassen
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
undActivityResultContracts.RequestMultiplePermissions
kann jetzt über die öffentlichenCompanion
-Objekte zugegriffen werden, wenn Kotlin verwendet wird. (aosp/1832555)
Aktualisierungen der Dokumentation
- Die Einstellungsmitteilung für APIs, die jetzt von den Activity Result APIs (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
undonRequestPermissionsResult
) verarbeitet werden, wurde um weitere Details ergänzt. (cce80f)
Version 1.4.0-alpha02
15. September 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
und androidx.activity:activity-ktx:1.4.0-alpha02
sind veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
- Das
activity-compose
-Artefakt enthält jetzt einenLaunchDuringComposition
-Lint-Fehler, der verhindert, dass Sie dielaunch
-Methode vonActivityResultLauncher
als Teil der Komposition aufrufen, da die Komposition nebenwirkungsfrei sein sollte. Verwenden Sie die APIs zum Verarbeiten von Nebeneffekten. (7c2bbe, b/191347220)
API-Änderungen
- Die Klasse
ActivityResultContract
wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullable-Eigenschaft für ihre Ein- und Ausgabeklassen definieren können. (I8a8f5) - Die Klasse
ActivityResultContracts
und ihre Verträge wurden in Kotlin neu geschrieben, um die richtige Null-Zulässigkeit zu gewährleisten. (I69802)
Version 1.4.0-alpha01
1. September 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
und androidx.activity:activity-ktx:1.4.0-alpha01
sind veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Neue Funktionen
- AndroidX
ComponentActivity
implementiert jetzt dieMenuHost
-Schnittstelle. So kann jede Komponente Menüelemente zumActionBar
hinzufügen, indem sie der Aktivität eineMenuProvider
-Instanz hinzufügt. JederMenuProvider
kann optional mit einemLifecycle
hinzugefügt werden, das die Sichtbarkeit dieser Menüelemente automatisch basierend auf demLifecycle
-Status steuert und das Entfernen desMenuProvider
übernimmt, wenn dasLifecycle
zerstört wird. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Geändertes Verhalten
- Die
ActivityResultRegistry
löst jetzt eineIllegalStateException
aus, wenn versucht wird,launch()
für eineActivityResultLauncher
aufzurufen, die nicht registriert oder deren Registrierung aufgehoben wurde. (Ida75d, b/192567522)
Externe Beiträge
- Vielen Dank an dmitrilc für die Korrektur eines Tippfehlers in der
ActivityResult
-Dokumentation. (#221)
Version 1.3.1
Version 1.3.1
4. August 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
und androidx.activity:activity-ktx:1.3.1
sind veröffentlicht. Version 1.3.1 enthält diese Commits.
Abhängigkeitsupdates
- Aktivitäten hängen jetzt von Kotlin
1.5.21
ab. - Activity Compose hängt jetzt von Compose
1.0.1
ab.
Version 1.3.0
Version 1.3.0
28. Juli 2021
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
und androidx.activity:activity-ktx:1.3.0
sind veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Activity Compose-Artefakt: Das
activity-compose
-Artefakt stellt die ErweiterungsmethodesetContent
zum Hosten Ihrer Jetpack Compose-UI in einer Aktivität und Compose-spezifische Wrapper für die Interaktion mit denComponentActivity
-APIs zum Verarbeiten der System-Zurück-Schaltfläche und der Activity Result APIs bereit. Weitere Informationen finden Sie in der Dokumentation. - CaptureVideo-Vertrag: Der
CaptureVideo
ActivityResultContract
ersetzt den jetzt eingestelltenTakeVideo
-Vertrag und gibt einen booleschen Wert zurück, der den Erfolg angibt und in vielen Kamera-Apps funktioniert. - Tracking von Hinweisen im Bild-im-Bild-Modus: Nutzer von
activity-ktx
können jetzt die ErweiterungsmethodetrackPipAnimationHintView
aufActivity
verwenden, um diePictureInPictureParams
automatisch mit der neuen Position der Ansicht neu zu erstellen, wenn sich die Position relativ zum Fenster ändert.
Version 1.3.0-rc02
14. Juli 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
und androidx.activity:activity-ktx:1.3.0-rc02
sind veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
-Callbacks werden jetzt richtig gespeichert und wiederhergestellt, sodass sie nicht im „savedState“ dupliziert werden. (I97816, b/191893160)
Version 1.3.0-rc01
1. Juli 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
und androidx.activity:activity-ktx:1.3.0-rc01
werden ohne Änderungen gegenüber 1.3.0-beta02
veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta02
16. Juni 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
und androidx.activity:activity-ktx:1.3.0-beta02
sind veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
activity-compose
wurde aktualisiert, um von Compose 1.0.0-beta09
abhängig zu sein. androidx.compose.ui:ui-test-junit4
hat jetzt eine Kompilierungszeitabhängigkeit von activity-compose
.
Version 1.3.0-beta01
2. Juni 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
und androidx.activity:activity-ktx:1.3.0-beta01
sind veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
API-Änderungen
- Die zuvor verworfene Methode
@Composable registerForActivityResult()
wurde entfernt. Verwenden Sie stattdessenrememberLauncherForActivityResult()
. (Ic39d3)
Version 1.3.0-alpha08
18. Mai 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
und androidx.activity:activity-ktx:1.3.0-alpha08
sind veröffentlicht. Version 1.3.0-alpha08 enthält diese Commits.
Neue Funktionen
- Die neue
CaptureVideo
ActivityResultContract
gibt einen booleschen Wert für IhrActivityResultCallback
zurück, der angibt, ob Ihr Video erfolgreich unter dem angegebenen URI gespeichert wurde. Dies ersetzt den jetzt eingestelltenTakeVideo
-Vertrag, da Kamera-Apps nur sehr selten eine Thumbnail-Bitmap zurückgegeben haben, was das Ergebnis unbrauchbar machte. (Ie21f2, b/185938070) - Es wurde eine neue API
Activity#setPipAnimationHintView
hinzugefügt, um den Quellrechteck-Hinweis von PipParams zu aktualisieren, wenn sich die Ansicht bewegt. (I9063d)
API-Änderungen
- Die Funktion
rememberLauncherForActivityResult
gibt jetzt einen Launcher zurück, der die Funktionunregister()
ersetzt. Die Registrierung und Deregistrierung des Launchers wird automatisch vonrememberLauncherForActivityResult
übernommen. (I2443e)
Compose-Kompatibilität
androidx.activity:activity-compose:1.3.0-alpha08
ist nur mit Compose-Version1.0.0-beta07
und höher kompatibel.
Version 1.3.0-alpha07
21. April 2021
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
und androidx.activity:activity-ktx:1.3.0-alpha07
sind veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
rememberLauncherForActivityResult
gibt jetzt eine stabile Referenz auf dieselbeActivityResultLauncher
-Instanz zurück, auch wenn sich der Vertrag aufgrund von Neuzusammenstellungen ändert. (Id2d6d)- Bei Verwendung instabiler Versionen von Fragmenten über
1.3.0
wird kein falsch positiver Lint-Fehler mehr ausgegeben, in dem Sie aufgefordert werden,1.3.0
zu verwenden. (aosp/1670206, b/184847092)
Version 1.3.0-alpha06
7. April 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
und androidx.activity:activity-ktx:1.3.0-alpha06
sind veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.
API-Änderungen
- Die
registerForActivityResult()
API wurde inrememberLauncherForActivityResult()
umbenannt, um besser darauf hinzuweisen, dass das zurückgegebeneActivityResultLauncher
ein verwaltetes Objekt ist, das in Ihrem Namen gespeichert wird. Beim Versuch,unregister
aufzurufen, wird jetzt ein Fehler ausgegeben.ActivityResultLauncher
(I2bb6d) LocalOnBackPressedDispatcherOwner.current
undLocalActivityResultRegistryOwner.current
geben jetzt einen Nullable-Wert zurück, um besser feststellen zu können, ob er in der aktuellen Komposition verfügbar ist. APIs, für die diese APIs erforderlich sind, z. B.BackHandler
undrememberLauncherForActivityResult()
, geben jetzt einen aussagekräftigeren Fehler zurück, wenn der zugrunde liegende Inhaber nicht gefunden wird.NavHost
funktioniert jetzt auch, wenn keineOnBackPressedDispatcherOwner
gefunden wird, z. B. bei der Vorschau vonNavHost
. (I7d8b4)
Fehlerkorrekturen
- Die
BackHandler
fängt jetzt Rückwärtstastenanschläge richtig ab, wenn die AktivitätSTOPPED
und dann wiederSTARTED
ist. Außerdem wurden andere Callbacks mit einem LifecycleOwner hinzugefügt. (I71de6, b/182284739) - Die Verwendung der
launch()
-Methodenerweiterung mit einem benutzerdefiniertenActivityResultContract
, das eineUnit
-Eingabe hat, führt nicht mehr zu einemNullPointerException
(I76282, b/183837954).
Version 1.3.0-alpha05
24. März 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
und androidx.activity:activity-ktx:1.3.0-alpha05
sind veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Aus Aktivität 1.2.2: Ein Problem im Lint-Check
InvalidFragmentVersionForActivityResult
wurde behoben, das zu einem fälschlichen positiven Ergebnis führte, wenn Fragment 1.3.1 oder höher verwendet wurde. (I54da1, b/182388985) - Ab Aktivität 1.2.2:
ComponentActivity
vermeidet jetzt einenClassNotFoundException
beim Starten einesIntent
über einActivityResultContract
, das zuvor als Extra in einem anderenIntent
gehalten wurde. (Ieff05, b/182906230)
Abhängigkeitsupdates
- Aus Aktivität 1.2.2: Die Aktivität hängt jetzt von Lifecycle
2.3.1
ab.
Version 1.3.0-alpha04
10. März 2021
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
und androidx.activity:activity-ktx:1.3.0-alpha04
sind veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Ab Aktivität
1.2.1
:RequestMultiplePermissions
werden jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurückgegeben und nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668) - Über Aktivität
1.2.1
:ActivityResultRegistry
sorgt jetzt dafür, dass laufendelaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sieunregister()
und dannregister()
mit demselben Schlüssel. (I9ef34, b/181267562) - Bei Activity Compose werden keine Testabhängigkeiten mehr zum Laufzeit-Classpath hinzugefügt. (Ifd8b3)
- Ein Problem mit
BackHandler
wurde behoben, bei dem die zuvor festgelegteonBack
-Lambda nach der Neuzusammenstellung weiterhin verwendet wurde. (8eb5eb)
Version 1.3.0-alpha03
24. Februar 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
und androidx.activity:activity-ktx:1.3.0-alpha03
sind veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
Neue Funktionen
- Es gibt jetzt eine zusammensetzbare
registerForActivityResult
-Funktion, mit der Ergebnisse aus Aktivitäten in zusammensetzbaren Funktionen abgerufen werden können. (Ia7851, b/172690553)
API-Änderungen
LocalOnBackPressedDispatcherOwner
hat jetztprovides
-Funktionen, die mitCompositionLocalProvider
verwendet werden können und dieasProvidableCompositionLocal()
API ersetzen. (I45d24)
Version 1.3.0-alpha02
10. Februar 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
und androidx.activity:activity-ktx:1.3.0-alpha02
sind veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem in Activity Compose
1.3.0-alpha01
wurde behoben, das beim Verwenden von Compose1.0.0-alpha12
eineNoSuchMethodError: No static method setContent
-Ausnahme verursacht hat. Alle Compose-Nutzer sollten1.3.0-alpha02
oder höher verwenden. (b/179911234)
API-Änderungen
- Mit der
BackHandler
API kann ein Composable den Zurück-Button des Systems abfangen. (I58ed5, b/172154006)
Version 1.3.0-alpha01
10. Februar 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
und androidx.activity:activity-ktx:1.3.0-alpha01
sind veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
- Das neue
activity-compose
-Artefakt bietet Jetpack Compose-spezifische Hilfsfunktionen fürandroidx.activity
-spezifische APIs.ComponentActivity.setContent
wurde vonandroidx.compose.ui.platform.setContent
nachandroidx.activity.compose.setContent
verschoben. (Icf416)
Bekannte Probleme
- Wenn Sie Activity Compose
1.3.0-alpha01
und Bibliotheken verwenden, die davon abhängen, z. B.androidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, wird eineNoSuchMethodError: No static method setContent
-Ausnahme ausgelöst. (b/179911234)
Version 1.2.4
Version 1.2.4
21. Juli 2021
androidx.activity:activity:1.2.4
und androidx.activity:activity-ktx:1.2.4
werden veröffentlicht. Version 1.2.4 enthält diese Commits.
Fehlerkorrekturen
- Aus Aktivität
1.3.0-rc02
: Die ActivityResultRegistry-Callbacks werden jetzt richtig gespeichert und wiederhergestellt, sodass Callbacks im SavedState nicht dupliziert werden. (I97816, b/191893160)
Version 1.2.3
Version 1.2.3
5. Mai 2021
androidx.activity:activity:1.2.3
und androidx.activity:activity-ktx:1.2.3
werden veröffentlicht. Version 1.2.3 enthält diese Commits.
Fehlerkorrekturen
- Die Verwendung der
launch()
-Methodenerweiterung mit einem benutzerdefiniertenActivityResultContract
, das eineUnit
-Eingabe hat, führt nicht mehr zu einemNullPointerException
(I76282, b/183837954). - Ein fälschlicherweise ausgegebener Lint-Fehler wurde behoben, der Sie aufforderte, Fragment
1.3.0
zu verwenden, wenn Sie einen Snapshot, eine Alpha-, Beta- oder RC-Version einer neueren Version von Fragments verwenden. (f4a57e, b/184847092)
Version 1.2.2
Version 1.2.2
24. März 2021
androidx.activity:activity:1.2.2
und androidx.activity:activity-ktx:1.2.2
werden veröffentlicht. Version 1.2.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem im
InvalidFragmentVersionForActivityResult
-Lint-Check wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis geführt hat. (I54da1, b/182388985) - Bei
ComponentActivity
wird jetzt einClassNotFoundException
vermieden, wenn einIntent
über einActivityResultContract
gestartet wird, das zuvor als Extra in einem anderenIntent
enthalten war. (Ieff05, b/182906230)
Abhängigkeitsupdates
- Die Aktivität hängt jetzt von Lifecycle
2.3.1
ab.
Version 1.2.1
Version 1.2.1
10. März 2021
androidx.activity:activity:1.2.1
und androidx.activity:activity-ktx:1.2.1
werden veröffentlicht. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
RequestMultiplePermissions
gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurück und nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)ActivityResultRegistry
sorgt jetzt dafür, dass laufendelaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sieunregister()
und dannregister()
mit demselben Schlüssel ausführen. (I9ef34, b/181267562)
Version 1.2.0
Version 1.2.0
10. Februar 2021
androidx.activity:activity:1.2.0
und androidx.activity:activity-ktx:1.2.0
werden veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Activity Result APIs:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der SiestartActivityForResult()
+onActivityResult()
- undrequestPermissions()
+onRequestPermissionsResult()
-Abläufe verarbeiten können, ohne Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem wird die Typsicherheit durchActivityResultContract
erhöht und es werden Hooks zum Testen dieser Abläufe bereitgestellt. Weitere Informationen finden Sie unter Ergebnis aus einer Aktivität abrufen.
ContextAware
:ComponentActivity
implementiert jetztContextAware
. So können Sie eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen, die einen Callback vor der Basis-Activity.onCreate()
erhalten.- Mit einer suspendierenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen nicht suspendierenden Block ausführen, wenn der Kontext verfügbar wird, und ein Ergebnis zurückgeben. - Diese API wird von
FragmentActivity
in Fragment 1.3.0 verwendet, um den Status vonFragmentManager
wiederherzustellen. Alle Listener, die Unterklassen vonFragmentActivity
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 vonAppCompatActivity
hinzugefügt werden, werden nach diesem Listener ausgeführt.
- Mit einer suspendierenden Kotlin-Erweiterung
ViewTree
-Unterstützung:ComponentActivity
unterstützt jetzt die APIsViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
undViewTreeSavedStateRegistryOwner
, die in Lifecycle2.3.0
und SavedState1.1.0
hinzugefügt wurden. Daher wird die Aktivität alsLifecycleOwner
,ViewModelStoreOwner
undSavedStateRegistryOwner
für alle Ansichten zurückgegeben, die direkt derComponentActivity
hinzugefügt wurden.
- reportFullyDrawn()-Backport: Die
Activity
-Methode vonreportFullyDrawn()
wurde inComponentActivity
backportiert, damit sie auf allen API-Levels funktioniert. Dadurch wird ein Absturz auf API 19 behoben und für alle API-Levels wird ein Tracing für diese Methode hinzugefügt.
Version 1.2.0-rc01
16. Dezember 2020
androidx.activity:activity:1.2.0-rc01
und androidx.activity:activity-ktx:1.2.0-rc01
werden veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Mit
ActivityResultRegistry
wird jetzt immer der genaue gespeicherte Status wiederhergestellt. (Idd56b) - Tracing zu
ComponentActivity.reportFullyDrawn
hinzufügen (Ic7632)
Externe Beiträge
ComponentActivity
überschreibt jetztreportFullyDrawn()
. Dadurch kann die Methode auf allen API-Ebenen aufgerufen werden. Außerdem wird ein Absturz behoben, der auftritt, wenn diese Methode auf Geräten mit API 19 ohne die entsprechende Systemberechtigung aufgerufen wird. Vielen Dank, Simon Schiller! (b/163239764, #103)
Version 1.2.0-beta02
2. Dezember 2020
androidx.activity:activity:1.2.0-beta02
und androidx.activity:activity-ktx:1.2.0-beta02
werden veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Activity Result API nicht auf den Lebenszyklus
STARTED
wartete, bevor Ergebnisse bereitgestellt wurden, wenn sie mit einemLifecycle
registriert war. (I109ea)
Externe Beiträge
- Die Dokumentation für
launch()
wurde aktualisiert, um explizit darauf hinzuweisen, dass eineActivityNotFoundException
ausgelöst werden kann. Vielen Dank, Michał Zieliński! (aosp/1493580)
Version 1.2.0-beta01
1. Oktober 2020
androidx.activity:activity:1.2.0-beta01
und androidx.activity:activity-ktx:1.2.0-beta01
werden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Fehlerkorrekturen
Die
ActivityResultRegistry
generiert jetzt zufällig Ganzzahlen, bis eine gefunden wird, die nicht zugewiesen ist, um als Anfragecoderegister()
verwendet zu werden. So wird ein möglicher Ganzzahlüberlauf durch das Inkrementieren von Anfragecodes verhindert. (b/168779518)Lifecycle
-Beobachter werden ordnungsgemäß entfernt, wennunregister()
für einActivityResultLauncher
aufgerufen wird. (b/165608393)
Geändertes Verhalten
- Die
ActivityResultRegistry
löst jetzt eineIllegalStateException
aus, wenn versucht wird,register()
mit einemLifecycleOwner
aufzurufen, dessenLifecycle
bereitsSTARTED
erreicht hat. (b/165435866)
Dokumentation aktualisiert
- In der
ContextAware
-Dokumentation wird aufLifecycleOwner
verwiesen, umLifecycle
-Callbacks als geeigneten Ort für Erstellungs- und Vernichtungsereignisse hervorzuheben. (aosp/1414152)
Version 1.2.0-alpha08
19. August 2020
androidx.activity:activity:1.2.0-alpha08
und androidx.activity:activity-ktx:1.2.0-alpha08
werden veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetztContextAware
. Sie können also eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen, die einen Callback vor der Basis-Activity.onCreate()
erhalten. (b/161390636)- Mit einer suspendierenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen nicht suspendierenden Block ausführen, wenn der Kontext verfügbar wird, und ein Ergebnis zurückgeben. (I8290c) - Diese API wird von
FragmentActivity
in Fragment 1.3.0-alpha08 verwendet, um den Status vonFragmentManager
wiederherzustellen. Alle Listener, die Unterklassen vonFragmentActivity
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 vonAppCompatActivity
hinzugefügt werden, werden nach diesem Listener ausgeführt. (I513da)
- Mit einer suspendierenden Kotlin-Erweiterung
Fehlerkorrekturen
- Ein Problem mit dem
ActivityResultFragmentVersionDetector
-Lint-Check wurde behoben, das dazu führte, dass er bei Verwendung von Lint 27.1.0 oder höher nicht mehr funktionierte. (b/162155191)
Version 1.2.0-alpha07
22. Juli 2020
androidx.activity:activity:1.2.0-alpha07
und androidx.activity:activity-ktx:1.2.0-alpha07
werden veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
Neue Funktionen
- Es wurde ein neuer
InvalidFragmentVersionForActivityResult
-Lint-Check hinzugefügt, der prüft, ob Sie Fragment1.3.0-alpha07
verwenden, wenn Sie die Activity Result API verwenden. So werden Laufzeitabstürze aufgrund von Problemen mit ungültigen Anfragecodes und nicht funktionierenden Berechtigungsanfragen vermieden, die durch die Verwendung älterer Versionen von Fragmenten verursacht werden. (b/152554847)
Externe Beiträge
- Es wurde ein
ArrayIndexOutOfBoundsException
beim Parsen der Ergebnisse für denRequestPermission
-Aktivitätsergebnisvertrag behoben. (I8f9e3, b/161057605)
Version 1.2.0-alpha06
10. Juni 2020
androidx.activity:activity:1.2.0-alpha06
und androidx.activity:activity-ktx:1.2.0-alpha06
werden veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
Neue Funktionen
- Sie können die Klasse
ActivityResult
jetzt in Kotlin dekonstruieren, um direkt aufrequestCode
undintent
zuzugreifen. (b/157212935) - Mit
ActivityResultLauncher
können Sie jetzt dieActivityResultContract
abrufen, die zum Registrieren des Launchers verwendet wurde. (b/156875743)
API-Änderungen
- Funktionsgefährdende Änderung: Die Methode
invoke()
fürActivityResultRegistry
wurde inonLaunch()
umbenannt. (b/157496491) - Der
OpenMultipleDocuments
-Vertrag gibt jetzt eine leere Liste anstelle vonnull
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
- Unterstützung für
ViewTreeViewModelStoreOwner
aus Lifecycle2.3.0-alpha03
undViewTreeSavedStateRegistryOwner
aus SavedState1.1.0-alpha01
bei Verwendung einesView
in einemComponentActivity
wurde hinzugefügt. (aosp/1297993, aosp/1300264)
API-Änderungen
- Der
TakePicture
-Vertrag gibt jetzt einboolean
zurück, das den Erfolg anzeigt, anstatt einer MiniaturansichtBitmap
, da dies beim Schreiben des Bildes in den bereitgestelltenUri
nur sehr selten von Kamera-Apps unterstützt wurde. (b/154302879) - Die
invoke()
-Erweiterungen fürActivityResultLauncher
wurden entfernt. Stattdessen wird jetzt explizitlaunch()
verwendet, um besser zu verdeutlichen, dass es sich um asynchrone Vorgänge handelt. Dem Paketandroidx.activity.result
fürActivityResultLauncher<Void>
undActivityResultLauncher<Unit>
wurden Kotlin-Erweiterungen fürlaunch
hinzugefügt, sodassnull
bzw.Unit
nicht mehr übergeben werden müssen. Das Verhalten entspricht dem der zuvorinvoke()
-Erweiterungen. (aosp/1304674, aosp/1304675) - Die
IntentSenderRequest.Builder
-Methoden fürsetFlagsMask()
undsetFlagsValues()
wurden in einer einzigensetFlags()
-Methode zusammengefasst. (aosp/1302111)
Fehlerkorrekturen
- Beim Registrieren eines
ActivityResultCallback
mit einemLifecycleOwner
wurde ein Problem behoben, bei dem der Rückruf ausgelöst wurde, bevor der StatusSTARTED
erreicht wurde. (aosp/1309744)
Geändertes Verhalten
- Die
ActivityResultRegistry
generiert jetzt Anforderungscodes, die mit0xFFFF
statt mit0
beginnen. So wird eine Überschneidung bei der Verwendung vonstartActivityForResult()
oderrequestPermissions()
in einer Aktivität verhindert. (aosp/1302324)
Version 1.2.0-alpha04
29. April 2020
androidx.activity:activity:1.2.0-alpha04
und androidx.activity:activity-ktx:1.2.0-alpha04
werden veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- Ein Vertrag wurde hinzugefügt, der „startIntentSenderForResult“ für die ActivityResult-APIs aufrufen kann. (b/153007517)
API-Änderungen
- Die Methode
prepareCall()
wurde inregisterForActivityResult()
umbenannt, sowohl hier inComponentActivity
als auch im Fragment1.3.0-alpha04
. (aosp/1278717) - Die Verträge
GetContents
,OpenDocuments
undRequestPermissions
wurden inGetMultipleContents
,OpenMultipleDocuments
undRequestMultiplePermissions
umbenannt. (aosp/1280161) ComponentActivity
implementiert jetzt dieActivityResultRegisteryOwner
-Schnittstelle. (aosp/1290888)- – Die APIs
startActivityForResult()
/onActivityResult()
undonRequestPermissionsResult()
aufComponentActivity
wurden eingestellt. Verwenden Sie die Activity Result APIs. (b/154751887)
Fehlerkorrekturen
- Wenn Sie die Verträge
GetMultipleContents
undOpenMultipleDocuments
verwenden und einen einzelnen Artikel auswählen, wird dieser jetzt korrekt an Ihren Callback zurückgegeben. (b/152941153)
Version 1.2.0-alpha03
1. April 2020
androidx.activity:activity:1.2.0-alpha03
und androidx.activity:activity-ktx:1.2.0-alpha03
werden veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Die Verträge
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
undCreateDocument
wurden der Gruppe der vorgefertigten Verträge hinzugefügt, die vonActivityResultContracts
bereitgestellt werden. (aosp/1262482, aosp/1266916, aosp/1268960) - Die Activity Result APIs unterstützen jetzt das Starten einer Aktivität für ein Ergebnis mit einem optionalen
ActivityOptionsCompat
. (b/151860054)
API-Änderungen
- Der
TakePicture
-Vertrag akzeptiert jetzt eineUri
-Eingabe für den Speicherort des Bildes. Der vorherige Vertrag, für den keine Eingabe erforderlich ist, wurde inTakePicturePreview
umbenannt. (aosp/1262482) - Die Methode
registerActivityResultCallback()
fürActivityResultRegistry
wurde inregister()
umbenannt. (aosp/1267621) - Die Methode
dispose()
fürActivityResultLauncher
wurde inunregister()
umbenannt undunregisterResultCallback()
fürActivityResultRegistry
wurde entfernt. (aosp/1267621) - Die Methode
createIntent()
vonActivityResultContact
akzeptiert jetzt zusätzlich zur Eingabe auch einenContext
, um explizite Intents zu erstellen. (aosp/1238800) - Ein
ActivityResultContract
kann jetztgetSynchronousResult()
überschreiben, um ein Ergebnis zu liefern, ohnestartActivityForResult
aufzurufen. Dies wird von den VerträgenRequestPermission
undRequestPermissions
verwendet, um den Status „granted“ (gewährt) korrekt zu übermitteln, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799) - Der zuvor verfügbare Vertrag
Dial
wurde entfernt, daIntent
nicht für die Verwendung mitstartActivityForResult()
vorgesehen ist. (aosp/1266916) - Viele der Activity Result APIs, die nicht erweitert werden sollen, sind jetzt
final
. Dazu gehörengetActivityResultRegistry()
, dieprepareCall()
-Methoden, alle Methoden vonActivityResultRegistry
mit Ausnahme voninvoke()
sowie eine Reihe der Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)
Fehlerkorrekturen
- Es wurde ein
NullPointerException
inActivityResultRegistry
behoben, das auftrat, wenn versucht wurde, Ergebnisse an einen Callback zu senden, der nach einer Konfigurationsänderung noch nicht neu registriert wurde.ActivityResultRegistry
speichert diese ausstehenden Ergebnisse jetzt und sendet sie, wenn der Callback neu registriert wird. (b/152137004)
Version 1.2.0-alpha02
18. März 2020
androidx.activity:activity:1.2.0-alpha02
und androidx.activity:activity-ktx:1.2.0-alpha02
werden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- ActivityResultRegistry:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der Sie die AbläufestartActivityForResult()
+onActivityResult()
undrequestPermissions()
+onRequestPermissionsResult()
verarbeiten können, ohne Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem bietet sie durchActivityResultContract
eine höhere Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie unter Ergebnis aus einer Aktivität abrufen. (b/125158199)
Version 1.2.0-alpha01
4. März 2020
androidx.activity:activity:1.2.0-alpha01
und androidx.activity:activity-ktx:1.2.0-alpha01
werden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unterstützung für die
ViewTreeLifecycleOwner.get(View)
API hinzugefügt, die in Lifecycle2.3.0-alpha01
hinzugefügt wurde. Dadurch wird die Aktivität alsLifecycleOwner
für alle Ansichten zurückgegeben, die direkt der Aktivität hinzugefügt wurden. (aosp/1182955)
Fehlerkorrekturen
- Ein Regressionsproblem wurde behoben, das in Activity
1.1.0
eingeführt wurde. Bei der Ausführung auf älteren Versionen der Plattform führteonBackPressed()
aufgrund eines Fehlers in derandroid.app.FragmentManager
zu einemIllegalStateException
. (b/146290338)
Version 1.1.0
Version 1.1.0
22. Januar 2020
androidx.activity:activity:1.1.0
wird veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Lifecycle ViewModel SavedState Integration:
SavedStateViewModelFactory
ist jetzt die Standardfactory, die verwendet wird, wennby viewModels()
, derViewModelProvider
-Konstruktor oderViewModelProviders.of()
mit einemComponentActivity
oder seinen Unterklassen verwendet wird.
Version 1.1.0-rc03
4. Dezember 2019
androidx.activity:activity:1.1.0-rc03
und androidx.activity:activity-ktx:1.1.0-rc03
werden veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Änderungen an Abhängigkeiten
- Die Aktivität hängt jetzt von Lifecycle
2.2.0-rc03
und Lifecycle ViewModel SavedState1.0.0-rc03
ab.
Version 1.1.0-rc02
7. November 2019
androidx.activity:activity:1.1.0-rc02
und androidx.activity:activity-ktx:1.1.0-rc02
werden veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Änderungen an Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
2.2.0-rc02
ab.
Version 1.1.0-rc01
23. Oktober 2019
androidx.activity:activity:1.1.0-rc01
und androidx.activity:activity-ktx:1.1.0-rc01
werden ohne Änderungen gegenüber 1.1.0-beta01
veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Version 1.1.0-beta01
9. Oktober 2019
androidx.activity:activity:1.1.0-beta01
und androidx.activity:activity-ktx:1.1.0-beta01
werden veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Änderungen an Abhängigkeiten
- „Activity“ hängt jetzt von SavedState 1.0.0 (stabil) ab.
Version 1.1.0-alpha03
5. September 2019
androidx.activity:activity:1.1.0-alpha03
und androidx.activity:activity-ktx:1.1.0-alpha03
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Die Aktivität hängt jetzt von Core 1.1.0 (stabil) ab.
Fehlerkorrekturen
- Die Aktivität hängt jetzt von Lifecycle
2.2.0-alpha04
ab.
Version 1.1.0-alpha02
7. August 2019
androidx.activity:activity:1.1.0-alpha02
und androidx.activity:activity-ktx:1.1.0-alpha02
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
SavedStateViewModelFactory
ist jetzt die Standardfactory, die bei Verwendung vonby viewModels()
, demViewModelProvider
-Konstruktor oderViewModelProviders.of()
mit einemComponentActivity
verwendet wird (b/135716331).
Version 1.1.0-alpha01
2. Juli 2019
androidx.activity:activity:1.1.0-alpha01
und androidx.activity:activity-ktx:1.1.0-alpha01
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
activity
ist jetzt von Lifecycle2.2.0-alpha02
abhängig. (aosp/1007817)activity-ktx
hat eine Abhängigkeit vonlifecycle-runtime-ktx
hinzugefügt. Sie müssen sie nicht mehr explizit zu Ihren Abhängigkeiten hinzufügen, wenn Sieactivity-ktx
oder Bibliotheken verwenden, die vonactivity-ktx
abhängen (z. B.fragment-ktx
). (aosp/987162)
Version 1.0.0
Version 1.0.0
5. September 2019
androidx.activity:activity:1.0.0
und androidx.activity:activity-ktx:1.0.0
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Wichtige Funktionen von Version 1.0.0
- ComponentActivity:
ComponentActivity
dient als neue Basisklasse fürFragmentActivity
in Fragment1.1.0
und damit auch fürAppCompatActivity
in AppCompat1.1.0
. - activity-ktx: Das Modul
activity-ktx
enthält eineby viewModels
-Kotlin-Eigenschaftserweiterung für den Zugriff auf ViewModels. Dieses Modul wird automatisch eingebunden, wenn Siefragment-ktx
aus Fragment1.1.0
einbinden. - OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von
onBackPressed()
können Sie jetzt einenOnBackPressedCallback
aus einem beliebigenLifecycleOwner
(z. B. einem Fragment) registrieren, um Ereignisse der System-Zurück-Schaltfläche abzufangen.activity-ktx
wurde eine Lambda-Funktion mit Receiver-VersionaddCallback
hinzugefügt. Weitere Informationen finden Sie unter Benutzerdefinierte Zurück-Navigation bereitstellen. - onRetainCustomNonConfigurationInstance wird nicht mehr unterstützt: Die APIs
onRetainCustomNonConfigurationInstance()
undgetLastCustomNonConfigurationInstance()
werden nicht mehr unterstützt. Es wird dringend empfohlen, ViewModels zum Speichern von Status zu verwenden, der nicht zur Konfiguration gehört, da sie eine zusammensetzbare Lösung für jedeViewModelStoreOwner
bieten, die die Inhaberschaft der beibehaltenen Objekte klar macht und einenonCleared()
-Callback zum Bereinigen von Ressourcen bereitstellt, wenn die Aktivität endgültig zerstört wird.
Version 1.0.0-rc01
2. Juli 2019
androidx.activity:activity:1.0.0-rc01
und androidx.activity:activity-ktx:1.0.0-rc01
werden ohne Änderungen gegenüber 1.0.0-beta01
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-beta01
5. Juni 2019
androidx.activity::activity:1.0.0-beta01
und androidx.activity:activity-ktx:1.0.0-beta01
werden ohne Änderungen gegenüber 1.0.0-alpha08
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-alpha08
7. Mai 2019
androidx.activity:activity:1.0.0-alpha08
und androidx.activity:activity-ktx:1.0.0-alpha08
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- Funktionsgefährdende Änderung: Die zuvor eingestellten Methoden
addOnBackPressedCallback
undremoveOnBackPressedCallback
fürComponentActivity
wurden entfernt. aosp/953857 - Die Methoden
setEnabled()
undisEnabled()
vonOnBackPressedCallback
sind jetzt final. b/131416833 - Die Methode
remove()
vonOnBackPressedCallback
ist jetzt final. aosp/952720 OnBackPressedDispatcher
hat jetzt öffentliche Konstruktoren, sodass Sie eigene Instanzen für Tests usw. erstellen können. aosp/953431onBackPressed()
fürComponentActivity
ist jetzt explizit als@MainThread
markiert. aosp/952721
Fehlerkorrekturen
- Ein
ConcurrentModificationException
wurde behoben, der beim Aufrufen vonremove()
über diehandleOnBackPressed()
-Methode einesOnBackPressedCalback
auftrat, das mit einemLifecycleOwner
hinzugefügt wurde. b/131765095
Version 1.0.0-alpha07
25. April 2019
androidx.activity:activity:1.0.0-alpha07
und androidx.activity:activity-ktx:1.0.0-alpha07
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
In dieser Version wurde die Verarbeitung von onBackPressed()
erheblich geändert. Weitere Informationen
- Die Methoden für
OnBackPressedCallback
undOnBackPressedDispatcher
wurden als@MainThread
markiert. (aosp/943813) - Die
handleOnBackPressed()
-Methode gibt keineboolean
mehr zurück. Stattdessen istOnBackPressedCallback
jetzt eine abstrakte Klasse, die aktiviert oder deaktiviert werden kann. Nur wenn die neueisEnabled()
-Methode „true“ zurückgibt, wirdhandleOnBackPressed()
aufgerufen. In dieser Methode müssen Sie die Zurück-Schaltfläche verarbeiten. (aosp/944518) - Die
addCallback
-Methoden vonOnBackPressedDispatcher
geben keineCancellable
-Instanz mehr zurück.OnBackPressedCallback
enthalten jetzt eineremove()
-Methode, die diese Funktion erfüllt. So können Sieremove()
währendhandleOnBackPressed()
aufrufen. (aosp/944519) (aosp/946316) activity-ktx
enthält jetzt einen Callback mit Empfängerbereich füraddCallback
, der eine Lambda-Funktion akzeptiert, diehandleOnBackPressed()
implementiert und Zugriff aufisEnabled
undremove()
hat (aosp/944520).
Version 1.0.0-alpha06
3. April 2019
androidx.activity:activity:1.0.0-alpha06
und androidx.activity:activity-ktx:1.0.0-alpha06
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- ComponentActivity enthält jetzt einen zweiten Konstruktor, der ein
@LayoutRes int
akzeptiert. Damit wird das bisherige Verhalten ersetzt, bei dem die AppCompatActivity-Klasse mit@ContentView
annotiert wurde. Dieses Vorgehen funktioniert sowohl in App- als auch in Bibliotheksmodulen. (b/128352521) - Die
OnBackPressedCallback
-bezogenen APIs in ComponentActivity wurden zugunsten der neuenOnBackPressedDispatcher
eingestellt, die übergetOnBackPressedDispatcher()
abgerufen werden kann. (aosp/922523) - Methoden zum Hinzufügen eines neuen
OnBackPressedCallback
zumOnBackPressedDispatcher
geben jetzt einCancellable
-Objekt zurück. Dadurch kann der Callback entfernt werden, ohne dass ein expliziter Verweis auf dasOnBackPressedDispatcher
erforderlich ist. (aosp/922523) - Wenn Sie ein
OnBackPressedCallback
mit einem zugehörigenLifecycleOwner
hinzufügen, wird dasOnBackPressedCallback
jetzt beim Starten und Beenden des Lebenszyklus hinzugefügt bzw. entfernt. (aosp/922523)
Version 1.0.0-alpha05
13. März 2019
androidx.activity:activity:1.0.0-alpha05
und androidx.activity:activity-ktx:1.0.0-alpha05
werden veröffentlicht. Eine vollständige Liste der in diesem Release enthaltenen Commits finden Sie hier.
Neue Funktionen
@ContentView
-Anmerkungssuchen werden jetzt im Cache gespeichert (b/123709449).
Version 1.0.0-alpha04
30. Januar 2019
androidx.activity:activity 1.0.0-alpha04
und androidx.activity:activity-ktx 1.0.0-alpha04
werden veröffentlicht.
Neue Funktionen
- Unterstützung für die Klassenannotation
@ContentView
wurde hinzugefügt. Damit können Sie angeben, welche Layout-XML-Datei anstelle vonsetContentView()
eingefügt werden soll. (aosp/837619)
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getViewModelStore()
nicht überschrieben werden sollte und in einem zukünftigen Release endgültig festgelegt wird. Wenn Sie diese Methode derzeit überschreiben, stellen Sie bitte eine Funktionsanfrage. (aosp/837619)
Fehlerkorrekturen
- Das Modul
activity
hängt jetzt von Version 2.1.0-alpha02 von ViewModel ab, um der Abhängigkeit des Modulsactivity-ktx
zu entsprechen.
Version 1.0.0-alpha03
17. Dezember 2018
androidx.activity 1.0.0-alpha03
wird veröffentlicht.
Neue Funktionen
- ComponentActivity implementiert jetzt
BundleSavedStateRegistryOwner
und hängt von der neu veröffentlichten SavedState-Bibliothek ab [aosp/815133]. - ComponentActivity umgeht jetzt einen Fehler im Android-Framework, der dazu führen würde, dass InputMethodManager die zuletzt fokussierte Ansicht verliert [b/37122102].
Version 1.0.0-alpha02
3. Dezember 2018
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getLifecycle()
nicht überschrieben werden sollte und in einem zukünftigen Release zufinal
wird. Wenn Sie diese Methode derzeit überschreiben, reichen Sie bitte eine Funktionsanfrage ein. (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 eine
OnBackPressedCallback
überaddOnBackPressedCallback
registrieren, umonBackPressed()
-Callbacks zu erhalten, ohne die Methode in Ihrer Aktivität überschreiben zu müssen. - Es wurde ein neues
by viewModels()
-Kotlin-Property-Delegate zum Abrufen vonViewModel
s aus einemComponentActivity
hinzugefügt. - Ausstehende Eingabeereignisse (z. B. Klicks) werden jetzt in
onStop()
abgebrochen.
API-Änderungen
- Die Implementierung von
LifecycleOwner
undViewModelStoreOwner
wurde vonFragmentActivity
nachComponentActivity
verschoben. onRetainCustomNonConfigurationInstance
wurde eingestellt. Verwenden Sie einViewModel
, um Objekte zu speichern, die Konfigurationsänderungen überdauern müssen.