Aktivität
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
11. Dezember 2024 | 1.9.3 | 1.10.0-rc01 | - | - |
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 erforderlichen Artefakte hinzu:
Groovy
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
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen 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 einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.10
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
werden losgelassen. Version 1.10.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem der Callback sofort beendet wurde, wenn der aktivierte Status geändert wurde, während
PredictiveBackHandler
aktiv war. Der aktuelle Callback wird jetzt unabhängig von den Änderungen am aktivierten Status beendet. (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
wurden seit der letzten Alphaversion unverändert 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
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 seinen Rückruf nicht mehr aus, nachdem der Handler deaktiviert wurde. 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) - Aktivität
1.9.1
: Ein Problem mitPredictiveBackHandler
wurde behoben, bei dem nach dem Zurücksetzen des Systems der Versuch,onBackPressed
über dieOnBackPressedDispatcher
auszuführen, fehlgeschlagen ist. (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
werden losgelassen. 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
werden losgelassen. Version 1.9.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit
PredictiveBackHandler
wurde behoben, bei dem nach dem Zurücksetzen des Systems der Versuch,onBackPressed
über dieOnBackPressedDispatcher
auszuführen, fehlgeschlagen ist. (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. - Der Rest der Activity APIs wurde in Kotlin neu geschrieben und alle Erweiterungen, die zuvor in
activity-ktx
verfügbar waren, wurden zuactivity
verschoben.activity-ktx
ist jetzt vollständig 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 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
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, das während einer bereits laufenden Touch-Geste für die Vorhersage der Rückwärtsbewegung gestartet wurde, 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 beim ersten Zugriff auf die
onBackPressedDispatcher
über eineComponentActivity
aus einem Hintergrund-Thread wurde behoben. Es ist jetzt möglich, in jedem Thread auf dieonBackPressedDispatcher
zuzugreifen. (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. Dasactivity-ktx
-Artefakt ist jetzt vollständig leer. (I0a444)
Fehlerkorrekturen
- Die
enableEdgeToEdge
API zeichnet jetzt um alle Displayausschnitte herum. (a3644b, b/311173461) - Bei Aktivität
1.8.2
wurde das Extra korrigiert, das anACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Aktivitätsvertrags für die Bildauswahl übergeben wurde, damit 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. Wenn Sie als OEM eine systemeigene Bildauswahl implementieren, sollten Sie beide Extras unterstützen, 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
werden losgelassen. 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 Ihre Implementierung vonActivityResultLauncher
in Kotlin geschrieben ist. (Id4615)PickVisualMediaRequest
hat jetzt dasselbe Mindest-API-Level 19 wie derPickVisualMedia
-Aktivitätsergebnisvertrag. (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
werden losgelassen. Version 1.8.2 enthält diese Commits.
Fehlerkorrekturen
- Das Extra, das an
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Aktivitätsvertrags für die Bildauswahl übergeben wurde, wurde korrigiert, damit der SchlüsselEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
statt"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
verwendet wird. 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 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.
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
werden losgelassen. Version 1.8.0-alpha07 enthält diese Commits.
Neue Funktionen
Für „Activity Compose“ wurde ein neuer
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 wird über eine Lint-Regel eine Warnung zur Kompilierzeit ausgegeben, um sicherzustellen, dass
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 er 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 benutzerdefinierte Logik für die Erkennung des Nachtmodus anzugeben. (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. - Bruchä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
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
- Unter Aktivität
1.7.2
:ReportDrawn
stürzt nicht mehr ab, wenn ein Bildschirm verlassen wird, bevorreport
aufgerufen wird. (Ic46f1, b/260506820)
Version 1.8.0-alpha04
10. Mai 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
und androidx.activity:activity-ktx:1.8.0-alpha04
werden losgelassen. Diese Version wurde aus einem internen Branch veröffentlicht.
Fehlerkorrekturen
- Aktivität 1.7.1:
ReportFullyDrawExecuter
wird nicht mehr bei Verwendung vonComponentActivity
mitActivityScenario
gesendet. (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 Weise und abwärtskompatibel 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()
, mit der alle Eigentümer des Ansichtsbaums initialisiert werden, 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. Diese Version wurde aus einem internen Branch erstellt.
Neue Funktionen
- Die Klasse
OnBackPressedCallback
enthält jetzt neue Rückwärts-Callbacks für die intelligente „Zurück“-Touch-Geste, um den Beginn, den Fortschritt und das Abbrechen der Geste zu verarbeiten. Außerdem gibt es den vorherigenhandleOnBackPressed()
-Callback, der ausgeführt wird, wenn die 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
werden losgelassen. Version 1.7.2 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Absturzes von
ReportDrawn
, wenn ein Bildschirm verlassen wird, bevorreport
aufgerufen wird. (Ic46f1, b/260506820)
Version 1.7.1
19. April 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
und androidx.activity:activity-ktx:1.7.1
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 Aktivitätsverträge für die Bildauswahl in
PickVisualMedia
undPickMultipleVisualMedia
wurden aktualisiert und enthalten jetzt einen zusätzlichen Fallback für den Fall, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist. So können OEMs und System-Apps wie Google Play-Dienste die Bildauswahl auf einer größeren Auswahl von Android-Geräten und API-Levels konsistent bereitstellen, indem sie die Fallback-Aktion implementieren. Die Bildauswahl verwendet diesen Fallback, falls er verfügbar ist, bevor aufIntent.ACTION_OPEN_DOCUMENT
zurückgegriffen wird, die weiterhin für alle Geräte mit API 19 und höher unterstützt wird. 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 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, 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. Bei den folgenden Klassen wurden nicht mit der Quelle kompatible Änderungen an Klassen vorgenommen, 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
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 übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Wir empfehlen, die folgenden APIs zu aktivieren:
- 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, die in den
PickVisualMedia
- undPickMultipleVisualMedia
-Verträgen als Fallback verwendet werden, wennMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps eine stabile API bieten, die eine einheitliche Bildauswahl ermöglicht. Die Implementierung dieses Fallbacks ist derzeit 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
werden losgelassen. 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
und 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
werden losgelassen. Version 1.7.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Bei Aktivitäten
1.6.1
: Es wurde ein Problem behoben, bei dem derPickMultipleVisualMedia
-Aktivitätsergebnisvertrag 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
werden losgelassen. 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 übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Wir empfehlen, die folgenden APIs zu aktivieren:
- 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
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.
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
werden losgelassen. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das der
PickMultipleVisualMedia
-Aktivitätsergebnisvertrag 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
werden losgelassen. 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) - 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 jetzt Menüaufrufe korrekt, 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
werden losgelassen. 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 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
werden losgelassen. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
- Die veralteten Methoden
startActivityForResult
undstartIntentSenderForResult
inComponentActivity
wurden 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
werden losgelassen. 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 Prüfung der SDK-Erweiterung 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. - Die
OnBackInvokedCallback
in Android 13 Dev Beta 2 in die vonComponentDialog
bereitgestellteOnBackPressedDispatcher
integriert. So können alle aufOnBackPressedDispatcher
basierenden APIs verwendet werden, wenn die vorhersagende Zurück-Geste 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 funktionieren alle aufOnBackPressedDispatcher
basierenden APIs, wenn Sie die vorhersagende Zurück-Geste aktivieren.
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
- Änderungen aus der Android 13-Entwicklervorschau 2 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
werden losgelassen. 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 jetzt Menüaufrufe 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 allgemeine 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 eingestellt und durch einen neuen Konstruktor ersetzt, der einen bestimmten 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 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.
Abhängigkeitsupdates
- 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 für Änderungen im 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
werden losgelassen. 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 untergeordnete Klasse auch dieViewTreeOnBackPressedDispatcherOwner
festlegt. So können Ansichten den richtigen Dispatcher auf allgemeine Weise abrufen, unabhängig davon, ob er in einerComponentActivity
oder einerComponentDialog
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)ComponentActivity
implementiert jetzt die neueOnTrimMemoryProvider
-Benutzeroberfläche, damit alle Komponenten diese Ereignisse empfangen können. (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 als Teil derinit
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
wurde korrigiert, der dazu führte, dass bei Verwendung des Codes aus der Programmiersprache Java der AusgabetypList<? extends Uri>
verwendet wurde. (If71de) - Auf öffentliche Konstanten in den Klassen
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
undActivityResultContracts.RequestMultiplePermissions
kann jetzt über ihre jetzt öffentlichenCompanion
-Objekte zugegriffen werden, wenn Kotlin verwendet wird. (aosp/1832555)
Aktualisierungen der Dokumentation
- Die Mitteilung zur Einstellung von APIs, die jetzt von den Activity Result APIs verarbeitet werden, nämlich
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
undonRequestPermissionsResult
, 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
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 ohne Nebenwirkungen erfolgen sollte. Verwenden Sie die APIs zur Verwaltung von 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 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
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)
}
Verhaltensänderungen
- 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
werden losgelassen. Version 1.3.1 enthält diese Commits.
Abhängigkeitsupdates
- 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-Benutzeroberfläche in einer Aktivität und Compose-spezifische Wrapper für die Interaktion mit denComponentActivity
APIs zur Verarbeitung der Systemrück-Schaltfläche und der Activity Result APIs. Weitere Informationen finden Sie in der Dokumentation. - CaptureVideo-Kontrakt: Der
CaptureVideo
ActivityResultContract
ersetzt den jetzt eingestelltenTakeVideo
-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
werden losgelassen. Version 1.3.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
-Callbacks werden jetzt richtig gespeichert und wiederhergestellt, sodass Callbacks 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
werden losgelassen. 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
- Die neue
CaptureVideo
ActivityResultContract
gibt einen booleschen Wert an deineActivityResultCallback
zurück, der angibt, ob dein Video erfolgreich an der angegebenen URI gespeichert wurde. Dieser ersetzt den jetzt veraltetenTakeVideo
-Vertrag, da Kamera-Apps die Rückgabe einer Miniatur-Bitmap nur sehr selten unterstützten, was das Ergebnis unbrauchbar machte. (Ie21f2, b/185938070) - Neue API
Activity#setPipAnimationHintView
hinzugefügt, um den Quell-Rechteckhinweis 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
verwaltet. (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 das zurückgegebeneActivityResultLauncher
ein verwaltetes Objekt ist, das in Ihrem Namen gespeichert wird. Wenn Sie versuchen,unregister
mit der zurückgegebenenActivityResultLauncher
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, z. B. in der Vorschau derNavHost
. (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)
- Ein Problem mit
BackHandler
wurde behoben, bei dem das zuvor festgelegteonBack
-Lambda 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 Compose-Nutzer sollten1.3.0-alpha02
und höher verwenden. (b/179911234)
API-Änderungen
- Mit der
BackHandler
API kann ein Composable die Schaltfläche „Zurück“ 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
werden losgelassen. 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 gespeicherten Status 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 Methodendung
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 geführt hat. (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)
Abhängigkeitsupdates
- 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 laufendelaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sieunregister()
und dann noch einmalregister()
mit demselben Schlüssel senden. (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.
- Backport von reportFullyDrawn(): Die
Activity
-Methode vonreportFullyDrawn()
wurde inComponentActivity
zurückportiert, damit sie auf allen API-Ebenen funktioniert. Dadurch wurde ein Absturz bei API 19 behoben und die Methode für alle API-Ebenen wurde protokolliert.
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. Viele Grüße 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 freigegeben. Version 1.2.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Activity Result API bei der Registrierung mit einem
Lifecycle
nicht auf den LebenszyklusSTARTED
wartete, bevor Ergebnisse zurückgegeben 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
werden freigegeben. 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
- In der
ContextAware
-Dokumentation wird aufLifecycleOwner
verwiesen, umLifecycle
-Callbacks als geeigneten Ort für Erstellungs- und Deaktivierungsereignisse 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
. Du kannst 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 einem Absturz 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
wurde 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 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 Methode
invoke()
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
- Bei der Registrierung einer
ActivityResultCallback
mit einerLifecycleOwner
wurde ein Problem behoben, bei dem der Rückruf ausgelöst wurde, bevor der StatusSTARTED
erreicht wurde. (aosp/1309744)
Verhaltensänderungen
- 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 hier beiComponentActivity
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. Verwenden Sie 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
TakePicture
-Vertrag nimmt jetzt eineUri
-Eingabe für den Speicherort des Bildes an. Der vorherige Vertrag, der keine Eingaben zulässt, wurde inTakePicturePreview
umbenannt. (aosp/1262482) - Die Methode
registerActivityResultCallback()
vonActivityResultRegistry
wurde inregister()
umbenannt. (aosp/1267621) - Die Methode
dispose()
vonActivityResultLauncher
wurde inunregister()
umbenannt und dieunregisterResultCallback()
vonActivityResultRegistry
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, alle Methoden vonActivityResultRegistry
mit Ausnahme voninvoke()
und einige 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
werden freigegeben. 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 überActivityResultContract
eine verbesserte Typsicherheit und Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Hilfeartikel 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 freigegeben. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Die
ViewTreeLifecycleOwner.get(View)
API, die im Lebenszyklus2.3.0-alpha01
hinzugefügt wurde, wird jetzt unterstützt. Die Aktivität wird dann alsLifecycleOwner
für alle Aufrufe zurückgegeben, die der Aktivität direkt hinzugefügt wurden. (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 vom Lebenszyklus-ViewModel-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 SavedState 1.0.0 stable 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
werden freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
SavedStateViewModelFactory
ist jetzt die Standard-Fabrik, die bei Verwendung vonby viewModels()
, demViewModelProvider
-Konstruktor oderViewModelProviders.of()
mit einerComponentActivity
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. 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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.
Wichtige Funktionen von 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 kombinierbare Alternative zum Überschreiben von
onBackPressed()
können Sie jetzt eineOnBackPressedCallback
von jedemLifecycleOwner
(z. B. einem Fragment) registrieren, um Ereignisse der Rückwärtsschaltfläche des Systems 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 „onRetainCustomNonConfigurationInstance“ eingestellt: Die
onRetainCustomNonConfigurationInstance()
API und die zugehörigegetLastCustomNonConfigurationInstance()
API wurden eingestellt. Wir empfehlen dringend, ViewModels zum Speichern von nicht konfigurationsspezifischen Status zu verwenden. Sie bieten eine kombinierbare Lösung, die für jedeViewModelStoreOwner
geeignet ist, 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 freigegeben. 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
Mit dieser Version werden wichtige Änderungen an der Verarbeitung der onBackPressed()
vorgenommen. Weitere Informationen finden Sie in der aktualisierten Dokumentation zu benutzerdefinierten Rückseiten.
- Die Methoden für
OnBackPressedCallback
undOnBackPressedDispatcher
wurden als@MainThread
gekennzeichnet. (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 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
werden freigegeben. 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 App- 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 zugehörigenLifecycleOwner
hinzufügen, wird dieOnBackPressedCallback
jetzt beim Starten bzw. Beenden des Lebenszyklus hinzugefügt oder 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 Commits, die in dieser Version enthalten sind, 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
- 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
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
wird veröffentlicht.
Neue Funktionen
- ComponentActivity implementiert jetzt
BundleSavedStateRegistryOwner
und ist von der neu veröffentlichten SavedState-Bibliothek abhängig [aosp/815133] - Bei ComponentActivity wird jetzt ein Fehler im Android-Framework umgangen, der dazu führte, dass der InputMethodManager die zuletzt fokussierte Ansicht leckte [b/37122102]
Version 1.0.0-alpha02
3. Dezember 2018
API-Änderungen
- Hinweis hinzugefügt, dass
getLifecycle()
nicht überschrieben werden sollte und in einer zukünftigen Version zufinal
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 Sie einenViewModel
zum Speichern von Objekten, die bei Konfigurationsänderungen erhalten bleiben müssen.