Aktivität
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
30. Oktober 2024 | 1.9.3 | - | - | 1.10.0-alpha03 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Activity hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen:
Cool
dependencies { def activity_version = "1.9.2" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.2" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Bitte sieh dir die vorhandenen Probleme in dieser Bibliothek an, bevor du eine neue erstellst. Sie können einem vorhandenen Problem Ihre Stimme hinzufügen, indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Version 1.10
Version 1.10.0-alpha03
30. Oktober 2024
androidx.activity:activity:1.10.0-alpha03
, androidx.activity:activity-compose:1.10.0-alpha03
und androidx.activity:activity-ktx:1.10.0-alpha03
werden losgelassen. Version 1.10.0-alpha03 enthält diese Commits.
API-Änderungen
- Es wurde eine neue lokale
LocalActivity
-Komposition hinzugefügt, die dieActivity
für den aktuellen Umfang bereitstellt. Entwickler müssen also nicht mehr eineActivity
aus derLocalContext
abrufen. Außerdem gibt es eine neue Lint-Regel, die prüft, ob dieLocalContext
fälschlicherweise in eineActivity
umgewandelt wird. (I7746a, b/283009666)
Fehlerkorrekturen
- Von Aktivität
1.9.3
:PredictiveBackHandler
löst nach der Deaktivierung des Handlers keinen Rückruf mehr aus. Dadurch wird ein Problem behoben, bei dem dieNavHost
aus Navigation Compose eineIndexOutOfBoundsException
auslöste. (I3f75e, b/365027664, b/340202286)
Abhängigkeitsupdate
- Activity Compose ist jetzt von Compose Runtime 1.7.0 (I7746a, b/283009666) abhängig.
Version 1.10.0-alpha02
4. September 2024
androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
und androidx.activity:activity-ktx:1.10.0-alpha02
werden losgelassen. Version 1.10.0-alpha02 enthält diese Commits.
Verhaltensänderungen
- Die Aktivitätsergebnisverträge
PickVisualMedia
undPickMultipleVisualMedia
, die die Bildauswahl auslösen, werden nicht mehr direkt an Google Play-Dienste delegiert, wenn die Bildauswahl des Systems nicht verfügbar ist. Stattdessen wird die öffentliche AktionACTION_SYSTEM_FALLBACK_PICK_IMAGES
und die zugehörigen Extras verwendet, um OEMs und System-Apps als Fallback eine einheitliche Bildauswahl zur Verfügung zu stellen. Auf Geräten mit einer aktuellen Version der Google Play-Dienste sollte sich das nicht bemerkbar machen. (I3513d)
Fehlerkorrekturen
- Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, die AGP nicht verwenden, wird empfohlen, auf D8 Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (I9496c, b/345472586)
- Bei Aktivitäten
1.9.2
wurde ein Problem behoben, bei dem die Activity ComposePredictiveBackHandler
API die Systemgeste „Zurück“ weiterhin für den Frame verarbeitete, in dem sie deaktiviert wurde. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Rückstapel verarbeiten, was eineIndexOutOfBoundsException
auslöste. (Ie3301, b/340202286) - Aus Aktivität
1.9.1
: Ein Problem mitPredictiveBackHandler
wurde behoben, durch das nach der Systemwiederherstellung der Versuch,onBackPressed
überOnBackPressedDispatcher
auszuführen, fehlschlug. (I5f1f8)
Version 1.10.0-alpha01
26. Juni 2024
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
und androidx.activity:activity-ktx:1.10.0-alpha01
wurden veröffentlicht. Diese Version wird in einem internen Branch entwickelt.
Neue Funktionen
- Unterstützung für neue
PhotoPicker
-Funktionen hinzugefügt, die in Android V eingeführt wurden, z. B. die Möglichkeit, Bilder in einer bestimmten Reihenfolge auszuwählen und festzulegen, welcher Tab (Alben oder Bilder) zuerst angezeigt werden soll.
Version 1.9
Version 1.9.3
16. Oktober 2024
androidx.activity:activity:1.9.3
, androidx.activity:activity-compose:1.9.3
und androidx.activity:activity-ktx:1.9.3
werden losgelassen. Version 1.9.3 enthält diese Commits.
Fehlerkorrekturen
PredictiveBackHandler
löst nach der Deaktivierung des Handlers keinen Rückruf mehr aus. Dadurch wird ein Problem behoben, bei dem dieNavHost
aus Navigation Compose eineIndexOutOfBoundsException
auslöste. (I3f75e, b/340202286)
Version 1.9.2
4. September 2024
androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
und androidx.activity:activity-ktx:1.9.2
werden losgelassen. Version 1.9.2 enthält diese Lthcocommits.
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das die Activity Compose
PredictiveBackHandler
API die Systemgeste „Zurück“ weiterhin für den Frame verarbeitete, in dem sie deaktiviert wurde. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose „Zurück“ auch bei einem leeren Rückstapel verarbeiten, was eineIndexOutOfBoundsException
auslöste. (Ie3301, b/340202286)
Version 1.9.1
24. Juli 2024
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
und androidx.activity:activity-ktx:1.9.1
wurden veröffentlicht. Version 1.9.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem mit
PredictiveBackHandler
behoben, durch das nach der Systemwiederherstellung der Versuch,onBackPressed
über denOnBackPressedDispatcher
auszuführen, fehlschlug. (I5f1f8)
Version 1.9.0
17. April 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
und androidx.activity:activity-ktx:1.9.0
werden losgelassen. Version 1.9.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.8.0
ComponentActivity
implementiert jetztOnUserLeaveHintProvider
, um Komponenten Callbacks füronUserLeaveHint
-Ereignisse zu ermöglichen.- Die
OnBackPressedCallback
-,BackHandler
- undPredictiveBackHandler
-APIs warnen jetzt beim Aufrufen vononBackPressedDispatcher.onBackPressed()
beim Zurückgehen, da dadurch die vorhersagende Rückwärtsanimation immer unterbrochen wird. Weitere Informationen finden Sie im Best Practices-Leitfaden. - Die restlichen Activity APIs wurden in Kotlin umgeschrieben und alle Erweiterungen, die zuvor in
activity-ktx
verfügbar waren, wurden zuactivity
verschoben.activity-ktx
ist jetzt komplett leer.- Im Rahmen der Umstellung von
ActivityResultLauncher
auf Kotlin ist die MethodegetContract
jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist binärkompatibel, führt aber zu Fehlern in der Quelle, wenn IhreActivityResultLauncher
-Implementierung 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
werden losgelassen. Version 1.9.0-rc01 enthält diese Commits.
Update der Abhängigkeiten
- Die Aktivität hängt jetzt vom 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
werden losgelassen. Version 1.9.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- Behoben wurde eine Leistungsverschlechterung beim Starten von Aktivitäten, die bei Aktivität
1.9.0-alpha02
aufgetreten ist, weil dieOnBackPressedDispatcher
beim Erstellen der Aktivität aufgerufen wurde. (Ie75e3)
Version 1.9.0-alpha03
7. Februar 2024
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
und androidx.activity:activity-ktx:1.9.0-alpha03
werden losgelassen. Version 1.9.0-alpha03 enthält diese Commits.
Lint-Warnung
- Die
OnBackPressedCallback
-,BackHandler
- undPredictiveBackHandler
-APIs warnen jetzt beim Aufrufen vononBackPressedDispatcher.onBackPressed()
beim Zurückgehen, da dadurch die vorhersagende Rückwärtsanimation immer unterbrochen wird. Weitere Informationen finden Sie im Best Practices-Leitfaden. (1e4222, 2c950d, b/287505200)
Fehlerkorrekturen
- Wenn ein Zurück-Ereignis vom System gesendet wird, während eine bereits laufende Touch-Geste für die Vorhersage der Rückwärtsbewegung ausgeführt wird, wird die aktuell laufende Touch-Geste für die Vorhersage der Rückwärtsbewegung abgebrochen und das neue Zurück-Ereignis übernimmt, um eine neue Touch-Geste für die Vorhersage der Rückwärtsbewegung zu starten. (I3482e)
- Ein Absturz wurde behoben, der beim ersten Zugriff auf das
onBackPressedDispatcher
über einComponentActivity
aus einem Hintergrundthread aufgetreten ist. Der Zugriff auf dieonBackPressedDispatcher
ist jetzt in jedem Thread sicher. (I79955)
Version 1.9.0-alpha02
24. Januar 2024
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
und androidx.activity:activity-ktx:1.9.0-alpha02
werden losgelassen. Version 1.9.0-alpha02 enthält diese Commits.
Kotlin-Conversions
ActivityResultRegistry
wurde in Kotlin neu geschrieben. So wird sichergestellt, dass die Nullbarkeit der Gattungen im Vertrag, der anregister
übergeben wird, korrekt an dieActivityResultLauncher
übergeben wird, die an Sie zurückgegeben wird. (I121f0)ActivityResult
wurde in Kotlin neu geschrieben. DieActivityResult
-Kotlin-Erweiterungen, die die Destrukturierung in die FelderresultCode
unddata
unterstützen, wurden vonactivity-ktx
zuactivity
verschoben. (I0565a)- Die Kotlin-Erweiterungen von
by viewModels()
fürComponentActivity
undtrackPipAnimationHintView
wurden vonactivity-ktx
zuactivity
verschoben. Das Artefaktactivity-ktx
ist jetzt komplett leer. (I0a444)
Fehlerkorrekturen
- Die
enableEdgeToEdge
API zeichnet jetzt um alle Displayausschnitte herum. (a3644b, b/311173461) - Von Aktivität
1.8.2
: Das Extra, das an denACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Vertrags für die Bildauswahl übergeben wurde, wurde korrigiert, sodass der SchlüsselEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
korrekt übergeben wird, anstatt das Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Dies wird dringend empfohlen, wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, die beide Extras unterstützt, um die größtmögliche Kompatibilität zu gewährleisten. (I96a00)
Version 1.9.0-alpha01
29. November 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
und androidx.activity:activity-ktx:1.9.0-alpha01
wurden veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetztOnUserLeaveHintProvider
, um Komponenten Callbacks füronUserLeaveHint
-Ereignisse zu ermöglichen. (I54892)
API-Änderungen
ComponentActivity
wurde in Kotlin neu geschrieben. (I14f31)ActivityResultCaller
wurde in Kotlin neu geschrieben. (Ib02e4)ActivityResultLauncher
wurde in Kotlin neu geschrieben. Im Rahmen dieser Umstellung ist diegetContract
-Methode jetzt ein abstraktes Kotlin-Attribut. Diese Änderung ist binärkompatibel, führt aber zu Fehlern in der Quelle, wenn IhreActivityResultLauncher
-Implementierung in Kotlin geschrieben ist. (ID4615)PickVisualMediaRequest
hat jetzt dasselbe Mindest-API-Level 19 wie derPickVisualMedia
-Aktivitätsergebnisvertrag. (Id6e21)
Aktualisierung der Abhängigkeit
- 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
werden losgelassen. Version 1.8.2 enthält diese Commits.
Fehlerkorrekturen
- Das Extra, das an den
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Vertrags für die Bildauswahl übergeben wurde, wurde korrigiert, sodass derEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
-Schlüssel korrekt übergeben wird, anstatt das Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Wenn Sie als OEM eine systemeigene Bildauswahl implementieren, wird dringend empfohlen, beide Extras zu unterstützen, um die größtmögliche Kompatibilität zu gewährleisten. (I96a00)
Version 1.8.1
15. November 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
und androidx.activity:activity-ktx:1.8.1
werden losgelassen. Version 1.8.1 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
sendet jetzt weiterhin an die richtigeOnBackPressedCallback
, auch wenn während der Verarbeitung der Zurück-Geste eine neueOnBackPressedCallback
hinzugefügt wird. (Id0ff6)
Version 1.8.0
4. Oktober 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
und androidx.activity:activity-ktx:1.8.0
werden losgelassen. Version 1.8.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.7.0
- Intelligente „Zurück“-Touch-Geste: Die
OnBackPressedCallback
bietet jetzt neue Rückruffunktionen für die intelligente „Zurück“-Touch-Geste, um den Beginn, den Fortschritt und die Abbruch der Geste zu steuern. Außerdem gibt es den bisherigenhandleOnBackPressed()
-Rückruf, der ausgeführt wird, wenn die Geste ausgeführt wird. Außerdem ist dasPredictiveBackHandler
-Kompositelement enthalten, mit dem Vorhersageereignisse für die Zurück-Geste in der Aktivitätszusammenstellung verarbeitet werden können. Es stellt einen Stream von BackEventCompat-Objekten bereit, die in der von Ihnen bereitgestellten suspendierenden Lambda-Funktion erfasst werden müssen:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
wurde zugunsten der APIs für die Rückgabe eingestellt. Entwickler sollten jetzt die OnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben.
- EdgeToEdge:
ComponentActivity.enableEdgeToEdge()
wurde hinzugefügt, um das randlose Display auf abwärtskompatible Weise einzurichten.
Version 1.8.0-rc01
20. September 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
und androidx.activity:activity-ktx:1.8.0-rc01
werden losgelassen. Version 1.8.0-rc01 enthält diese Commits.
Version 1.8.0-beta01
6. September 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
und androidx.activity:activity-ktx:1.8.0-beta01
werden losgelassen. Version 1.8.0-beta01 enthält diese Commits.
Verbesserte Dokumentation
- Die Dokumentation von
BackEventCompat
wurde verbessert. (aosp/2722254)
Version 1.8.0-alpha07
23. August 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
und androidx.activity:activity-ktx:1.8.0-alpha07
werden losgelassen. Version 1.8.0-alpha07 enthält diese Commits.
Neue Funktionen
Für „Activity Compose“ wurde ein neues
PredictiveBackHandler
-Komposit hinzugefügt, um Ereignisse für die Vorhersage von Zurück-Gesten zu verarbeiten. Sie enthält eineFlow
vonBackEventCompat
Objekten, die in der von Ihnen angegebenen Lambda-Funktion für die Aussetzung erfasst werden müssen:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
Außerdem ist eine Warnung zur Kompilierungszeit über die Lint-Regel vorhanden, damit
Flow
collect()
aufruft. (Id2773, b/294884345)Die
onBackPressedDispatcher
inComponentActivity
wird jetzt verzögert initialisiert, sodass sie nur bei Bedarf erstellt wird. (I0bf8e)
Fehlerkorrekturen
ComponentActivity
zeigt unter Android 13 keine NPE mehr an, wenn es einenonBackPressed()
-Callback erhält und die Aktivität bereitsDESTROYED
wurde. (Idb055, b/291869278)- Verwendung der experimentellen
isAtLeastU()
API entfernt (Ie9117, b/289269026)
Version 1.8.0-alpha06
21. Juni 2023
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
und androidx.activity:activity-ktx:1.8.0-alpha06
werden losgelassen. Version 1.8.0-alpha06 enthält diese Commits.
Neue Funktionen
- Die
OnBackPressedDispatcher
bricht jetzt alle Rückruffunktionen korrekt ab, die während einer vorrausschauenden Rückwärtsgeste entfernt werden. (I3f90f)
API-Änderungen
- Wenn du
SystemBarStyle.auto
an dieenableEdgeToEdge
API übergibst, kannst du jetzt den Lambda-ParameterdetectDarkMode
überschreiben, um eine benutzerdefinierte Logik zur Erkennung des Nachtmodus bereitzustellen. (aosp/2546393, b/278263793)
Version 1.8.0-alpha05
7. Juni 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
und androidx.activity:activity-ktx:1.8.0-alpha05
werden losgelassen. Diese Version wird in einem internen Branch entwickelt.
API-Änderungen
- Für „Aktivität“ gibt es jetzt die Klasse
BackEventCompat
, die als abwärtskompatible Version vonBackEvent
dient und von der Framework-KlasseBackEvent
getrennt ist. - Nicht abwärtskompatible Änderung: Die Methoden
handleOnBackStarted
undhandleOnBackProgressed
vonOnBackPressedCallback
erhalten jetzt eineandroidx.activity.BackEventCompat
-Instanz anstelle einer Framework-android.window.BackEvent
-Klasse. Die entsprechenden@VisibleForTesting
APIs aufOnBackPressedDispatcher
wurden ebenfalls aktualisiert. - Der Konstruktor für
OnBackPressedDispatcher
nimmt jetzt eine optionaleConsumer<Boolean>
-Instanz an, mit der die Eigentümer des Dispatchers einen Rückruf erhalten, wenn sich die Anzahl der aktivierten Rückrufe von null zu einem anderen Wert oder umgekehrt ändert.
Fehlerkorrekturen
- Aus Aktivität
1.7.2
: Das Problem mit dem Absturz vonReportDrawn
beim Verlassen eines Bildschirms vor dem Aufrufen vonreport
wurde behoben. (Ic46f1, b/260506820)
Version 1.8.0-alpha04
10. Mai 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
und androidx.activity:activity-ktx:1.8.0-alpha04
werden losgelassen. Diese Version wurde aus einem internen Branch veröffentlicht.
Fehlerkorrekturen
- Seit Activity 1.7.1:
ReportFullyDrawExecuter
wird nicht mehr bei Verwendung vonComponentActivity
mitActivityScenario
geleakt. (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
werden losgelassen. Diese Version wurde aus einem internen Branch veröffentlicht.
Neue Funktionen
ComponentActivity.setUpEdgeToEdge()
wurde hinzugefügt, um das randlose Display auf einfache und abwärtskompatible Weise einzurichten.
API-Änderungen
ComponentActivity.onBackPressed()
wurde zugunsten der APIs für die Rückgabe eingestellt. Entwickler sollten jetztOnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)ComponentDialog
undComponentActivity
enthalten jetzt die öffentliche APIinitViewTreeOwners()
, die verwendet wird, um alle Inhaber der Ansichtsstruktur zu initialisieren, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)
Fehlerkorrekturen
- Behoben: Fragmente haben Menühosts fälschlicherweise ungültig gemacht und zu unerwartetem Verhalten anderer Menüs in der Aktivität geführt. (I9404e, b/244336571)
Weitere Änderungen
- Für die
ActivityResultRegister
wird jetzt 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
werden losgelassen. Entwickelt aus einem internen Branch.
Update der Abhängigkeiten
- 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
werden losgelassen. Sie wurde aus einem internen Zweig erstellt.
Neue Funktionen
- Die
OnBackPressedCallback
-Klasse enthält jetzt zusätzlich zum vorherigenhandleOnBackPressed()
-Callback beim Commit der Zurück-Geste neue Callbacks für den vorausschauenden Zurück-Fortschritt, um den Start der Zurück-Geste, den Fortschritt während der Bewegung und das Abbrechen der Zurück-Geste zu verarbeiten.
Version 1.7
Version 1.7.2
24. Mai 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
und androidx.activity:activity-ktx:1.7.2
werden losgelassen. Version 1.7.2 enthält diese Commits.
Fehlerkorrekturen
- Fehler behoben, der beim Absturz von
ReportDrawn
beim Verlassen eines Bildschirms vor dem Aufrufen vonreport
abstürzte wurde behoben. (Ic46f1, b/260506820)
Version 1.7.1
19. April 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
und androidx.activity:activity-ktx:1.7.1
werden losgelassen. Version 1.7.1 enthält diese Commits.
Fehlerkorrekturen
- Die
ReportFullyDrawExecuter
leckt nicht mehr, 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
werden losgelassen. Version 1.7.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.6.0
- Die Verträge für die Bildauswahl in
PickVisualMedia
undPickMultipleVisualMedia
wurden aktualisiert und enthalten nun ein zusätzliches Fallback für den Fall, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist. Dadurch können OEMs und System-Apps wie Google Play-Dienste eine einheitliche Bildauswahl auf einer breiteren Palette von Android-Geräten und API-Levels anbieten, indem die Fallback-Aktion implementiert wird. Die Bildauswahl verwendet diese Alternative, sofern verfügbar, bevor sie 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 seine eigeneSavedStateRegistry
und legt dieSavedStateRegistryOwner
für seineViewTree
fest. Jetpack Compose kann jetzt in einemComponentDialog
verwendet werden, da es über dieViewTree
API-Anforderungen sowohl dieLifecycleOwner
als auch dieSavedStateRegistryOwner
erfüllt, die mit dem Fenster verknüpft sind.- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags ausIntent
festlegen, anstatt nur ein einzelnes.
Kotlin-Konvertierung
Einige Aktivitätsklassen wurden in Kotlin konvertiert. Alle konvertierten Klassen behalten ihre binäre Kompatibilität mit früheren Versionen bei. Die folgenden Klassen enthalten inkompatible Änderungen für Klassen, die in Kotlin geschrieben wurden: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
In der folgenden Tabelle finden Sie die Quell-Conversions für die neue Version von „Aktivitäten“:
Aktivität 1.5 | Aktivität 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Diese Klassen wurden ebenfalls in Kotlin konvertiert, sind aber weiterhin mit der Quelle kompatibel: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
und OnBackPressedDispatcher
FullyDrawnReporter-APIs
ComponentActivity
stellt jetzt eine FullyDrawnReporter
-Instanz bereit, mit der mehrere Komponenten melden können, wenn sie für eine Interaktion bereit sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn()
in Ihrem Namen aufgerufen wird. Diese APIs übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Für diese APIs wird eine Aktivierung empfohlen:
- Die Android Runtime wird benachrichtigt, wenn der Start abgeschlossen ist, damit der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, berücksichtigt und für die Hintergrundkompilierung priorisiert wird.
- Signalisieren Sie Macrobenchmark und Play Vitals, wenn Ihre Anwendung für Startmesswerte als vollständig dargestellt betrachtet werden soll, damit Sie die Leistung erfassen können.
Es wurden drei Activity Compose APIs hinzugefügt, um die Verwendung der FullyDrawnReporter
aus einzelnen Composeables zu vereinfachen:
ReportDrawn
bedeutet, dass Ihr Composeable sofort für Interaktionen bereit ist.ReportDrawnWhen
nimmt ein Prädikat (d.h.list.count > 0
), um anzugeben, wann Ihr Composed-Element für Interaktionen bereit ist.ReportDrawnAfter
nimmt eine Aussetzungsmethode an, die nach Abschluss signalisiert, dass Sie für eine Interaktion bereit sind.
Abhängigkeitsupdates
- Die Aktivität hängt jetzt vom Lebenszyklus
2.6.1
ab. (8fc31d) - Die Aktivität hängt 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
werden losgelassen. Version 1.7.0-rc01 enthält diese Commits.
Update der Abhängigkeiten
- 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
werden losgelassen. Version 1.7.0-beta02 enthält diese Commits.
API-Änderungen
- Die Aktion und das Extra, das von den
PickVisualMedia
- undPickMultipleVisualMedia
-Verträgen als Fallback für den Fall verwendet wird, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps API-Stabilität bieten, die eine einheitliche Bildauswahl bieten möchten. Die Implementierung dieses Fallbacks ist weiterhin auf System-Apps beschränkt. (Icd320)
Version 1.7.0-beta01
8. Februar 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
und androidx.activity:activity-ktx:1.7.0-beta01
werden losgelassen. Version 1.7.0-beta01 enthält diese Commits.
Neue Funktionen
- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags ausIntent
festlegen, anstatt nur ein einzelnes. (Iac04c)
Fehlerkorrekturen
- Der Fallback für
PickVisualMedia
, wenn die Bildauswahl des Frameworks nicht verfügbar ist, schränkt die Verarbeitung jetzt korrekt auf Apps ein, die im System-Image des Geräts installiert sind. (If8ae6)
Kotlin-Conversions
ActivityResultRegistryOwner
ist jetzt in Kotlin geschrieben. Das ist eine nicht mit der Quelle kompatible Änderung für diese in Kotlin geschriebenen Klassen. Sie müssen jetzt die PropertyactivityResultRegistry
überschreiben, anstatt die vorherigegetActivityResultRegistry()
-Funktion zu implementieren. (I0b00e)OnBackPressedDispatcherOwner
ist jetzt in Kotlin geschrieben. Das ist eine nicht mit der Quelle kompatible Änderung für diese in Kotlin geschriebenen Klassen. Sie müssen jetzt die PropertyonBackPressedDispatcher
überschreiben, anstatt die vorherigegetOnBackPressedDispatcher
-Funktion zu implementieren. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
undOnBackPressedDispatcher
werden jetzt in Kotlin geschrieben. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Version 1.7.0-alpha04
25. Januar 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
und androidx.activity:activity-ktx:1.7.0-alpha04
wurden veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.
Neue Funktionen
- Bei den Verträgen für
PickVisualMedia
- undPickMultipleVisualMedia
-Aktivitätsergebnisse wird jetzt die von Google Play-Diensten bereitgestellte Bildauswahl verwendet, sofern verfügbar. Bisher wurde die vom Android-System bereitgestellte Bildauswahl verwendet (z. B.MediaStore.ACTION_PICK_IMAGES
) ist nicht verfügbar. DieisPhotoPickerAvailable()
API, die nur die vom Android-System bereitgestellte Bildauswahl erkennt, wurde eingestellt. Wir empfehlen die Verwendung der neuenisPhotoPickerAvailable(Context)
API, die zurückgegeben wird, wenn eine der Bildauswahlen verfügbar ist. (I55be6)
Version 1.7.0-alpha03
11. Januar 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
und androidx.activity:activity-ktx:1.7.0-alpha03
werden losgelassen. Version 1.7.0-alpha03 enthält diese Commits.
Neue Funktionen
ComponentDialog
implementiert jetztSavedStateRegistryOwner
, hat Zugriff auf seine eigeneSavedStateRegistry
und legt dieSavedStateRegistryOwner
für seinen ViewTree fest. Jetpack Compose kann jetzt in einemComponentDialog
verwendet werden, da es sowohl die Anforderungen anLifecycleOwner
als auchSavedStateRegistryOwner
erfüllt, die über die ViewTree APIs an das Fenster angehängt sind. (Idca17, I73468 b/261162296)
API-Änderungen
- Es wurde ein
ReportDrawn
-Komposit hinzugefügt, das die Aktivität sofort als bereit zum Aufrufen vonreportFullyDrawn
kennzeichnet. (Ic5b14, b/259687964)
Kotlin-Conversions
- Die Klassen
ActvitiyResultCallback
undOnBackPressedCallback
wurden in Kotlin konvertiert, wobei die Quell- und Binärkompatibilität beibehalten wurde. (Ifc5e5, Ide1b0, b/257291701)
Version 1.7.0-alpha02
24. Oktober 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
und androidx.activity:activity-ktx:1.7.0-alpha02
wurden veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Aus Aktivität
1.6.1
: Ein Problem wurde behoben, bei dem der Vertrag fürPickMultipleVisualMedia
-Aktivitätsergebnisse 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
wurden veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
FullyDrawnReporter APIs
ComponentActivity
stellt jetzt eine FullyDrawnReporter
-Instanz bereit, mit der mehrere Komponenten melden können, wenn sie für eine Interaktion bereit sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn()
in Ihrem Namen aufgerufen wird. Diese APIs übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Für diese APIs wird eine Aktivierung empfohlen:
- Die Android Runtime wird benachrichtigt, wenn der Start abgeschlossen ist, damit der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, berücksichtigt und für die Hintergrundkompilierung priorisiert wird.
- Signalisieren Sie Macrobenchmark und Play Vitals, wenn Ihre Anwendung für Startmesswerte als vollständig dargestellt betrachtet werden soll, damit Sie die Leistung erfassen können.
Es wurden zwei Activity Compose APIs hinzugefügt, um die Verwendung der FullyDrawnReporter
aus einzelnen Composeables zu vereinfachen:
ReportDrawnWhen
verwendet ein Prädikat (d.h.list.count > 0
), um anzugeben, wann Ihr Composed-Element für Interaktionen bereit ist.ReportDrawnAfter
nimmt eine Aussetzungsmethode an, die nach Abschluss signalisiert, dass Sie für eine Interaktion bereit sind.
Version 1.6.1
Version 1.6.1
24. Oktober 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
und androidx.activity:activity-ktx:1.6.1
wurden veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Vertrag für
PickMultipleVisualMedia
-Aktivitätsergebnisse auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert fü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
werden losgelassen. 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, bei demMediaStore.ACTION_PICK_IMAGES
verwendet wird, 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 funktionieren alle aufOnBackPressedDispatcher
basierenden APIs, wenn eine vorhersagende Zurück-Geste aktiviert ist.
Version 1.6.0-rc02
7. September 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
und androidx.activity:activity-ktx:1.6.0-rc02
wurden veröffentlicht. Version 1.6.0-rc02 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
registriert dieOnBackInvokedCallback
jetzt bei derPRIORITY_DEFAULT
anstelle derPRIORITY_OVERLAY
. (I3901f)- Bei Klassen, die
ComponentActivity
erweitern, werden jetzt immer beideonMultiWindowModeChanged()
-Callbacks gesendet. (Ic4d85) - Der
ActivityResultRegistry
gibt kein Ergebnis mehr an denActivityResultCallback
zurück, wenn derlaunch
-Aufruf eineException
auslöst und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794) ComponentActivity
leitet jetzt Menüaufrufe korrekt weiter, ohne dass die Superfunktion in Ihrer Aktivität aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsupdate
- 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
wurden veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Wenn Sie SDK-Versionen vor 33 verwenden, führt das Initialisieren einer
OnBackPressedDispatcher
nicht mehr zuClassVerificationError
s. (Ic32e1) - Bei Klassen, die den
onPictureInPictureModeChanged()
-Callback vonComponentActivity
überschreiben, werden jetzt immer auch Callbacks gesendet. (Ib7fdb)
Version 1.6.0-beta01
10. August 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
und androidx.activity:activity-ktx:1.6.0-beta01
werden losgelassen. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
- Die verworfenen Methoden
startActivityForResult
undstartIntentSenderForResult
wurden inComponentActivity
mit@NonNull
gekennzeichnet, da das Übergeben vonnull
immer zu einem Absturz geführt hat. (Id2a25, b/231476082)
Fehlerkorrekturen
- Von Aktivität
1.5.1
: DerActivityResultRegistry
gibt kein Ergebnis mehr an denActivityResultCallback
zurück, wenn derlaunch
-Aufruf eineException
auslöst und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794) - Aktivität
1.5.1
:ComponentActivity
sendet Menüaufrufe jetzt richtig anonPrepareOptionMenu()
,onCreateOptionsMenu()
undonOptionsItemSelected()
-Überschreibungen, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsupdate
- Aktivität
1.5.1
: DieActivity
-Bibliothek hängt jetzt von derLifecycle
-Version2.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
wurden veröffentlicht. Version 1.6.0-alpha05 wurde in einem privaten Pre-Release-Branch entwickelt und hat keine öffentlichen Commits.
API-Änderungen
minCompileSdk
ist jetzt 33, um mit dem Tiramisu Beta 3 SDK übereinzustimmen.
Fehlerkorrekturen
- Der Absturz auf älteren Geräten bei der SDK-Erweiterungsüberprüfung für die
PickVisualMedia
ActivityResultContract
wurde behoben. DieACTION_OPEN_DOCUMENT
sollte jetzt auf Geräten mit Android 10 und niedriger funktionieren.
Version 1.6.0-alpha04
18. Mai 2022
androidx.activity:activity:1.6.0-alpha04
und androidx.activity:activity-ktx:1.6.0-alpha04
werden freigegeben.
Fehlerkorrekturen
- Ein Fehler in
PickVisualMediaRequest
wurde behoben, bei dem der Versuch, eine Anfrage entweder über den Builder oder die Kotlin-Funktion der obersten Ebene zu erstellen, zu einem Stack-Overflow führte. OnBackInvokedCallback
wurde in der Android 13-Entwickler-Betaversion 2 in die vonComponentDialog
bereitgestellteOnBackPressedDispatcher
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine Touch-Geste mit automatischer Vervollständigung aktiviert ist.
Version 1.6.0-alpha03
27. April 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
und androidx.activity:activity-ktx:1.6.0-alpha03
werden losgelassen.
- Hinweis: Diese Version wird nur mit dem SDK der Android 13-Entwickler-Beta 1 kompiliert.
Neue Funktionen
ActivityResultContracts.PickVisualMedia
undActivityResultContracts.PickMultipleVisualMedia
wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, bei demMediaStore.ACTION_PICK_IMAGES
verwendet wird, wenn die Bildauswahl verfügbar ist, undIntent.ACTION_OPEN_DOCUMENT
, wenn sie nicht verfügbar ist.- Die
OnBackInvokedCallback
in Android 13 Dev Beta 1 in die vonComponentActivity
bereitgestellteOnBackPressedDispatcher
eingebunden. So können alle aufOnBackPressedDispatcher
basierenden APIs verwendet werden, wenn die vorhersagende Zurück-Geste aktiviert ist.
Version 1.6.0-alpha01
23. März 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
und androidx.activity:activity-ktx:1.6.0-alpha01
werden losgelassen.
- Hinweis: Diese Version wird nur mit dem SDK der Android 13-Entwicklervorschau 2 kompiliert.
Neue Funktionen
- Die Änderungen aus der Android 13-Entwicklervorschau 2 wurden in
ComponentActivity
integriert.
Version 1.5.1
Version 1.5.1
27. Juli 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
und androidx.activity:activity-ktx:1.5.1
wurden veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
Die
ActivityResultRegistry
gibt kein Ergebnis mehr an dieActivityResultCallback
zurück, wenn derlaunch()
-Aufruf eineException
auslöst und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794)ComponentActivity
sendet Menüaufrufe jetzt ordnungsgemäß anonPrepareOptionMenu()
,onCreateOptionsMenu()
undonOptionsItemSelected()
-Überschreibungen, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)
Update der Abhängigkeiten
- Die
Activity
-Bibliothek hängt jetzt vom Lebenszyklus2.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
werden losgelassen. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0
- ComponentDialog:
ComponentDialog
ist eine Unterklasse vonDialog
, die eineOnBackPressedDispatcher
enthält, die aufgerufen wird, wenn die Schaltfläche „Zurück“ des Systems gedrückt wird und das Dialogfeld sichtbar ist. Wichtig ist, dass diese Unterklasse auch dieViewTreeOnBackPressedDispatcherOwner
festlegt. So können Ansichten den richtigen Dispatcher auf eine generische Weise abrufen, unabhängig davon, ob er in einerComponentActivity
oderComponentDialog
vorhanden ist. - Callback-Schnittstellen:
ComponentActivity
implementiert jetzt eine Reihe modularer Callback-Schnittstellen, die anstelle derActivity
-Callbacks verwendet werden können. Dazu gehören:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
. - Integration von CreationExtras:
ComponentActivity
kann jetzt über dieCreationExtras
von Lifecycle2.5.0
einen zustandslosenViewModelProvider.Factory
bereitstellen.
Sonstige Änderungen
- Der Konstruktor ohne Parameter für
ActivityResultContracts.CreateDocument
wurde verworfen und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ (z.B. „image/png“), wie 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 unverändert von 1.5.0-beta01 veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Version 1.5.0-beta01
20. April 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
und androidx.activity:activity-ktx:1.5.0-beta01
werden losgelassen. Version 1.5.0-beta01 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
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
werden losgelassen. Version 1.5.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Die
onPanelClosed()
vonComponentActivity
ruft jetzt auch die superonPanelClosed()
auf. Dadurch wurde 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
werden losgelassen. Version 1.5.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
SavedStateViewFactory
unterstützt jetzt die Verwendung vonCreationExtras
, auch wenn es mit einerSavedStateRegistryOwner
initialisiert wurde. Wenn Extras angegeben werden, werden die initialisierten Argumente ignoriert. (I6c43b, b/224844583)
Version 1.5.0-alpha03
23. Februar 2022
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
und androidx.activity:activity-ktx:1.5.0-alpha03
werden losgelassen. Version 1.5.0-alpha03 enthält diese Commits.
API-Änderungen
- Sie können jetzt
CreationExtras
an die Aktivitätsfunktionby viewModels()
übergeben (I6a3e6, b/217600303).
Version 1.5.0-alpha02
9. Februar 2022
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
und androidx.activity:activity-ktx:1.5.0-alpha02
werden losgelassen. Version 1.5.0-alpha02 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetzt dieOnPictureInPictureModeChangedProvider
-Schnittstelle, damit jede Komponente Ereignisse zur Änderung des Bild-im-Bild-Modus empfangen kann. (I9f567)ComponentActivity
implementiert jetzt die SchnittstelleOnMultiWindowModeChangedProvider
, damit jede Komponente Ereignisse für Änderungen des Modus für mehrere Fenster empfangen kann. (I62d91)
Version 1.5.0-alpha01
26. Januar 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
und androidx.activity:activity-ktx:1.5.0-alpha01
wurden veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
ComponentActivity
kann jetzt mit ViewModel CreationExtras verwendet werden, die im Rahmen von Lifecycle2.5.0-alpha01
eingeführt wurden. (Ie7e00, b/207012584)ComponentDialog
wurde hinzugefügt, eine Unterklasse vonDialog
, die eineOnBackPressedDispatcher
enthält, die aufgerufen wird, wenn die Schaltfläche „Zurück“ des Systems gedrückt wird, während das Dialogfeld sichtbar ist. Wichtig ist, dass diese abgeleitete Klasse auch dieViewTreeOnBackPressedDispatcherOwner
festlegt. Damit wird in Ansichten eine allgemeine Methode zum Abrufen des richtigen Disponenten möglich, unabhängig davon, ob er in einemComponentActivity
- oder einemComponentDialog
vorhanden ist. (I8a1bc)ComponentActivity
implementiert jetzt die neueOnNewIntentProvider
-Schnittstelle, damit alle Komponenten diese Ereignisse empfangen können. (If1f8b)ComponentActivity
implementiert jetzt die neueOnConfigurationChangedProvider
-Schnittstelle, damit alle Komponenten diese Ereignisse empfangen können. (If623b)- In
ComponentActivity
wird jetzt die neueOnTrimMemoryProvider
-Schnittstelle implementiert, damit jede Komponente diese Ereignisse empfangen kann. (Ia9295)
API-Änderungen
- Der Konstruktor ohne Parameter für
ActivityResultContracts.CreateDocument
wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen bestimmten MIME-Typ annimmt (z.B."image/png"
), wie vonIntent.ACTION_CREATE_DOCUMENT
gefordert. (I2bec6) - Die
OnBackPressedDispatcherOwner
, die einer Ansicht zugeordnet ist, kann jetzt über dieViewTreeOnBackPressedDispatcherOwner
abgerufen werden, anstatt dieContext
zu übergeben. (I74685)
Fehlerkorrekturen
- Ein Absturz beim ersten Zugriff auf eine
ViewModel
über einenregisterForActivityResult()
-Callback oder die Callbacks zu einerLifecycleObserver
, die im Rahmen voninit
einerComponentActivity
hinzugefügt wurde, wurde behoben. (Ife83f)
Version 1.4.0
Version 1.4.0
27. Oktober 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
und androidx.activity:activity-ktx:1.4.0
werden losgelassen. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- AndroidX
ComponentActivity
implementiert jetzt dieMenuHost
-Schnittstelle. So kann jeder Komponente derActionBar
Menüpunkte hinzugefügt werden, indem der Aktivität eineMenuProvider
-Instanz hinzugefügt wird. JedemMenuProvider
kann optional einLifecycle
hinzugefügt werden, das die Sichtbarkeit dieser Menüpunkte automatisch basierend auf demLifecycle
-Status steuert und das Entfernen desMenuProvider
verwaltet, wenn derLifecycle
zerstört wird. - Die Klasse
ActivityResultContract
wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullbarkeit für ihre Eingabe- und Ausgabeklassen definieren können. - Die Klasse
ActivityResultContracts
und ihre Verträge wurden in Kotlin neu geschrieben, um die richtige Nullbarkeit zu gewährleisten.
Version 1.4.0-rc01
13. Oktober 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
und androidx.activity:activity-ktx:1.4.0-rc01
werden losgelassen. Version 1.4.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
gibt kein Ergebnis mehr an dieActivityResultCallback
zurück, wenn derlaunch
-Aufruf eineException
auslöst. (If4f91, b/200845664)
Version 1.4.0-beta01
29. September 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
und androidx.activity:activity-ktx:1.4.0-beta01
werden losgelassen. Version 1.4.0-beta01 enthält diese Commits.
API-Änderungen
- Der Typ für
ActivityResultContracts.OpenMultipleDocuments
undActivityResultContracts.GetMultipleContents
, der bei Verwendung des Codes aus der Programmiersprache Java dazu führte, dass der AusgabetypList<? extends Uri>
verwendet wurde, wurde korrigiert. (If71de) - Auf öffentliche Konstanten in den Klassen
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
undActivityResultContracts.RequestMultiplePermissions
kann jetzt über die jetzt öffentlichenCompanion
-Objekte zugegriffen werden, wenn Kotlin verwendet wird. (aosp/1832555)
Aktualisierungen der Dokumentation
- Die Nachricht zur Einstellung von APIs, die jetzt von den Activity Result APIs (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
undonRequestPermissionsResult
) verarbeitet werden, wurde um weitere Details erweitert. (cce80f)
Version 1.4.0-alpha02
15. September 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
und androidx.activity:activity-ktx:1.4.0-alpha02
werden losgelassen. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
- Das
activity-compose
-Artefakt enthält jetzt einenLaunchDuringComposition
-Lint-Fehler, der verhindert, dass dielaunch
-Methode vonActivityResultLauncher
als Teil der Zusammensetzung aufgerufen wird, da die Zusammensetzung nebenwirkungsfrei sein sollte. Verwende die APIs für den Umgang mit Nebenwirkungen. (7c2bbe, b/191347220)
API-Änderungen
- Die Klasse
ActivityResultContract
wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die richtige Nullbarkeit für ihre Eingabe- und Ausgabeklassen definieren können. (I8a8f5) - Die Klasse
ActivityResultContracts
und ihre Verträge wurden in Kotlin umgeschrieben, um die ordnungsgemäße Null-Zulässigkeit zu gewährleisten. (I69802)
Version 1.4.0-alpha01
1. September 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
und androidx.activity:activity-ktx:1.4.0-alpha01
werden losgelassen. Version 1.4.0-alpha01 enthält diese Commits.
Neue Funktionen
- AndroidX
ComponentActivity
implementiert jetzt dieMenuHost
-Schnittstelle. So kann jeder Komponente derActionBar
Menüpunkte hinzugefügt werden, indem der Aktivität eineMenuProvider
-Instanz hinzugefügt wird. JedemMenuProvider
kann optional einLifecycle
hinzugefügt werden, das die Sichtbarkeit dieser Menüpunkte automatisch basierend auf demLifecycle
-Status steuert und das Entfernen desMenuProvider
verwaltet, wenn derLifecycle
zerstört wird. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Änderungen im Verhalten
- Die
ActivityResultRegistry
wirft jetzt eineIllegalStateException
, wenn versucht wird,launch()
auf einemActivityResultLauncher
aufzurufen, der nicht registriert oder abgemeldet wurde. (Ida75d, b/192567522)
Externer Beitrag
- Vielen Dank an dmitrilc für die Korrektur eines Tippfehlers in der
ActivityResult
-Dokumentation. (#221)
Version 1.3.1
Version 1.3.1
4. August 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
und androidx.activity:activity-ktx:1.3.1
wurden veröffentlicht. Version 1.3.1 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Die Aktivität hängt jetzt von Kotlin
1.5.21
ab. - „Aktivitäten erstellen“ hängt jetzt von „Erstellen
1.0.1
“ ab.
Version 1.3.0
Version 1.3.0
28. Juli 2021
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
und androidx.activity:activity-ktx:1.3.0
werden losgelassen. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Activity Compose-Artefakt: Das
activity-compose
-Artefakt bietet diesetContent
-Erweiterungsmethode zum Hosten Ihrer Jetpack Compose-UI in einer Aktivität und Compose-spezifische Wrapper für die Interaktion mit denComponentActivity
-APIs für die Verarbeitung der Zurück-Schaltfläche des Systems und der Activity Result APIs. Weitere Informationen finden Sie in der Dokumentation. - CaptureVideo-Kontrakt: Der
CaptureVideo
ActivityResultContract
ersetzt den jetzt veraltetenTakeVideo
-Kontrakt und gibt einen booleschen Wert zurück, der den Erfolg angibt und in vielen Kamera-Apps funktioniert. - Tracking der Bild-im-Bild-Vorschau: Nutzer von
activity-ktx
können jetzt dietrackPipAnimationHintView
-Erweiterungsmethode 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
wurden veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
-Callbacks werden jetzt ordnungsgemäß gespeichert und wiederhergestellt, sodass sie im savedState-Wert nicht dupliziert werden. (I97816, b/191893160)
Version 1.3.0-rc01
1. Juli 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
und androidx.activity:activity-ktx:1.3.0-rc01
werden ohne Änderungen gegenüber 1.3.0-beta02
veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta02
16. Juni 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
und androidx.activity:activity-ktx:1.3.0-beta02
wurden veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
activity-compose
wurde aktualisiert, sodass es von „Compose 1.0.0-beta09
“ abhängt. androidx.compose.ui:ui-test-junit4
hat jetzt eine Abhängigkeit von activity-compose
zur Kompilierungszeit.
Version 1.3.0-beta01
2. Juni 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
und androidx.activity:activity-ktx:1.3.0-beta01
werden losgelassen. Version 1.3.0-beta01 enthält diese Commits.
API-Änderungen
- Die zuvor verworfene Methode
@Composable registerForActivityResult()
wurde entfernt. Verwenden SierememberLauncherForActivityResult()
. (Ic39d3)
Version 1.3.0-alpha08
18. Mai 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
und androidx.activity:activity-ktx:1.3.0-alpha08
werden losgelassen. Version 1.3.0-alpha08 enthält diese Commits.
Neue Funktionen
- Der neue
CaptureVideo
ActivityResultContract
gibt einen booleschen Wert anActivityResultCallback
zurück, der angibt, ob das Video erfolgreich unter dem angegebenen URI gespeichert wurde. Dies ersetzt den mittlerweile eingestelltenTakeVideo
-Vertrag, da Kamera-Apps nur sehr selten die Rückgabe einer Thumbnail-Bitmap unterstützen. Daher ist das Ergebnis nicht hilfreich. (Ie21f2, b/185938070) - Die neue API
Activity#setPipAnimationHintView
wurde hinzugefügt, um den Quellrechteckhinweis der PipParams bei jeder Bewegung der Ansicht zu aktualisieren. (I9063d)
API-Änderungen
- Die Funktion
rememberLauncherForActivityResult
gibt jetzt einen Launcher zurück, der dieunregister()
-Funktion abstellt. Das Registrieren und Aufheben der Registrierung des Launchers erfolgen automatisch durchrememberLauncherForActivityResult
. (I2443e)
Kompatibilität von Compose
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
werden losgelassen. 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 Neuzusammensetzungen ändert. (Id2d6d)- Bei der Verwendung instabiler Versionen von Fragmenten über
1.3.0
wird nicht mehr der falsch positive Lint-Fehler ausgegeben, dass1.3.0
verwendet werden soll. (aosp/1670206, b/184847092)
Version 1.3.0-alpha06
7. April 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
und androidx.activity:activity-ktx:1.3.0-alpha06
werden losgelassen. Version 1.3.0-alpha06 enthält diese Commits.
API-Änderungen
- Die
registerForActivityResult()
API wurde inrememberLauncherForActivityResult()
umbenannt, um besser zu verdeutlichen, dass die zurückgegebeneActivityResultLauncher
ein verwaltetes Objekt ist, das für Sie gespeichert wird. Beim Versuch,unregister
die zurückgegebeneActivityResultLauncher
aufzurufen, wird jetzt ein Fehler ausgegeben. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
undLocalActivityResultRegistryOwner.current
geben jetzt einen optionalen Wert zurück, um besser zu bestimmen, ob er in der aktuellen Komposition verfügbar ist. Bei APIs, für die diese APIs erforderlich sind, z. B.BackHandler
undrememberLauncherForActivityResult()
, wird jetzt ein ausführlicherer Fehler ausgegeben, wenn der zugrunde liegende Inhaber nicht gefunden wird.NavHost
funktioniert jetzt auch dann, wenn keinOnBackPressedDispatcherOwner
gefunden wird, wie es bei der Vorschau vonNavHost
der Fall ist. (I7d8b4)
Fehlerkorrekturen
- Die
BackHandler
fängt jetzt die Zurück-Tastendrücke korrekt ab, wenn die AktivitätSTOPPED
und dann wiederSTARTED
ist und andere Rückruffunktionen mit einem LifecycleOwner hinzugefügt wurden. (I71de6, b/182284739) - Die Verwendung der Methodendung
launch()
mit einer benutzerdefiniertenActivityResultContract
mit einerUnit
-Eingabe führt nicht mehr zu einerNullPointerException
(I76282, b/183837954)
Version 1.3.0-alpha05
24. März 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
und androidx.activity:activity-ktx:1.3.0-alpha05
werden losgelassen. Version 1.3.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Aktivität 1.2.2: Ein Problem bei der
InvalidFragmentVersionForActivityResult
-Lint-Prüfung wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem False Positive führte. (I54da1, b/182388985) - Aktivität 1.2.2:
ComponentActivity
vermeidet jetzt einenClassNotFoundException
, wenn einIntent
von einemActivityResultContract
gestartet wird, das zuvor als Extra in einem anderenIntent
gehalten wurde. (Ieff05, b/182906230)
Abhängigkeitsupdates
- Aktivität 1.2.2: Die Aktivität hängt jetzt vom Lebenszyklus
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
werden losgelassen. Version 1.3.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Unter Aktivitäten
1.2.1
:RequestMultiplePermissions
gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurück, nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668) - Unter Aktivitäten
1.2.1
:ActivityResultRegistry
sorgt jetzt dafür, dass laufendelaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sieunregister()
und dann noch einmalregister()
mit demselben Schlüssel ausführen. (I9ef34, b/181267562) - Activity Compose fügt dem Laufzeit-Classpath keine Testabhängigkeiten mehr hinzu. (Ifd8b3)
- Es wurde ein Problem mit
BackHandler
behoben, bei dem das zuvor festgelegte Lambda vononBack
nach der Neuzusammensetzung weiterhin verwendet wurde. (8eb5eb)
Version 1.3.0-alpha03
24. Februar 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
und androidx.activity:activity-ktx:1.3.0-alpha03
werden losgelassen. Version 1.3.0-alpha03 enthält diese Commits.
Neue Funktionen
- Es gibt jetzt eine komponierbare
registerForActivityResult
-Funktion, mit der Ergebnisse aus Aktivitäten in Composeables abgerufen werden können. (Ia7851, b/172690553)
API-Änderungen
LocalOnBackPressedDispatcherOwner
hat 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
werden losgelassen. Version 1.3.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem in Activity Compose
1.3.0-alpha01
wurde behoben, das bei Verwendung von Compose1.0.0-alpha12
zu einerNoSuchMethodError: No static method setContent
-Ausnahme führte. Alle Nutzer von „Compose“ sollten1.3.0-alpha02
und höher verwenden. (b/179911234)
API-Änderungen
- Mit der
BackHandler
API kann ein Composable die Zurück-Schaltfläche des Systems abfangen. (I58ed5, b/172154006)
Version 1.3.0-alpha01
10. Februar 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
und androidx.activity:activity-ktx:1.3.0-alpha01
wurden veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
- Das neue
activity-compose
-Artefakt bietet Jetpack Compose-spezifische Helpers fü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 darauf basierende Bibliotheken wieandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
verwenden, führt dies zu einerNoSuchMethodError: No static method setContent
-Ausnahme. (b/179911234)
Version 1.2.4
Version 1.2.4
21. Juli 2021
androidx.activity:activity:1.2.4
und androidx.activity:activity-ktx:1.2.4
werden freigegeben. Version 1.2.4 enthält diese Commits.
Fehlerkorrekturen
- Aktivität
1.3.0-rc02
: Die Callbacks der ActivityResultRegistry werden jetzt ordnungsgemäß gespeichert und wiederhergestellt, sodass Callbacks nicht im savedState dupliziert werden. (I97816, b/191893160)
Version 1.2.3
Version 1.2.3
5. Mai 2021
androidx.activity:activity:1.2.3
und androidx.activity:activity-ktx:1.2.3
werden freigegeben. Version 1.2.3 enthält diese Commits.
Fehlerkorrekturen
- Die Verwendung der Methodenerweiterung
launch()
mit einer benutzerdefiniertenActivityResultContract
mit einerUnit
-Eingabe führt nicht mehr zu einerNullPointerException
(I76282, b/183837954). - Ein falsch positiver Lint-Fehler wurde behoben, bei dem Sie aufgefordert wurden, Fragment
1.3.0
zu verwenden, wenn Sie einen Snapshot-, Alpha-, Beta- oder RC-Build einer neueren Version von Fragments verwenden. (f4a57e, b/184847092)
Version 1.2.2
Version 1.2.2
24. März 2021
androidx.activity:activity:1.2.2
und androidx.activity:activity-ktx:1.2.2
werden freigegeben. Version 1.2.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem bei der
InvalidFragmentVersionForActivityResult
-Lint-Prüfung wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte. (I54da1, b/182388985) ComponentActivity
vermeidet jetzt einClassNotFoundException
, wenn eineIntent
von einerActivityResultContract
gestartet wird, die zuvor als Extra in einer anderenIntent
gehalten wurde. (Ieff05, b/182906230)
Aktualisierung der Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
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 freigegeben. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
RequestMultiplePermissions
gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen zurück, nicht nur für Berechtigungen, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)ActivityResultRegistry
sorgt jetzt dafür, dass in Bearbeitung befindlichelaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn duunregister()
auswählst, und dann noch einmal mit demselben Schlüsselregister()
. (I9ef34, b/181267562)
Version 1.2.0
Version 1.2.0
10. Februar 2021
androidx.activity:activity:1.2.0
und androidx.activity:activity-ktx:1.2.0
werden freigegeben. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Activity Result APIs:
ComponentActivity
bietet jetzt 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 bietet sie überActivityResultContract
eine verbesserte Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Hilfeartikel Ergebnis aus einer Aktivität abrufen.
ContextAware
:ComponentActivity
implementiert jetztContextAware
. Du kannst also eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen, die einen Callback vor der Basis-Activity.onCreate()
erhalten.- Mit einer anhaltenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen Block ohne Aussetzung ausführen, wenn der Kontext verfügbar ist, und ein Ergebnis zurückgeben. - Diese API wird von
FragmentActivity
in Fragment 1.3.0 verwendet, um den Status derFragmentManager
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 anhaltenden 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. Die Aktivität wird dann für alle Ansichten, die derComponentActivity
direkt hinzugefügt wurden, alsLifecycleOwner
,ViewModelStoreOwner
undSavedStateRegistryOwner
zurückgegeben.
- reportFullyDrawn()-Backport: Die
Activity
-Methode vonreportFullyDrawn()
wurde inComponentActivity
zurückportiert und funktioniert auf allen API-Ebenen. Ein Absturz bei API 19 wurde behoben und dieser Methode wurde für alle API-Ebenen Tracing hinzugefügt.
Version 1.2.0-rc01
16. Dezember 2020
androidx.activity:activity:1.2.0-rc01
und androidx.activity:activity-ktx:1.2.0-rc01
werden freigegeben. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Mit
ActivityResultRegistry
wird jetzt immer der genau gespeicherte Status wiederhergestellt. (Idd56b) ComponentActivity.reportFullyDrawn
(Ic7632) Tracing hinzufügen
Externer Beitrag
ComponentActivity
überschreibt jetztreportFullyDrawn()
, sodass es auf allen API-Ebenen aufgerufen werden kann. Außerdem wurde ein Absturz beim Aufrufen dieser Methode ohne die entsprechende Systemberechtigung auf Geräten mit API 19 behoben. Vielen Dank, Simon Schiller. (b/163239764, #103)
Version 1.2.0-beta02
2. Dezember 2020
androidx.activity:activity:1.2.0-beta02
und androidx.activity:activity-ktx:1.2.0-beta02
wurden veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Activity Result API nicht auf den Lebenszyklus
STARTED
wartet, bevor Ergebnisse ausgegeben wurden, wenn sie mit einerLifecycle
registriert wurden. (I109ea)
Externer Beitrag
- Die Dokumentation für
launch()
wurde aktualisiert, um explizit darauf hinzuweisen, dass eineActivityNotFoundException
geworfen werden kann. Vielen Dank, Michał Zieliński! (aosp/1493580)
Version 1.2.0-beta01
1. Oktober 2020
androidx.activity:activity:1.2.0-beta01
und androidx.activity:activity-ktx:1.2.0-beta01
wurden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Fehlerkorrekturen
Der
ActivityResultRegistry
generiert jetzt zufällig Ganzzahlen, bis er eine Ganzzahl findet, die noch nicht als Anfragecoderegister()
zugewiesen wurde. So wird ein möglicher Ganzzahlüberlauf verhindert, der durch das Inkrementieren von Anfragecodes verursacht wird. (b/168779518)Lifecycle
-Beobachter werden ordnungsgemäß entfernt, wennunregister()
auf einerActivityResultLauncher
aufgerufen wird. (b/165608393)
Verhaltensänderungen
- Die
ActivityResultRegistry
wirft jetzt eineIllegalStateException
, wenn versucht wird,register()
mit einerLifecycleOwner
aufzurufen, derenLifecycle
bereitsSTARTED
erreicht hat. (b/165435866)
Dokumentation aktualisiert
- Die
ContextAware
-Dokumentation enthält einen Link zuLifecycleOwner
, umLifecycle
-Callbacks als geeigneten Ort für das Erstellen und Löschen von Ereignissen hervorzuheben. (aosp/1414152)
Version 1.2.0-alpha08
19. August 2020
androidx.activity:activity:1.2.0-alpha08
und androidx.activity:activity-ktx:1.2.0-alpha08
werden freigegeben. Version 1.2.0-alpha08 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetztContextAware
. Sie können also eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen, die vor der Basis-Activity.onCreate()
einen Rückruf erhalten. (b/161390636)- Mit einer anhaltenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen Block ohne Aussetzung ausführen, wenn der Kontext verfügbar ist, und ein Ergebnis zurückgeben. (I8290c) - Diese API wird von
FragmentActivity
in Fragment 1.3.0-alpha08 verwendet, um den Status derFragmentManager
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 anhaltenden Kotlin-Erweiterung
Fehlerkorrekturen
- Ein Problem mit der
ActivityResultFragmentVersionDetector
-Lint-Prüfung wurde behoben, das bei Verwendung von Lint 27.1.0 oder höher zu Abstürzen führte. (b/162155191)
Version 1.2.0-alpha07
22. Juli 2020
androidx.activity:activity:1.2.0-alpha07
und androidx.activity:activity-ktx:1.2.0-alpha07
werden freigegeben. Version 1.2.0-alpha07 enthält diese Commits.
Neue Funktionen
- Es wurde eine neue
InvalidFragmentVersionForActivityResult
-Lint-Prüfung hinzugefügt, die prüft, ob Sie Fragment1.3.0-alpha07
verwenden, wenn Sie die Activity Result API verwenden. So werden Laufzeitabstürze aufgrund von Problemen mit ungültigem Anfragecode und nicht funktionierenden Berechtigungsanfragen vermieden, die durch die Verwendung älterer Fragmentversionen verursacht werden. (b/152554847)
Externer Beitrag
- Ein
ArrayIndexOutOfBoundsException
beim Parsen der Ergebnisse für den Vertrag mit dem AktivitätsergebnisRequestPermission
wurde behoben. (I8f9e3, b/161057605)
Version 1.2.0-alpha06
10. Juni 2020
androidx.activity:activity:1.2.0-alpha06
und androidx.activity:activity-ktx:1.2.0-alpha06
werden freigegeben. Version 1.2.0-alpha06 enthält diese Commits.
Neue Funktionen
- Sie können jetzt die Klasse
ActivityResult
in Kotlin destrukturieren, um direkt aufrequestCode
undintent
zuzugreifen. (b/157212935) - Mit
ActivityResultLauncher
können Sie jetzt denActivityResultContract
abrufen, mit dem der Launcher registriert wurde. (b/156875743)
API-Änderungen
- Funktionsgefährdende Änderung: Die
invoke()
-Methode vonActivityResultRegistry
wurde inonLaunch()
umbenannt. (b/157496491) - Der
OpenMultipleDocuments
-Vertrag gibt dem registrierten Rückruf jetzt eine leere Liste anstelle vonnull
zurück, wenn kein Ergebnis zurückgegeben wird. (b/157348014)
Version 1.2.0-alpha05
20. Mai 2020
androidx.activity:activity:1.2.0-alpha05
und androidx.activity:activity-ktx:1.2.0-alpha05
werden freigegeben. Version 1.2.0-alpha05 enthält diese Commits.
Neue Funktionen
- Unterstützung für
ViewTreeViewModelStoreOwner
aus Lifecycle2.3.0-alpha03
undViewTreeSavedStateRegistryOwner
aus SavedState1.1.0-alpha01
hinzugefügt, wenn eineView
in einerComponentActivity
verwendet wird. (aosp/1297993, aosp/1300264)
API-Änderungen
- Der
TakePicture
-Vertrag gibt jetzt einboolean
zurück, das den Erfolg angibt, anstatt eine MiniaturansichtBitmap
, da dies von Kamera-Apps beim Schreiben des Bilds in die angegebeneUri
nur sehr selten unterstützt wurde. (b/154302879) - Die
invoke()
-Erweiterungen vonActivityResultLauncher
wurden entfernt und durch die explizite Verwendung vonlaunch()
ersetzt, um besser zu verdeutlichen, dass es sich um asynchrone Vorgänge handelt. Demandroidx.activity.result
-Paket fürActivityResultLauncher<Void>
undActivityResultLauncher<Unit>
wurden Kotlin-Erweiterungen fürlaunch
hinzugefügt, sodassnull
bzw.Unit
nicht mehr übergeben werden müssen. Das entspricht dem Verhalten der bisherigeninvoke()
-Erweiterungen. (aosp/1304674, aosp/1304675) - Die
IntentSenderRequest.Builder
-Methoden fürsetFlagsMask()
undsetFlagsValues()
wurden in einer einzigensetFlags()
-Methode kombiniert. (aosp/1302111)
Fehlerkorrekturen
- Beim Registrieren einer
ActivityResultCallback
mit einerLifecycleOwner
wurde ein Problem behoben, bei dem der Rückruf ausgelöst wurde, bevor der StatusSTARTED
erreicht wurde. (aosp/1309744)
Änderungen im Verhalten
- Die
ActivityResultRegistry
generiert jetzt Anfragecodes, die mit0xFFFF
statt mit0
beginnen. So wird verhindert, dass sichstartActivityForResult()
oderrequestPermissions()
in einer Aktivität überschneiden. (aosp/1302324)
Version 1.2.0-alpha04
29. April 2020
androidx.activity:activity:1.2.0-alpha04
und androidx.activity:activity-ktx:1.2.0-alpha04
werden freigegeben. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- Den ActivityResult APIs wurde ein Vertrag hinzugefügt, mit dem startIntentSenderForResult aufgerufen werden kann. (b/153007517)
API-Änderungen
- Die Methode
prepareCall()
wurde inregisterForActivityResult()
umbenannt, sowohl inComponentActivity
hier als auch in 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. Verwende die Activity Result APIs. (b/154751887)
Fehlerkorrekturen
- Wenn du die
GetMultipleContents
- undOpenMultipleDocuments
-Verträge verwendest und einen einzelnen Artikel auswählst, wird er jetzt korrekt an deinen Callback zurückgegeben. (b/152941153)
Version 1.2.0-alpha03
1. April 2020
androidx.activity:activity:1.2.0-alpha03
und androidx.activity:activity-ktx:1.2.0-alpha03
werden freigegeben. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Die Verträge
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
undCreateDocument
wurden zu den vonActivityResultContracts
bereitgestellten vordefinierten Verträgen hinzugefügt. (aosp/1262482, aosp/1266916, aosp/1268960) - Die Activity Result APIs unterstützen jetzt das Starten einer Aktivität für ein Ergebnis mit einer optionalen
ActivityOptionsCompat
. (b/151860054)
API-Änderungen
- Der Vertrag
TakePicture
verwendet jetzt eineUri
-Eingabe für den Speicherort des Bildes. Der vorherige Vertrag, für den keine Eingaben vorgenommen wurden, wurde inTakePicturePreview
umbenannt. (aosp/1262482) - Die Methode
registerActivityResultCallback()
vonActivityResultRegistry
wurde inregister()
umbenannt. (aosp/1267621) - Die Methode
dispose()
fürActivityResultLauncher
wurde inunregister()
umbenannt und die MethodeunregisterResultCallback()
inActivityResultRegistry
wurde entfernt. (aosp/1267621) - Die
createIntent()
-Methode vonActivityResultContact
nimmt jetzt zusätzlich zur Eingabe eineContext
an, um explizite Intents zu erstellen. (aosp/1238800) - Ein
ActivityResultContract
kann jetztgetSynchronousResult()
überschreiben, um ein Ergebnis zu liefern, ohnestartActivityForResult
aufzurufen. Dieser Wert wird in denRequestPermission
- undRequestPermissions
-Verträgen verwendet, um den Status „gewährt“ zu senden, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799) - Der zuvor verfügbare
Dial
-Vertrag wurde entfernt, da dieseIntent
nicht mitstartActivityForResult()
verwendet werden soll. (aosp/1266916) - Viele der Activity Result APIs, die nicht erweitert werden sollen, sind jetzt
final
. Dazu gehörengetActivityResultRegistry()
, dieprepareCall()
-Methoden, alleActivityResultRegistry
-Methoden außerinvoke()
sowie eine Reihe der Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)
Fehlerkorrekturen
- Ein Fehler bei
NullPointerException
inActivityResultRegistry
wurde behoben, der beim Versuch auftrat, Ergebnisse an einen Rückruf zu senden, der nach einer Konfigurationsänderung noch nicht neu registriert wurde.ActivityResultRegistry
behält diese ausstehenden Ergebnisse jetzt bei und sendet sie, wenn der Rückruf neu registriert wird. (b/152137004)
Version 1.2.0-alpha02
18. März 2020
androidx.activity:activity:1.2.0-alpha02
und androidx.activity:activity-ktx:1.2.0-alpha02
wurden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- ActivityResultRegistry:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der Sie die AbläufestartActivityForResult()
+onActivityResult()
sowierequestPermissions()
+onRequestPermissionsResult()
verarbeiten können, ohne Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem bietet sie überActivityResultContract
eine erhöhte Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Abschnitt Ergebnisse aus einer Aktivität abrufen. (b/125158199)
Version 1.2.0-alpha01
4. März 2020
androidx.activity:activity:1.2.0-alpha01
und androidx.activity:activity-ktx:1.2.0-alpha01
wurden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Die Unterstützung für die
ViewTreeLifecycleOwner.get(View)
API wurde im Lebenszyklus2.3.0-alpha01
hinzugefügt, sodass sie für alle direkt zur Aktivität hinzugefügten Ansichten die Aktivität alsLifecycleOwner
zurückgibt. (aosp/1182955)
Fehlerkorrekturen
- Eine Regression in „Aktivitäten“
1.1.0
wurde behoben, die bei der Ausführung auf älteren Versionen der Plattform auftrat. Dabei führteonBackPressed()
aufgrund eines Fehlers inandroid.app.FragmentManager
zu einerIllegalStateException
. (b/146290338)
Version 1.1.0
Version 1.1.0
22. Januar 2020
androidx.activity:activity:1.1.0
wird veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Integration von Lifecycle ViewModel SavedState:
SavedStateViewModelFactory
ist jetzt die Standard-Factory, die bei Verwendung vonby viewModels()
, demViewModelProvider
-Konstruktor oderViewModelProviders.of()
mit einerComponentActivity
oder einer ihrer Unterklassen verwendet wird.
Version 1.1.0-rc03
4. Dezember 2019
androidx.activity:activity:1.1.0-rc03
und androidx.activity:activity-ktx:1.1.0-rc03
werden freigegeben. Version 1.1.0-rc03 enthält diese Commits.
Änderungen an Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
2.2.0-rc03
und dem Lifecycle-View-Modell-Speicherstatus1.0.0-rc03
ab.
Version 1.1.0-rc02
7. November 2019
androidx.activity:activity:1.1.0-rc02
und androidx.activity:activity-ktx:1.1.0-rc02
werden freigegeben. Version 1.1.0-rc02 enthält diese Commits.
Änderungen an Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
2.2.0-rc02
ab.
Version 1.1.0-rc01
23. Oktober 2019
androidx.activity:activity:1.1.0-rc01
und androidx.activity:activity-ktx:1.1.0-rc01
werden ohne Änderungen gegenüber 1.1.0-beta01
veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Version 1.1.0-beta01
9. Oktober 2019
androidx.activity:activity:1.1.0-beta01
und androidx.activity:activity-ktx:1.1.0-beta01
werden freigegeben. Version 1.1.0-beta01 enthält diese Commits.
Änderungen an Abhängigkeiten
- Die Aktivität hängt jetzt von der stabilen Version von SavedState 1.0.0 ab.
Version 1.1.0-alpha03
5. September 2019
androidx.activity:activity:1.1.0-alpha03
und androidx.activity:activity-ktx:1.1.0-alpha03
werden freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Die Aktivität hängt jetzt von Core 1.1.0 Stable ab.
Fehlerkorrekturen
- Die Aktivität hängt jetzt vom Lebenszyklus
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
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
SavedStateViewModelFactory
ist jetzt die Standard-Factory, die verwendet wird, wennby viewModels()
, derViewModelProvider
-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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
activity
hängt jetzt vom Lebenszyklus2.2.0-alpha02
ab. (aosp/1007817)activity-ktx
hat eine Abhängigkeit vonlifecycle-runtime-ktx
hinzugefügt. Du musst sie nicht mehr explizit zu deinen Abhängigkeiten hinzufügen, wenn duactivity-ktx
oder vonactivity-ktx
abhängige Bibliotheken verwendest (z. B.fragment-ktx
). (aosp/987162)
Version 1.0.0
Version 1.0.0
5. September 2019
androidx.activity:activity:1.0.0
und androidx.activity:activity-ktx:1.0.0
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Hauptfunktionen von Version 1.0.0
- ComponentActivity:
ComponentActivity
dient als neue Basisklasse fürFragmentActivity
in Fragment1.1.0
und damit auch fürAppCompatActivity
in AppCompat1.1.0
. - activity-ktx: Das
activity-ktx
-Modul enthält eineby viewModels
-Kotlin-Eigenschaftserweiterung für den Zugriff auf ViewModels. Dieses Modul wird automatisch eingefügt, wenn dufragment-ktx
aus Fragment1.1.0
einfügst. - OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von
onBackPressed()
können Sie jetzt eineOnBackPressedCallback
aus einem beliebigenLifecycleOwner
(z. B. einem Fragment) registrieren, um Systemereignisse der Zurück-Schaltfläche abzufangen.activity-ktx
wurde eine Lambda-Funktion mit der EmpfängerversionaddCallback
hinzugefügt. Weitere Informationen finden Sie unter Dokumentation zur benutzerdefinierten Rücknavigation bereitstellen. - Einstellung von "onRetainCustomNonConfigurationInstance": Die APIs
onRetainCustomNonConfigurationInstance()
und die zugehörigengetLastCustomNonConfigurationInstance()
APIs wurden verworfen. Es wird dringend empfohlen, ViewModels zum Speichern des Nicht-Konfigurationsstatus zu verwenden, da sie eine zusammensetzbare Lösung für alleViewModelStoreOwner
bieten, die die Eigentümerschaft der beibehaltenen Objekte deutlich macht und einenonCleared()
-Callback zum Bereinigen von Ressourcen bietet, wenn die Aktivität schließlich gelöscht ist.
Version 1.0.0-rc01
2. Juli 2019
androidx.activity:activity:1.0.0-rc01
und androidx.activity:activity-ktx:1.0.0-rc01
werden ohne Änderungen gegenüber 1.0.0-beta01
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-beta01
5. Juni 2019
androidx.activity::activity:1.0.0-beta01
und androidx.activity:activity-ktx:1.0.0-beta01
wurden ohne Änderungen gegenüber 1.0.0-alpha08
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-alpha08
7. Mai 2019
androidx.activity:activity:1.0.0-alpha08
und androidx.activity:activity-ktx:1.0.0-alpha08
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- Funktionsgefährdende Änderung: Die zuvor eingestellten Methoden
addOnBackPressedCallback
undremoveOnBackPressedCallback
vonComponentActivity
wurden entfernt. aosp/953857 - Die Methoden
setEnabled()
undisEnabled()
vonOnBackPressedCallback
sind jetzt endgültig. b/131416833 - Die
remove()
-Methode vonOnBackPressedCallback
ist jetzt endgültig. aosp/952720 OnBackPressedDispatcher
hat jetzt öffentliche Konstruktoren, mit denen Sie eigene Instanzen für Tests erstellen können. aosp/953431onBackPressed()
fürComponentActivity
ist jetzt explizit als@MainThread
gekennzeichnet aosp/952721
Fehlerkorrekturen
- Ein
ConcurrentModificationException
wurde behoben, das beim Aufrufen vonremove()
aus derhandleOnBackPressed()
-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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
In dieser Version wurden wesentliche Änderungen an der Verarbeitung von onBackPressed()
vorgenommen. Weitere Informationen finden Sie in der aktualisierten Dokumentation zur benutzerdefinierten Sicherung.
- Die Methoden für
OnBackPressedCallback
undOnBackPressedDispatcher
wurden als@MainThread
gekennzeichnet. (aosp/943813) - Die Methode
handleOnBackPressed()
gibt keinboolean
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 diesem Fall müssen Sie die Schaltfläche „Zurück“ verarbeiten. (aosp/944518) - Die
addCallback
-Methoden vonOnBackPressedDispatcher
geben keineCancellable
-Instanz mehr zurück.OnBackPressedCallback
enthält 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 auf Empfängerebene 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
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- ComponentActivity enthält jetzt einen zweiten Konstruktor, der einen
@LayoutRes int
annimmt. Damit wird das vorherige Verhalten ersetzt, bei dem die AppCompatActivity-Klasse mit@ContentView
annotiert wurde. Dieser Ansatz funktioniert sowohl in Anwendungs- als auch in Bibliotheksmodulen. (b/128352521) - Die
OnBackPressedCallback
-bezogenen APIs für ComponentActivity wurden zugunsten der neuenOnBackPressedDispatcher
eingestellt, die übergetOnBackPressedDispatcher()
abgerufen werden kann. (aosp/922523) - Methoden zum Hinzufügen eines neuen
OnBackPressedCallback
zumOnBackPressedDispatcher
geben jetzt einCancellable
-Objekt zurück. So kann der Rückruf entfernt werden, ohne dass ein expliziter Verweis auf dasOnBackPressedDispatcher
erforderlich ist. (aosp/922523) - Wenn Sie eine
OnBackPressedCallback
mit einer verknüpftenLifecycleOwner
hinzufügen, wird jetzt dieOnBackPressedCallback
hinzugefügt und entfernt, wenn der Lebenszyklus gestartet bzw. beendet wird. (aosp/922523)
Version 1.0.0-alpha05
13. März 2019
androidx.activity:activity:1.0.0-alpha05
und androidx.activity:activity-ktx:1.0.0-alpha05
wurden freigegeben. Eine vollständige Liste der Commits in dieser Version finden Sie hier.
Neue Funktionen
@ContentView
Anmerkungsabfragen werden jetzt im Cache gespeichert (b/123709449)
Version 1.0.0-alpha04
30. Januar 2019
androidx.activity:activity 1.0.0-alpha04
und androidx.activity:activity-ktx 1.0.0-alpha04
werden freigegeben.
Neue Funktionen
- Unterstützung für die
@ContentView
-Klassenannotation hinzugefügt, mit der Sie angeben können, welche Layout-XML-Datei anstelle vonsetContentView()
aufgebläht werden soll. (aosp/837619)
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getViewModelStore()
nicht überschrieben werden sollte und in einem zukünftigen Release endgültig gemacht wird. Wenn Sie diese Methode derzeit überschreiben, stellen Sie bitte eine Funktionsanfrage. (aosp/837619)
Fehlerkorrekturen
- Das
activity
-Modul hängt jetzt von Version 2.1.0-alpha02 von ViewModel ab, um der Abhängigkeit desactivity-ktx
-Moduls zu entsprechen.
Version 1.0.0-alpha03
17. Dezember 2018
androidx.activity 1.0.0-alpha03
wurde veröffentlicht.
Neue Funktionen
- ComponentActivity implementiert jetzt
BundleSavedStateRegistryOwner
und ist von der neu veröffentlichten SavedState-Bibliothek abhängig [aosp/815133] - ComponentActivity umgeht jetzt einen Fehler im Android-Framework, durch den der InputMethodManager die zuletzt fokussierte Ansicht leckte [b/37122102]
Version 1.0.0-alpha02
3. Dezember 2018
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getLifecycle()
nicht überschrieben werden sollte und in einem zukünftigen Release auffinal
gesetzt wird. Wenn Sie diese Methode derzeit überschreiben, stellen Sie bitte eine Funktionsanfrage. (aosp/815834)
Version 1.0.0-alpha01
5. November 2018
In androidx.activity 1.0.0-alpha01
wird ComponentActivity
eingeführt, eine neue Basisklasse der vorhandenen FragmentActivity
und AppCompatActivity
.
Neue Funktionen
- Sie können jetzt eine
OnBackPressedCallback
überaddOnBackPressedCallback
registrieren, umonBackPressed()
-Callbacks zu erhalten, ohne die Methode in Ihrer Aktivität überschreiben zu müssen. - Es wurde ein neuer
by viewModels()
-Kotlin-Property-Delegierter zum Abrufen vonViewModel
s aus einerComponentActivity
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 SieViewModel
zum Speichern von Objekten, die bei Konfigurationsänderungen erhalten bleiben müssen.