Aktivitäten
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
17. April 2024 | 1.9.0 | − | − | − |
Abhängigkeiten deklarieren
Zum Hinzufügen einer Abhängigkeit von Activity müssen Sie Ihrem Projekt das Maven-Repository von Google hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovy
dependencies { def activity_version = "1.9.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.9
Version 1.9.0
17. April 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
und androidx.activity:activity-ktx:1.9.0
wurden veröffentlicht. Version 1.9.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.8.0
- In
ComponentActivity
wird jetztOnUserLeaveHintProvider
implementiert, damit Komponenten Callbacks füronUserLeaveHint
-Ereignisse ermöglichen können. - Die
OnBackPressedCallback
-,BackHandler
- undPredictiveBackHandler
-APIs senden jetzt eine Warnung, wennonBackPressedDispatcher.onBackPressed()
bei der Antwort aufgerufen wird, da dies die Predictive Back Animation immer unterbricht. Weitere Informationen finden Sie im Best Practices-Leitfaden. - Die übrigen Activity APIs wurden in Kotlin neu geschrieben und alle Erweiterungen, die zuvor in
activity-ktx
verfügbar waren, wurden zuactivity
verschoben.activity-ktx
ist nun vollständig leer.- Im Rahmen der Konvertierung von
ActivityResultLauncher
zu Kotlin ist diegetContract
-Methode jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist zwar mit Binärprogrammen kompatibel, es treten jedoch Fehler auf, wenn die Implementierung vonActivityResultLauncher
in Kotlin geschrieben wurde.
- Im Rahmen der Konvertierung 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
wurden veröffentlicht. Version 1.9.0-rc01 enthält diese Commits.
Abhängigkeitsupdate
- Die Aktivität hängt jetzt von Profile Installer 1.3.1 ab.
Version 1.9.0-beta01
20. März 2024
androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
und androidx.activity:activity-ktx:1.9.0-beta01
wurden veröffentlicht. Version 1.9.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- Es wurde eine Leistungsabnahme beim Start von Aktivitäten behoben, die in Aktivität
1.9.0-alpha02
eingeführt wurde, indemOnBackPressedDispatcher
bei der Erstellung der Aktivität aufgerufen wurde. (Ie75e3)
Version 1.9.0-alpha03
7. Februar 2024
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
und androidx.activity:activity-ktx:1.9.0-alpha03
wurden veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.
Flutwarnung
- Die
OnBackPressedCallback
-,BackHandler
- undPredictiveBackHandler
-APIs senden jetzt eine Warnung, wennonBackPressedDispatcher.onBackPressed()
bei der Antwort aufgerufen wird, da dies die Predictive Back Animation immer unterbricht. Weitere Informationen finden Sie im Best Practices-Leitfaden. (1e4222, 2c950d, b/287505200)
Fehlerkorrekturen
- Wenn ein „Zurück“-Ereignis von dem System gesendet wird, das während einer bereits ausgeführten Bewegung für einen bereits laufenden Rücken gestartet wurde, wird die aktuell ausgeführte „Zurück“-Geste abgebrochen und das neue „Zurück“-Ereignis übernimmt, um eine neue vorausschauende Rückbewegung zu starten. (I3482e)
- Ein Absturz beim ersten Zugriff auf
onBackPressedDispatcher
von einemComponentActivity
aus einem Hintergrundthread wurde behoben. Sie können jetzt in allen Threads sicher aufonBackPressedDispatcher
zugreifen. (I79955)
Version 1.9.0-alpha02
24. Januar 2024
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
und androidx.activity:activity-ktx:1.9.0-alpha02
wurden veröffentlicht. Version 1.9.0-alpha02 enthält diese Commits.
Kotlin-Conversions
ActivityResultRegistry
wurde in Kotlin neu geschrieben. Dadurch wird sichergestellt, dass die Ungültigkeit der Generika im Vertrag, der anregister
weitergegeben wurde, korrekt an das an Sie zurückgegebeneActivityResultLauncher
weitergegeben wird. I121f0ActivityResult
wurde in Kotlin neu geschrieben. Die Kotlin-ErweiterungenActivityResult
, die das Destrukturieren in die FelderresultCode
unddata
unterstützen, wurden vonactivity-ktx
nachactivity
verschoben. (I0565a)- Die Kotlin-Erweiterungen
by viewModels()
fürComponentActivity
undtrackPipAnimationHintView
wurden vonactivity-ktx
nachactivity
verschoben. Das Artefaktactivity-ktx
ist jetzt vollständig leer. (I0a444)
Fehlerkorrekturen
- Die
enableEdgeToEdge
API umgibt jetzt alle Display-Aussparungen. (a3644b, b/311173461) - Aus Aktivität
1.8.2
: Der zusätzliche Wert, der an den Vertrag für die Fotoauswahl-AktivitätACTION_SYSTEM_FALLBACK_PICK_IMAGES
übergeben wurde, wurde korrigiert, sodass der SchlüsselEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
korrekt übergeben wurde, anstatt das Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Es wird dringend empfohlen, wenn Sie ein OEM sind, der einen System-Fallback-Bild-Picker implementiert, um beide Extras zu unterstützen und so eine möglichst breite Kompatibilität sicherzustellen. (I96a00)
Version 1.9.0-alpha01
29. November 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
und androidx.activity:activity-ktx:1.9.0-alpha01
wurden veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.
Neue Funktionen
- In
ComponentActivity
wird jetztOnUserLeaveHintProvider
implementiert, damit Komponenten Callbacks füronUserLeaveHint
-Ereignisse ermöglichen können. (I54892)
API-Änderungen
ComponentActivity
wurde in Kotlin neu geschrieben. (I14f31)ActivityResultCaller
wurde in Kotlin neu geschrieben. (Ib02e4)ActivityResultLauncher
wurde in Kotlin neu geschrieben. Im Rahmen dieser Konvertierung ist die MethodegetContract
jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist zwar mit Binärprogrammen kompatibel, es treten jedoch Fehler auf, wenn die Implementierung vonActivityResultLauncher
in Kotlin geschrieben wurde. (Id4615)PickVisualMediaRequest
hat jetzt dasselbe Mindest-API-Level von 19 wie der Vertrag mit den Ergebnissen derPickVisualMedia
-Aktivität. (Id6e21)
Abhängigkeitsaktualisierung
- Die Aktivität hängt jetzt vom Kern-
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
wurden veröffentlicht. Version 1.8.2 enthält diese Commits.
Fehlerkorrekturen
- Der zusätzliche Wert, der an den
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Vertrags für die Fotoauswahl-Aktivität übergeben wurde, wurde korrigiert, sodass derEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
-Schlüssel korrekt übergeben wurde, anstatt das Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Es wird dringend empfohlen, wenn Sie ein OEM sind, der einen System-Fallback-Bild-Picker implementiert, um beide Extras zu unterstützen und so eine möglichst breite Kompatibilität sicherzustellen. (I96a00)
Version 1.8.1
15. November 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
und androidx.activity:activity-ktx:1.8.1
wurden veröffentlicht. Version 1.8.1 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
sendet jetzt weiter an die richtigeOnBackPressedCallback
, auch nachdem eine neueOnBackPressedCallback
hinzugefügt wurde, während die „Zurück“-Geste verarbeitet wird. (Id0ff6)
Version 1.8.0
4. Oktober 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
und androidx.activity:activity-ktx:1.8.0
wurden veröffentlicht. Version 1.8.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.7.0
- Predictive Back:
OnBackPressedCallback
bietet jetzt neue Predictive Back-Callbacks für das Starten der Zurück-Geste, den Fortschritt während der gesamten Geste und das Abbrechen der Zurück-Geste zusätzlich zumhandleOnBackPressed()
-Callback für den Zeitpunkt, an dem die Zurück-Geste für den Commit der Zurück-Geste abgebrochen wird. Dazu gehört auch die zusammensetzbare FunktionPredictiveBackHandler
, mit der vorausschauende Touch-Gesten zum Zurückgehen in der Aktivität erstellt werden können. Sie stellt einen Ablauf der BackEventCompat-Objekte bereit, die in der von Ihnen bereitgestellten sperrenden Lamba erfasst werden müssen:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
wurde zugunsten der APIs für die Rückantwort eingestellt. Entwickler sollten jetzt die OnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben.
- EdgeToEdge:
ComponentActivity.enableEdgeToEdge()
wurde hinzugefügt, um das randlose Display einfach und abwärtskompatibel einzurichten.
Version 1.8.0-rc01
20. September 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
und androidx.activity:activity-ktx:1.8.0-rc01
wurden veröffentlicht. Version 1.8.0-rc01 enthält diese Commits.
Version 1.8.0-beta01
6. September 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
und androidx.activity:activity-ktx:1.8.0-beta01
wurden veröffentlicht. Version 1.8.0-beta01 enthält diese Commits.
Verbesserung der Dokumentation
- Die Dokumentation von
BackEventCompat
wurde verbessert. (aosp/2722254)
Version 1.8.0-alpha07
23. August 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
und androidx.activity:activity-ktx:1.8.0-alpha07
wurden veröffentlicht. Version 1.8.0-alpha07 enthält diese Commits.
Neue Funktionen
Für die Funktion „Aktivität erstellen“ wurde die neue zusammensetzbare Funktion
PredictiveBackHandler
hinzugefügt, um vorausschauende Touch-Gesten-Ereignisse zu verarbeiten. Sie gibt einFlow
mitBackEventCompat
Objekten an, die in der von dir angegebenen sperrenden Lamba erfasst werden müssen:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
Außerdem gibt es eine Warnung zur Kompilierungszeit über eine Lint-Regel, damit
Flow
collect()
aufruft. (Id2773, b/294884345)Das
onBackPressedDispatcher
inComponentActivity
wird jetzt verzögert initialisiert, sodass es nur bei Bedarf erstellt wird. (I0bf8e)
Fehlerkorrekturen
ComponentActivity
zeigt unter Android 13 keine NPE mehr an, wenn es einenonBackPressed()
-Callback erhält und die Aktivität bereitsDESTROYED
lautete. (Idb055, b/291869278)- Die Verwendung der experimentellen
isAtLeastU()
API (Ie9117, b/289269026) wurde entfernt.
Version 1.8.0-alpha06
21. Juni 2023
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
und androidx.activity:activity-ktx:1.8.0-alpha06
wurden veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.
Neue Funktionen
- Die
OnBackPressedDispatcher
bricht jetzt alle Callbacks korrekt ab, die während einer vorausschauenden Rückbewegung entfernt werden. (I3f90f)
API-Änderungen
- Wenn Sie
SystemBarStyle.auto
an dieenableEdgeToEdge
API übergeben, können Sie jetzt den Lambda-ParameterdetectDarkMode
überschreiben, um eine benutzerdefinierte Logik für die Erkennung des Nachtmodus bereitzustellen. (aosp/2546393, b/278263793)
Version 1.8.0-alpha05
7. Juni 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
und androidx.activity:activity-ktx:1.8.0-alpha05
wurden veröffentlicht. Diese Version wird in einem internen Zweig entwickelt.
API-Änderungen
- Activity bietet jetzt eine
BackEventCompat
-Klasse, die als abwärtskompatible Version vonBackEvent
dient, die von derBackEvent
-Framework-Klasse entkoppelt ist. - Nicht funktionsgefährdende Änderung: Die Methoden
handleOnBackStarted
undhandleOnBackProgressed
vonOnBackPressedCallback
erhalten jetzt eineandroidx.activity.BackEventCompat
-Instanz anstelle einerandroid.window.BackEvent
-Framework-Klasse. Die entsprechenden@VisibleForTesting
APIs unterOnBackPressedDispatcher
wurden ebenfalls aktualisiert. - Der Konstruktor für
OnBackPressedDispatcher
verwendet jetzt eine optionaleConsumer<Boolean>
-Instanz, die es den Eigentümern des Disponenten ermöglicht, einen Callback zu erhalten, wenn sich die Anzahl der aktivierten Callbacks von null zu nicht null oder umgekehrt ändert.
Fehlerkorrekturen
- In Aktivität
1.7.2
: Beheben Sie das Problem mitReportDrawn
, das beim Verlassen eines Bildschirms abgestürzt ist, 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
wurden veröffentlicht. Dies wurde von einem internen Zweig freigegeben.
Fehlerkorrekturen
- Ab Aktivität 1.7.1: Die
ReportFullyDrawExecuter
wird nicht mehr übertragen, wennComponentActivity
mitActivityScenario
verwendet wird. (Id2ff2, b/277434271)
Version 1.8.0-alpha03
12. April 2023
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
und androidx.activity:activity-ktx:1.8.0-alpha03
wurden veröffentlicht. Dies wurde von einem internen Zweig freigegeben.
Neue Funktionen
ComponentActivity.setUpEdgeToEdge()
wurde hinzugefügt, um das randlose Display einfach und abwärtskompatibel einzurichten.
API-Änderungen
ComponentActivity.onBackPressed()
wurde zugunsten der APIs für die Rückantwort eingestellt. Entwickler sollten jetzt dieOnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)ComponentDialog
undComponentActivity
enthalten jetzt die öffentliche APIinitViewTreeOwners()
, mit der alle Inhaber von Ansichtsstrukturen initialisiert werden, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem Fragmente MenuHosts fälschlicherweise ungültig machten, was dazu führte, dass andere Menüs in der Aktivität ein unerwartetes Verhalten aufwiesen. (I9404e, b/244336571)
Weitere Änderungen
ActivityResultRegister
verwendet jetzt KotlinRandom
anstelle von Java. (I4d98f, b/272096025)
Version 1.8.0-alpha02
8. März 2023
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
und androidx.activity:activity-ktx:1.8.0-alpha02
wurden veröffentlicht. Entwickelt aus einem internen Zweig.
Abhängigkeitsupdate
- Ab Aktivität
1.7.0-rc01
: Für diese Aktivität ist jetztLifecycle 2.6.0
erforderlich.
Version 1.8.0-alpha01
8. Februar 2023
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
und androidx.activity:activity-ktx:1.8.0-alpha01
wurden veröffentlicht. Diese wurde aus einem internen Zweig erstellt.
Neue Funktionen
- Die Klasse
OnBackPressedCallback
enthält jetzt neben dem vorherigen CallbackhandleOnBackPressed()
für den Zeitpunkt, an dem die „Zurück“-Geste ausgeführt wird, neue Callbacks für die „Zurück“-Geste für das Starten der Zurück-Geste, den Fortschritt während der gesamten Geste und das Abbrechen der Zurück-Geste.
Version 1.7
Version 1.7.2
24. Mai 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
und androidx.activity:activity-ktx:1.7.2
wurden veröffentlicht. Version 1.7.2 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Absturzes von
ReportDrawn
beim Verlassen eines Bildschirms, 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
wurden veröffentlicht. Version 1.7.1 enthält diese Commits.
Fehlerkorrekturen
- Das
ReportFullyDrawExecuter
läuft 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
wurden veröffentlicht. Version 1.7.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.6.0
- Die Verträge für die Bildauswahl in
PickVisualMedia
undPickMultipleVisualMedia
wurden aktualisiert und enthalten nun eine zusätzliche Alternative für den Fall, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist. Diese Option ermöglicht OEMs und System-Apps wie Google Play-Diensten eine einheitliche Bildauswahl auf einer größeren Anzahl von Android-Geräten und API-Ebenen durch Implementierung der Fallback-Aktion. Die Bildauswahl verwendet diese Alternative, wenn sie verfügbar ist, bevor aufIntent.ACTION_OPEN_DOCUMENT
zurückgegriffen wird, das weiterhin alle Geräte mit API 19 und höher unterstützt. ComponentDialog
implementiert jetztSavedStateRegistryOwner
, hat Zugriff auf seine eigeneSavedStateRegistry
und legtSavedStateRegistryOwner
für seineViewTree
fest. Jetpack Compose kann jetzt innerhalb einerComponentDialog
verwendet werden, da es sowohl dieLifecycleOwner
als auch dieSavedStateRegistryOwner
erfüllt, die über dieViewTree
API-Anforderungen an das Fenster angehängt sind.- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags ausIntent
festlegen, anstatt nur ein einziges Flag zu verwenden.
Kotlin-Konvertierung
Eine Reihe von Activity-Klassen wurden in Kotlin konvertiert. Alle konvertierten Klassen behalten ihre Binärkompatibilität mit früheren Versionen. Für Klassen, die in Kotlin geschrieben wurden, wurden Änderungen an den folgenden mit der Quelle nicht kompatiblen Änderungen vorgenommen: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
In der folgenden Tabelle sind die Quell-Conversions für die neue Version der Aktivität aufgeführt:
Aktivität 1.5 | Aktivität 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
Diese Klassen wurden ebenfalls in Kotlin konvertiert, bleiben aber quellkompatibel: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
und OnBackPressedDispatcher
FullyDrawnReporter-APIs
ComponentActivity
bietet jetzt eine FullyDrawnReporter
-Instanz, mit der mehrere Komponenten Berichte erstellen können, wenn sie bereit für eine Interaktion sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, und ruft dann reportFullyDrawn()
in Ihrem Namen auf. Diese APIs übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Es wird empfohlen, diese APIs zu aktivieren:
- Signalisieren der Android Runtime, wenn der Start abgeschlossen ist, um sicherzustellen, dass der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, enthalten und für die Hintergrundkompilierung priorisiert wird.
- Anhand von Makro-Benchmark- und Play Vitals-Signalen erkennen Sie, wann Ihre App hinsichtlich Startmesswerten vollständig analysiert werden sollte, damit Sie die Leistung verfolgen können.
Es wurden drei Activity Compose APIs hinzugefügt, um die Verwendung von FullyDrawnReporter
aus einzelnen zusammensetzbaren Funktionen zu vereinfachen:
ReportDrawn
gibt an, dass die zusammensetzbare Funktion sofort einsatzbereit ist.ReportDrawnWhen
verwendet ein Prädikat (d.h.list.count > 0
), um anzugeben, wann die zusammensetzbare Funktion zur Interaktion bereit ist.ReportDrawnAfter
verwendet eine Sperrmethode, die nach Abschluss anzeigt, dass Sie bereit für eine Interaktion sind.
Aktualisierungen von Abhängigkeiten
- 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
wurden veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.
Abhängigkeitsupdate
- Aktivität ist jetzt abhängig von
Lifecycle 2.6.0
.
Version 1.7.0-beta02
22. Februar 2023
androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
und androidx.activity:activity-ktx:1.7.0-beta02
wurden veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.
API-Änderungen
- Die Aktion und das Extra, die von den
PickVisualMedia
- undPickMultipleVisualMedia
-Verträgen als Fallback für den Fall verwendet werden, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps, die eine einheitliche Bildauswahl bieten möchten, API-Stabilität bereitstellen. Die Implementierung dieses Fallbacks ist weiterhin auf System-Apps beschränkt. (Icd320)
Version 1.7.0-beta01
8. Februar 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
und androidx.activity:activity-ktx:1.7.0-beta01
wurden veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.
Neue Funktionen
- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags ausIntent
festlegen, anstatt nur ein einziges Flag zu verwenden. (Iac04c)
Fehlerkorrekturen
- Das Fallback für
PickVisualMedia
, falls das Framework für die Fotoauswahl nicht verfügbar ist, beschränkt die Verarbeitung jetzt korrekt auf Apps, die im Systemimage des Geräts installiert sind. (If8ae6)
Kotlin-Conversions
ActivityResultRegistryOwner
wird jetzt in Kotlin geschrieben. Dies ist eine mit der Quelle nicht kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt das AttributactivityResultRegistry
überschreiben, anstatt die vorherige FunktiongetActivityResultRegistry()
zu implementieren. (I0b00e)OnBackPressedDispatcherOwner
wird jetzt in Kotlin geschrieben. Dies ist eine mit der Quelle nicht kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt das AttributonBackPressedDispatcher
überschreiben, anstatt die vorherige FunktiongetOnBackPressedDispatcher
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
- Sofern verfügbar, wird für die Verträge zu Aktivitätsergebnissen für
PickVisualMedia
undPickMultipleVisualMedia
jetzt eine von Google Play-Diensten bereitgestellte Bildauswahl verwendet, wenn die Bildauswahl des Android-Systems zur Verfügung steht (z.B.MediaStore.ACTION_PICK_IMAGES
) ist nicht verfügbar. DieisPhotoPickerAvailable()
API, die nur die Bildauswahl von Android-Systemen erkennt, wurde eingestellt. Wir empfehlen die Verwendung der neuenisPhotoPickerAvailable(Context)
API, die wieder aktiviert wird, wenn eine der Bildauswahlen verfügbar ist. (I55be6)
Version 1.7.0-alpha03
11. Januar 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
und androidx.activity:activity-ktx:1.7.0-alpha03
wurden veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.
Neue Funktionen
ComponentDialog
implementiert jetztSavedStateRegistryOwner
, hat Zugriff auf seine eigeneSavedStateRegistry
und legt dieSavedStateRegistryOwner
für seinen ViewTree fest. Jetpack Compose kann jetzt innerhalb einesComponentDialog
verwendet werden, da es sowohl dieLifecycleOwner
als auch dieSavedStateRegistryOwner
erfüllt, die über die ViewTree API-Anforderungen an das Fenster angehängt sind. (Idca17, I73468 b/261162296)
API-Änderungen
- Eine zusammensetzbare Funktion
ReportDrawn
wurde hinzugefügt, mit der die Aktivität sofort als zum Aufrufen vonreportFullyDrawn
bereit markiert wird. (Ic5b14, b/259687964)
Kotlin-Conversions
- Die Klassen
ActvitiyResultCallback
undOnBackPressedCallback
wurden unter Wahrung der Quell- und Binärkompatibilität in Kotlin konvertiert. (Ifc5e5, Ide1b0, b/257291701)
Version 1.7.0-alpha02
24. Oktober 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
und androidx.activity:activity-ktx:1.7.0-alpha02
wurden veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Aus Aktivität
1.6.1
: Ein Problem wurde behoben, bei dem der Vertrag fü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
bietet jetzt eine FullyDrawnReporter
-Instanz, mit der mehrere Komponenten Berichte erstellen können, wenn sie bereit für eine Interaktion sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, und ruft dann reportFullyDrawn()
in Ihrem Namen auf. Diese APIs übernehmen die Zeitanforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Es wird empfohlen, diese APIs zu aktivieren:
- Signalisieren der Android Runtime, wenn der Start abgeschlossen ist, um sicherzustellen, dass der gesamte Code, der während einer Startsequenz mit mehreren Frames ausgeführt wird, enthalten und für die Hintergrundkompilierung priorisiert wird.
- Anhand von Makro-Benchmark- und Play Vitals-Signalen erkennen Sie, wann Ihre App hinsichtlich Startmesswerten vollständig analysiert werden sollte, damit Sie die Leistung verfolgen können.
Es wurden zwei Activity Compose APIs hinzugefügt, um die Verwendung des FullyDrawnReporter
aus einzelnen zusammensetzbaren Funktionen zu vereinfachen:
ReportDrawnWhen
verwendet ein Prädikat (d.h.list.count > 0
), um anzugeben, wann die zusammensetzbare Funktion zur Interaktion bereit ist.ReportDrawnAfter
verwendet eine Sperrmethode, die nach Abschluss anzeigt, dass Sie bereit für eine Interaktion sind.
Version 1.6.1
Version 1.6.1
24. Oktober 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
und androidx.activity:activity-ktx:1.6.1
wurden veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Vertrag für
PickMultipleVisualMedia
-Aktivitätsergebnisse auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert fü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
wurden veröffentlicht. Version 1.6.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.5.0
ActivityResultContracts.PickVisualMedia
undActivityResultContracts.PickMultipleVisualMedia
wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, derMediaStore.ACTION_PICK_IMAGES
verwendet, wenn die Bildauswahl verfügbar ist, undIntent.ACTION_OPEN_DOCUMENT
, wenn sie nicht verfügbar ist.OnBackInvokedCallback
wurde in Android 13 in die vonComponentActivity
undComponentDialog
bereitgestelltenOnBackPressedDispatchers
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine vorhergesehene Zurück-Geste aktiviert wird.
Version 1.6.0-rc02
7. September 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
und androidx.activity:activity-ktx:1.6.0-rc02
wurden veröffentlicht. Version 1.6.0-rc02 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
registriert dieOnBackInvokedCallback
jetzt mit derPRIORITY_DEFAULT
anstelle vonPRIORITY_OVERLAY
. (I3901f)- Bei Klassen, die
ComponentActivity
erweitern, werden jetzt immer beideonMultiWindowModeChanged()
-Callbacks gesendet. (Ic4d85) ActivityResultRegistry
gibt kein Ergebnis mehr anActivityResultCallback
zurück, wenn derlaunch
-AufrufException
auslöst und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794)ComponentActivity
sendet Menüaufrufe jetzt korrekt, ohne dass die Superfunktion in Ihrer Aktivität aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsaktualisierung
- Die
Activity
-Bibliothek hängt jetzt vom Lebenszyklus2.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
- Die Initialisierung eines
OnBackPressedDispatcher
führt nicht mehr zuClassVerificationError
-Werten, wenn SDK-Versionen vor 33 verwendet werden. (Ic32e1) - Bei Klassen, die den
onPictureInPictureModeChanged()
-Callback vonComponentActivity
überschreiben, werden jetzt immer ihre Callbacks gesendet. Ib7fdb:
Version 1.6.0-beta01
10. August 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
und androidx.activity:activity-ktx:1.6.0-beta01
wurden veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
- Die veralteten Methoden
startActivityForResult
undstartIntentSenderForResult
wurden fürComponentActivity
mit@NonNull
gekennzeichnet, da die Übergabe vonnull
immer zu einem Absturz geführt hat. (Id2a25, b/231476082)
Fehlerkorrekturen
- Aus Aktivität
1.5.1
:ActivityResultRegistry
gibt kein Ergebnis mehr anActivityResultCallback
zurück, wenn derlaunch
-AufrufException
auslöst und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794) - Von Aktivität
1.5.1
:ComponentActivity
leitet jetzt Menüaufrufe korrekt an die ÜberschreibungenonPrepareOptionMenu()
,onCreateOptionsMenu()
undonOptionsItemSelected()
weiter, ohne dass die Super-Funktion aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsaktualisierung
- Aus 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 Zweig für Vorabveröffentlichungen entwickelt und verfügt über keine öffentlichen Commits.
API-Änderungen
minCompileSdk
ist jetzt 33, was dem Tiramisu Beta 3 SDK entspricht
Fehlerkorrekturen
- Ein Absturz auf älteren Geräten wurde behoben, der bei der Prüfung der SDK-Erweiterung für die
PickVisualMedia
-ActivityResultContract
durchgeführt wurde, sodass sie jetzt auf Geräten mit Android 10 und niedriger auch mitACTION_OPEN_DOCUMENT
funktionieren sollte.
Version 1.6.0-alpha04
18. Mai 2022
androidx.activity:activity:1.6.0-alpha04
und androidx.activity:activity-ktx:1.6.0-alpha04
werden veröffentlicht.
Fehlerkorrekturen
- Ein Fehler in
PickVisualMediaRequest
wurde behoben, bei dem der Versuch, eine Anfrage entweder über den Builder oder die Kotlin-Funktion der obersten Ebene zu erstellen, zu einem Stacküberlauf führte. OnBackInvokedCallback
wurde in Android 13 Dev Beta 2 in die vonComponentDialog
bereitgestellteOnBackPressedDispatcher
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine vorausschauende „Zurück“-Geste aktiviert wird.
Version 1.6.0-alpha03
27. April 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
und androidx.activity:activity-ktx:1.6.0-alpha03
wurden veröffentlicht.
- Hinweis: Diese Version kann nur mit dem Android 13 Developer Beta 1 SDK kompiliert werden.
Neue Funktionen
ActivityResultContracts.PickVisualMedia
undActivityResultContracts.PickMultipleVisualMedia
wurden hinzugefügt, um einen abwärtskompatiblen Vertrag bereitzustellen, derMediaStore.ACTION_PICK_IMAGES
verwendet, wenn die Bildauswahl verfügbar ist, undIntent.ACTION_OPEN_DOCUMENT
, wenn sie nicht verfügbar ist.OnBackInvokedCallback
in Android 13 Dev Beta 1 wurde inOnBackPressedDispatcher
vonComponentActivity
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine vorausschauende „Zurück“-Geste aktiviert wird.
Version 1.6.0-alpha01
23. März 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
und androidx.activity:activity-ktx:1.6.0-alpha01
wurden veröffentlicht.
- Hinweis: Diese Version kann nur mit dem Android 13 Developer Preview 2 SDK kompiliert werden.
Neue Funktionen
- Änderungen in Android 13 Dev Preview 2 wurden in
ComponentActivity
integriert.
Version 1.5.1
Version 1.5.1
27. Juli 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
und androidx.activity:activity-ktx:1.5.1
wurden veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
ActivityResultRegistry
gibt kein Ergebnis mehr anActivityResultCallback
zurück, wenn derlaunch()
-AufrufException
auslöst und der Callback ohneLifecycleOwner
registriert wurde. (Ia7ff7, b/238350794)ComponentActivity
leitet jetzt Menüaufrufe korrekt an die ÜberschreibungenonPrepareOptionMenu()
,onCreateOptionsMenu()
undonOptionsItemSelected()
weiter, ohne dass die Super-Funktion aufgerufen werden muss. (Ie33c5, b/238057118)
Abhängigkeitsupdate
- 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
wurden veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0
- ComponentDialog –
ComponentDialog
ist eine Unterklasse vonDialog
. Sie enthält einOnBackPressedDispatcher
-Element, das aufgerufen wird, wenn die Systemschaltfläche „Zurück“ gedrückt wird und das Dialogfeld angezeigt wird. Wichtig ist, dass diese Unterklasse auch denViewTreeOnBackPressedDispatcherOwner
festlegt, wodurch Ansichten eine allgemeine Möglichkeit bieten, den richtigen Disponenten abzurufen, unabhängig davon, ob er in einemComponentActivity
oder einemComponentDialog
vorhanden ist. - Callback-Schnittstellen –
ComponentActivity
implementiert jetzt eine Reihe von modularen Callback-Schnittstellen, die anstelle derActivity
-Callbacks verwendet werden können. Zu diesen Schnittstellen gehören:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- CreationExtras-Integration:
ComponentActivity
bietet jetzt die Möglichkeit, eine zustandsloseViewModelProvider.Factory
über dieCreationExtras
des Lebenszyklus2.5.0
bereitzustellen.
Sonstige Änderungen
- Der Konstruktor ohne Parameter für
ActivityResultContracts.CreateDocument
wurde eingestellt und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ verwendet (z.B. „image/png“), wie es vonIntent.ACTION_CREATE_DOCUMENT
gefordert wird.
Version 1.5.0-rc01
11. Mai 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
und androidx.activity:activity-ktx:1.5.0-rc01
wurden im Vergleich zu 1.5.0-beta01 ohne Änderungen veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Version 1.5.0-beta01
20. April 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
und androidx.activity:activity-ktx:1.5.0-beta01
wurden veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
Aktualisierungen von Abhängigkeiten
- 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
wurden veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Die
onPanelClosed()
vonComponentActivity
ruft jetzt auch die Super-onPanelClosed()
auf, wodurch ein Problem behoben wird, bei dem dieonContextMenuClosed
-Methode nicht aufgerufen wurde. (Ib6f77)
Version 1.5.0-alpha04
23. März 2022
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
und androidx.activity:activity-ktx:1.5.0-alpha04
wurden veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
SavedStateViewFactory
unterstützt jetzt die Verwendung vonCreationExtras
, auch wenn es mit einemSavedStateRegistryOwner
initialisiert wurde. Wenn Extras angegeben werden, werden die initialisierten Argumente ignoriert. (I6c43b, b/224844583)
Version 1.5.0-alpha03
23. Februar 2022
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
und androidx.activity:activity-ktx:1.5.0-alpha03
wurden veröffentlicht. 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
wurden veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetzt dieOnPictureInPictureModeChangedProvider
-Schnittstelle, damit jede Komponente Änderungsereignisse für den Bild-im-Bild-Modus empfangen kann. (I9f567)ComponentActivity
implementiert jetzt dieOnMultiWindowModeChangedProvider
-Schnittstelle, damit jede Komponente Änderungsereignisse im Mehrfenstermodus empfangen kann. (I62d91)
Version 1.5.0-alpha01
26. Januar 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
und androidx.activity:activity-ktx:1.5.0-alpha01
wurden veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
ComponentActivity
ist jetzt in ViewModel CreationExtras eingebunden, die im Rahmen des Lebenszyklus2.5.0-alpha01
eingeführt wurden. (Ie7e00, b/207012584)ComponentDialog
, eine abgeleitete Klasse vonDialog
, wurde hinzugefügt. Sie enthält einOnBackPressedDispatcher
, das aufgerufen wird, wenn die Systemschaltfläche „Zurück“ gedrückt wird und das Dialogfeld angezeigt wird. Wichtig ist, dass bei dieser Unterklasse auch derViewTreeOnBackPressedDispatcherOwner
festgelegt wird, sodass Ansichten eine allgemeine Möglichkeit bieten, den richtigen Disponenten abzurufen, 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)ComponentActivity
implementiert jetzt die neueOnTrimMemoryProvider
-Schnittstelle, damit alle Komponenten diese Ereignisse empfangen können. (Ia9295)
API-Änderungen
- Der Parameter-Konstruktor für
ActivityResultContracts.CreateDocument
wurde verworfen und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ verwendet (z.B."image/png"
), wie fürIntent.ACTION_CREATE_DOCUMENT
erforderlich. (I2bec6) - Die mit einer Ansicht verknüpfte
OnBackPressedDispatcherOwner
kann jetzt überViewTreeOnBackPressedDispatcherOwner
abgerufen werden, anstatt dasContext
umzuwandeln. (I74685)
Fehlerkorrekturen
- Es wurde ein Absturz behoben, der beim ersten Zugriff auf
ViewModel
über einenregisterForActivityResult()
-Callback oder die Callbacks einerLifecycleObserver
, die als Teil voninit
einesComponentActivity
hinzugefügt wurde, erfolgte. (Ife83f)
Version 1.4.0
Version 1.4.0
27. Oktober 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
und androidx.activity:activity-ktx:1.4.0
wurden veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- Unter AndroidX
ComponentActivity
ist jetzt dieMenuHost
-Schnittstelle implementiert. Damit kann jede Komponente Menüelemente zumActionBar
hinzufügen, indem sie der Aktivität eineMenuProvider
-Instanz hinzufügt. JedeMenuProvider
kann optional mit einemLifecycle
hinzugefügt werden, das automatisch die Sichtbarkeit dieser Menüelemente basierend auf demLifecycle
-Status steuert und das Entfernen derMenuProvider
übernimmt, wenn dasLifecycle
gelöscht wird. - Die Klasse
ActivityResultContract
wurde in Kotlin umgeschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die korrekten Null-Zulässigkeit für ihre Eingabe- und Ausgabeklassen definieren können. - Die
ActivityResultContracts
-Klasse und ihre Verträge wurden in Kotlin neu geschrieben, um korrekte Null-Zulässigkeit sicherzustellen.
Version 1.4.0-rc01
13. Oktober 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
und androidx.activity:activity-ktx:1.4.0-rc01
wurden veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
Fehlerkorrekturen
ActivityResultRegistry
gibt kein Ergebnis mehr anActivityResultCallback
zurück, wenn derlaunch
-AufrufException
auslöst. (If4f91, b/200845664)
Version 1.4.0-beta01
29. September 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
und androidx.activity:activity-ktx:1.4.0-beta01
wurden veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
API-Änderungen
- Der Typ für
ActivityResultContracts.OpenMultipleDocuments
undActivityResultContracts.GetMultipleContents
wurde korrigiert, der dann bei der Verwendung des Codes aus der Programmiersprache Java den AusgabetypList<? extends Uri>
verwendete. (If71de) - Öffentliche Konstanten in den Klassen
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
undActivityResultContracts.RequestMultiplePermissions
sind jetzt zugänglich, wenn Kotlin über ihre jetzt öffentlichenCompanion
-Objekte verwendet wird. (aosp/1832555)
Aktualisierungen der Dokumentation
- Die Mitteilung zur Einstellung von APIs, die jetzt von den Activity Result APIs verarbeitet wird (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
undonRequestPermissionsResult
), wurde um weitere Details erweitert. (cce80f)
Version 1.4.0-alpha02
15. September 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
und androidx.activity:activity-ktx:1.4.0-alpha02
wurden veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
- Das
activity-compose
-Artefakt enthält jetzt einen Lint-FehlerLaunchDuringComposition
, der verhindert, dass dielaunch
-Methode vonActivityResultLauncher
im Rahmen der Zusammensetzung aufgerufen wird, da die Komposition keine Nebeneffekte haben sollte. Verwende die APIs für die Verarbeitung von Nebeneffekten. (7c2bbe, b/191347220)
API-Änderungen
- Die Klasse
ActivityResultContract
wurde in Kotlin umgeschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die korrekte Null-Zulässigkeit für ihre Eingabe- und Ausgabeklassen definieren können. (I8a8f5) - Die
ActivityResultContracts
-Klasse und ihre Verträge wurden in Kotlin neu geschrieben, um die korrekte Null-Zulässigkeit sicherzustellen. (I69802)
Version 1.4.0-alpha01
1. September 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
und androidx.activity:activity-ktx:1.4.0-alpha01
wurden veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unter Android X
ComponentActivity
ist jetzt dieMenuHost
-Schnittstelle implementiert. Damit kann jede Komponente Menüelemente zumActionBar
hinzufügen, indem sie der Aktivität eineMenuProvider
-Instanz hinzufügt. JedeMenuProvider
kann optional mit einemLifecycle
hinzugefügt werden, das automatisch die Sichtbarkeit dieser Menüelemente basierend auf demLifecycle
-Status steuert und das Entfernen derMenuProvider
übernimmt, wenn dasLifecycle
gelöscht wird. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Änderungen des Verhaltens
ActivityResultRegistry
gibt jetzt einIllegalStateException
aus, wenn versucht wird,launch()
für eineActivityResultLauncher
aufzurufen, die nicht registriert ist oder nicht registriert ist. (Ida75d, b/192567522)
Externer Beitrag
- Vielen Dank an dmitrilc, dass Sie einen Tippfehler in der
ActivityResult
-Dokumentation behoben haben. (Nr. 221)
Version 1.3.1
Version 1.3.1
4. August 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
und androidx.activity:activity-ktx:1.3.1
wurden veröffentlicht. Version 1.3.1 enthält diese Commits.
Aktualisierungen von Abhängigkeiten
- Aktivität hängt jetzt von Kotlin-
1.5.21
ab. - Für die Funktion „Schreibassistent“ ist jetzt die Funktion „Schreibassistent“
1.0.1
erforderlich.
Version 1.3.0
Version 1.3.0
28. Juli 2021
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
und androidx.activity:activity-ktx:1.3.0
wurden veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Activity Compose-Artefakt: Das
activity-compose
-Artefakt bietet die ErweiterungsmethodesetContent
zum Hosten der Jetpack Compose-Benutzeroberfläche in einer Aktivität sowie Compose-spezifische Wrapper für die Interaktion mit denComponentActivity
-APIs für die Verwaltung der System-Zurück-Schaltfläche und der Activity Result APIs. Weitere Informationen finden Sie in der Dokumentation. - CaptureVideo-Vertrag: Der
CaptureVideo
-ActivityResultContract
ersetzt den mittlerweile eingestelltenTakeVideo
-Vertrag und gibt einen booleschen Wert für den Erfolg zurück, der bei vielen Kamera-Apps funktioniert. - Tracking-Anzeige mit Hinweisen für Bild im Bild – Nutzer von
activity-ktx
können jetzt die ErweiterungsmethodetrackPipAnimationHintView
fürActivity
verwenden, um denPictureInPictureParams
automatisch mit der neuen Position der Ansicht neu zu erstellen, wenn diese sich relativ zum Fenster ändert.
Version 1.3.0-rc02
14. Juli 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
und androidx.activity:activity-ktx:1.3.0-rc02
wurden veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
-Callbacks werden jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks im savedState nicht dupliziert werden. (I97816, b/191893160)
Version 1.3.0-rc01
1. Juli 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
und androidx.activity:activity-ktx:1.3.0-rc01
werden ohne Änderungen gegenüber 1.3.0-beta02
veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta02
16. Juni 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
und androidx.activity:activity-ktx:1.3.0-beta02
wurden veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
activity-compose
wurde aktualisiert und hängt von der 1.0.0-beta09
für das Schreiben ab. androidx.compose.ui:ui-test-junit4
ist jetzt abhängig von der Kompilierungszeit von activity-compose
.
Version 1.3.0-beta01
2. Juni 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
und androidx.activity:activity-ktx:1.3.0-beta01
wurden veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
API-Änderungen
- Die zuvor verworfene Methode
@Composable registerForActivityResult()
wurde entfernt. Bitte verwenderememberLauncherForActivityResult()
. (Ic39d3)
Version 1.3.0-alpha08
18. Mai 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
und androidx.activity:activity-ktx:1.3.0-alpha08
wurden veröffentlicht. Version 1.3.0-alpha08 enthält diese Commits.
Neue Funktionen
- Der neue
CaptureVideo
ActivityResultContract
gibt einen booleschen Wert anActivityResultCallback
zurück, der angibt, ob das Video erfolgreich unter dem angegebenen URI gespeichert wurde. Dies ersetzt den inzwischen eingestelltenTakeVideo
-Vertrag, da Kamera-Apps die Rückgabe von Thumbnail-Bitmap nur sehr selten unterstützen, was das Ergebnis nicht weiterhilft. (Ie21f2, b/185938070) - Es wurde eine neue API
Activity#setPipAnimationHintView
hinzugefügt, um den Quellrechteckhinweis des PipParams immer dann zu aktualisieren, wenn die Ansicht verschoben wird. (I9063d)
API-Änderungen
- Die Funktion
rememberLauncherForActivityResult
gibt jetzt einen Launcher zurück, der dieunregister()
-Funktion einstellt. Die Registrierung und das Aufheben der Registrierung des Launchers erfolgen automatisch vonrememberLauncherForActivityResult
. (I2443e)
Kompatibilität der Funktion „Compose“
androidx.activity:activity-compose:1.3.0-alpha08
ist nur mit dem Tool „Compose“ ab Version1.0.0-beta07
kompatibel.
Version 1.3.0-alpha07
21. April 2021
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
und androidx.activity:activity-ktx:1.3.0-alpha07
wurden veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
rememberLauncherForActivityResult
gibt jetzt einen stabilen Verweis auf dieselbeActivityResultLauncher
-Instanz zurück, auch wenn sich der Vertrag aufgrund von Neuzusammensetzungen ändert. (Id2d6d)- Wenn Sie instabile Versionen von Fragmenten über
1.3.0
verwenden, wird kein falsch positiver Lint-Fehler mehr ausgegeben, der Sie dazu auffordert,1.3.0
zu verwenden. (aosp/1670206, b/184847092)
Version 1.3.0-alpha06
7. April 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
und androidx.activity:activity-ktx:1.3.0-alpha06
wurden veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.
API-Änderungen
- Die
registerForActivityResult()
API wurde inrememberLauncherForActivityResult()
umbenannt, um besser darauf hinzuweisen, dass es sich bei dem zurückgegebenenActivityResultLauncher
um ein verwaltetes Objekt handelt, das für Sie gespeichert wird. Beim Versuch,unregister
das zurückgegebeneActivityResultLauncher
aufzurufen, wird jetzt ein Fehler ausgegeben. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
undLocalActivityResultRegistryOwner.current
geben jetzt einen Nullwert zurück, um besser feststellen zu können, ob er in der aktuellen Zusammensetzung verfügbar ist. Für APIs, für die diese APIs erforderlich sind, z. B.BackHandler
bzw.rememberLauncherForActivityResult()
, wird jetzt ein aussagekräftigerer Fehler ausgegeben, wenn der zugrunde liegende Inhaber nicht gefunden wird.NavHost
funktioniert jetzt auch dann, wenn keinOnBackPressedDispatcherOwner
gefunden wird, wie bei der Vorschau vonNavHost
. (I7d8b4)
Fehlerkorrekturen
- Das
BackHandler
fängt jetzt Antworten korrekt ab, wenn die Aktivität den StatusSTOPPED
hat, dann wiederSTARTED
und andere Callbacks wurden mit einem LifecycleOwner hinzugefügt. (I71de6, b/182284739) - Die Verwendung der Methodenerweiterung
launch()
mit einer benutzerdefiniertenActivityResultContract
mit einerUnit
-Eingabe führt nicht mehr zu einemNullPointerException
(I76282, b/183837954).
Version 1.3.0-alpha05
24. März 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
und androidx.activity:activity-ktx:1.3.0-alpha05
wurden veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Ab Aktivität 1.2.2: Ein Problem in der
InvalidFragmentVersionForActivityResult
-Lint-Prüfung wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte. (I54da1, b/182388985) - Ab Aktivität 1.2.2:
ComponentActivity
vermeidet jetztClassNotFoundException
, wenn einIntent
von einemActivityResultContract
gestartet wird, der zuvor als Extra in einer anderenIntent
vorhanden war. (Ieff05, b/182906230)
Aktualisierungen von Abhängigkeiten
- Ab Aktivität 1.2.2: 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
wurden veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Aus Aktivität
1.2.1
:RequestMultiplePermissions
gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen und nicht nur für Berechtigungen zurück, die zuvor nicht gewährt wurden. (I50bc3, b/180884668) - In der Aktivität
1.2.1
:ActivityResultRegistry
stellt nun sicher, dass laufendelaunch()
-Anfragen auch dann Ergebnisse zurückgeben, wenn Sieunregister()
und dann noch einmalregister()
mit demselben Schlüssel. (I9ef34, b/181267562) - Beim Erstellen der Aktivität werden dem Laufzeitklassenpfad keine Testabhängigkeiten mehr hinzugefügt. (Ifd8b3)
- Ein Problem mit
BackHandler
wurde behoben, bei dem das zuvor festgelegte LambdaonBack
nach Neuzusammensetzung noch verwendet wurde. (8eb5eb)
Version 1.3.0-alpha03
24. Februar 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
und androidx.activity:activity-ktx:1.3.0-alpha03
wurden veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
Neue Funktionen
- Es gibt jetzt eine zusammensetzbare
registerForActivityResult
-Funktion, mit der Ergebnisse aus Aktivitäten in zusammensetzbaren Funktionen abgerufen werden können. (Ia7851, b/172690553)
API-Änderungen
LocalOnBackPressedDispatcherOwner
hat jetzt eineprovides
-Funktion, die mitCompositionLocalProvider
verwendet werden kann und dieasProvidableCompositionLocal()
API ersetzt. (I45d24)
Version 1.3.0-alpha02
10. Februar 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
und androidx.activity:activity-ktx:1.3.0-alpha02
wurden veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem beim Erstellen der Aktivität
1.3.0-alpha01
behoben, das bei der Verwendung von „Schreiben“1.0.0-alpha12
eineNoSuchMethodError: No static method setContent
-Ausnahme verursachte. Alle Nutzer, die die Funktion „Compose“ verwenden, sollten sich auf1.3.0-alpha02
und höher verlassen. (b/179911234)
API-Änderungen
- Mit der
BackHandler
API kann eine zusammensetzbare Funktion die Systemschaltfläche „Zurück“ abfangen. (I58ed5, b/172154006)
Version 1.3.0-alpha01
10. Februar 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
und androidx.activity:activity-ktx:1.3.0-alpha01
wurden veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
- Das neue
activity-compose
-Artefakt bietet Jetpack Compose-spezifische Hilfsprogramme fürandroidx.activity
-spezifische APIs.ComponentActivity.setContent
wurde vonandroidx.compose.ui.platform.setContent
inandroidx.activity.compose.setContent
verschoben. ICF416
Bekannte Probleme
- Wenn Sie die Funktion „Aktivitätserstellung“
1.3.0-alpha01
und davon abhängige Bibliotheken verwenden, z. B.androidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, wird die AusnahmeNoSuchMethodError: No static method setContent
ausgelöst. (b/179911234)
Version 1.2.4
Version 1.2.4
21. Juli 2021
androidx.activity:activity:1.2.4
und androidx.activity:activity-ktx:1.2.4
werden veröffentlicht. Version 1.2.4 enthält diese Commits.
Fehlerkorrekturen
- Aus Activity
1.3.0-rc02
: Die ActivityResultRegistry-Callbacks werden jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks in „SavedState“ nicht dupliziert werden. (I97816, b/191893160)
Version 1.2.3
Version 1.2.3
5. Mai 2021
androidx.activity:activity:1.2.3
und androidx.activity:activity-ktx:1.2.3
werden veröffentlicht. Version 1.2.3 enthält diese Commits.
Fehlerkorrekturen
- Die Verwendung der Methodenerweiterung
launch()
mit einer benutzerdefiniertenActivityResultContract
mit einerUnit
-Eingabe führt nicht mehr zu einemNullPointerException
(I76282, b/183837954). - Es wurde ein falsch positiver Lint-Fehler behoben, der Sie aufforderte, Fragment
1.3.0
zu verwenden, wenn ein Snapshot, Alpha-, Beta- oder RC-Build einer neueren Version von Fragmenten verwendet wird. (f4a57e, b/184847092)
Version 1.2.2
Version 1.2.2
24. März 2021
androidx.activity:activity:1.2.2
und androidx.activity:activity-ktx:1.2.2
werden veröffentlicht. Version 1.2.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem bei der
InvalidFragmentVersionForActivityResult
-Lint-Prüfung wurde behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte. (I54da1, b/182388985) ComponentActivity
vermeidet jetzt einClassNotFoundException
, wenn einIntent
von einemActivityResultContract
gestartet wird, das zuvor als Extra in einem anderenIntent
verfügbar war. (Ieff05, b/182906230)
Aktualisierungen von Abhängigkeiten
- 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 veröffentlicht. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
RequestMultiplePermissions
gibt jetzt immer Ergebnisse für alle angeforderten Berechtigungen und nicht nur für Berechtigungen zurück, die zuvor nicht gewährt wurden. (I50bc3, b/180884668)ActivityResultRegistry
stellt nun sicher, dass laufendelaunch()
-Anfragen auch dann die Ergebnisse zurückgeben, wenn Sieunregister()
und dann noch einmalregister()
mit demselben Schlüssel. (I9ef34, b/181267562)
Version 1.2.0
Version 1.2.0
10. Februar 2021
androidx.activity:activity:1.2.0
und androidx.activity:activity-ktx:1.2.0
werden veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Aktivitätsergebnis-APIs:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der du Abläufe mitstartActivityForResult()
+onActivityResult()
undrequestPermissions()
+onRequestPermissionsResult()
verarbeiten kannst, ohne die Methoden in deiner Aktivität oder deinem Fragment zu überschreiben, bietet erhöhte Typsicherheit überActivityResultContract
und bietet Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie unter Ergebnis aus einer Aktivität abrufen.
ContextAware
:ComponentActivity
implementiert jetztContextAware
, sodass Sie eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen können, die einen Callback vor der BasisActivity.onCreate()
erhalten.- Mit der sperrenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen nicht ausgesetzten Block ausführen, wenn der Kontext verfügbar ist, und ein Ergebnis zurückgeben. - Diese API wird von
FragmentActivity
in Fragment 1.3.0 verwendet, um den Status vonFragmentManager
wiederherzustellen. Alle Listener, die zu Unterklassen vonFragmentActivity
hinzugefügt wurden, werden nach diesem Listener ausgeführt. - Diese API wird von
AppCompatActivity
in AppCompat 1.3.0-alpha02 oder höher verwendet. Alle Listener, die zu Unterklassen vonAppCompatActivity
hinzugefügt wurden, werden nach diesem Listener ausgeführt.
- Mit der sperrenden Kotlin-Erweiterung
ViewTree
-Unterstützung:ComponentActivity
unterstützt jetzt die APIsViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
undViewTreeSavedStateRegistryOwner
, die in Lebenszyklus2.3.0
und SavedState1.1.0
hinzugefügt wurden. Dadurch wird die Aktivität alsLifecycleOwner
,ViewModelStoreOwner
undSavedStateRegistryOwner
für alle Ansichten zurückgegeben, die direkt zuComponentActivity
hinzugefügt wurden.
- reportFullyDrawn()-Backport: Die
Activity
-Methode vonreportFullyDrawn()
wurde inComponentActivity
rückportiert, um auf allen API-Ebenen zu funktionieren. Dabei wurde ein Absturz in API 19 behoben und für diese Methode das Tracing für alle API-Ebenen hinzugefügt.
Version 1.2.0-rc01
16. Dezember 2020
androidx.activity:activity:1.2.0-rc01
und androidx.activity:activity-ktx:1.2.0-rc01
werden veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Das
ActivityResultRegistry
stellt nun immer genau den gespeicherten Status wieder her. (Idd56b) - Tracing zu
ComponentActivity.reportFullyDrawn
hinzufügen (Ic7632)
Externer Beitrag
ComponentActivity
überschreibt jetztreportFullyDrawn()
. Dadurch kann sie auf allen API-Ebenen aufgerufen und ein Absturz behoben werden, wenn diese Methode ohne die entsprechende Systemberechtigung auf API 19-Geräten aufgerufen wird. Danke, Simon Schiller! (b/163239764, #103)
Version 1.2.0-beta02
2. Dezember 2020
androidx.activity:activity:1.2.0-beta02
und androidx.activity:activity-ktx:1.2.0-beta02
werden veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Activity Result API bei der Registrierung mit einer
Lifecycle
nicht darauf wartete, dass der LebenszyklusSTARTED
war, bevor sie Ergebnisse lieferten. (I109ea)
Externer Beitrag
- Die Dokumentation für
launch()
wurde aktualisiert, um explizit darauf hinzuweisen, dass einActivityNotFoundException
ausgelöst werden kann. Vielen Dank, Michał Zieliński! (aosp/1493580)
Version 1.2.0-beta01
1. Oktober 2020
androidx.activity:activity:1.2.0-beta01
und androidx.activity:activity-ktx:1.2.0-beta01
werden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Fehlerkorrekturen
ActivityResultRegistry
generiert jetzt nach dem Zufallsprinzip Ganzzahlen, bis eine Zahl gefunden wird, die nicht zur Verwendung als Anfragecoderegister()
zugewiesen ist. Dadurch wird der mögliche Ganzzahlüberlauf verhindert, der durch eine Erhöhung von Anfragecodes verursacht wird. (b/168779518)Lifecycle
-Beobachter werden ordnungsgemäß entfernt, wennunregister()
für einActivityResultLauncher
aufgerufen wird. (b/165608393)
Änderungen des Verhaltens
- Der
ActivityResultRegistry
gibt jetzt einIllegalStateException
aus, wenn versucht wird,register()
mit einemLifecycleOwner
aufzurufen, dessenLifecycle
bereitsSTARTED
erreicht hat. (b/165435866)
Dokumentation aktualisiert
- Die
ContextAware
-Dokumentation enthält einen Link zuLifecycleOwner
, umLifecycle
-Callbacks als geeigneten Ort zum Erstellen und Löschen von Ereignissen hervorzuheben. (aosp/1414152)
Version 1.2.0-alpha08
19. August 2020
androidx.activity:activity:1.2.0-alpha08
und androidx.activity:activity-ktx:1.2.0-alpha08
werden veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
Neue Funktionen
ComponentActivity
implementiert jetztContextAware
, sodass Sie eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen können, die einen Callback vor der Basis-Activity.onCreate()
erhalten. (b/161390636)- Mit der sperrenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen nicht ausgesetzten Block ausführen, wenn der Kontext verfügbar ist, und ein Ergebnis zurückgeben. (I8290c) - Diese API wird von
FragmentActivity
in Fragment 1.3.0-alpha08 verwendet, um den Status vonFragmentManager
wiederherzustellen. Alle Listener, die zu Unterklassen vonFragmentActivity
hinzugefügt wurden, werden nach diesem Listener ausgeführt. (I513da) - Diese API wird von
AppCompatActivity
in AppCompat 1.3.0-alpha02 verwendet. Alle Listener, die zu Unterklassen vonAppCompatActivity
hinzugefügt wurden, werden nach diesem Listener ausgeführt. (I513da)
- Mit der sperrenden Kotlin-Erweiterung
Fehlerkorrekturen
- Ein Problem mit der
ActivityResultFragmentVersionDetector
-Lint-Prüfung wurde behoben, durch das sie bei Verwendung von Lint 27.1.0 oder höher nicht funktionierte. (b/162155191)
Version 1.2.0-alpha07
22. Juli 2020
androidx.activity:activity:1.2.0-alpha07
und androidx.activity:activity-ktx:1.2.0-alpha07
werden veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
Neue Funktionen
- Es wurde eine neue
InvalidFragmentVersionForActivityResult
-Lint-Prüfung hinzugefügt, die bestätigt, dass Sie Fragment1.3.0-alpha07
bei Verwendung der Activity Result API verwenden. Dadurch werden Laufzeitabstürze aufgrund von Problemen mit „ungültigem Anfragecode“ und nicht funktionierenden Berechtigungsanfragen vermieden, die durch die Verwendung älterer Versionen von Fragmenten verursacht werden. (b/152554847)
Externer Beitrag
- Ein
ArrayIndexOutOfBoundsException
beim Parsen der Ergebnisse für denRequestPermission
-Aktivitätsergebnisvertrag wurde korrigiert. (I8f9e3, b/161057605)
Version 1.2.0-alpha06
10. Juni 2020
androidx.activity:activity:1.2.0-alpha06
und androidx.activity:activity-ktx:1.2.0-alpha06
werden veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
Neue Funktionen
- Sie können jetzt die Klasse
ActivityResult
in Kotlin destrukturieren, um direkt aufrequestCode
undintent
zuzugreifen. (b/157212935) - Mit
ActivityResultLauncher
kannst du jetzt dasActivityResultContract
abrufen, das zum Registrieren des Launchers verwendet wurde. (b/156875743)
API-Änderungen
- Nicht funktionsgefährdende Änderung: Die Methode
invoke()
inActivityResultRegistry
wurde inonLaunch()
umbenannt. (b/157496491) - Der Vertrag
OpenMultipleDocuments
gibt jetzt eine leere Liste anstelle vonnull
an den registrierten Callback zurück, wenn kein Ergebnis zurückgegeben wird. (b/157348014)
Version 1.2.0-alpha05
20. Mai 2020
androidx.activity:activity:1.2.0-alpha05
und androidx.activity:activity-ktx:1.2.0-alpha05
werden veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
Neue Funktionen
- Zusätzliche Unterstützung für
ViewTreeViewModelStoreOwner
aus Lebenszyklus2.3.0-alpha03
undViewTreeSavedStateRegistryOwner
aus SavedState1.1.0-alpha01
, wenn einView
innerhalb vonComponentActivity
verwendet wird. (aosp/1297993, aosp/1300264)
API-Änderungen
- Der
TakePicture
-Vertrag gibt jetzt einboolean
anstelle einer MiniaturansichtBitmap
zurück, da dies sehr selten von Kamera-Apps beim Schreiben des Bildes in das bereitgestellteUri
unterstützt wurde. (b/154302879) - Die
invoke()
-Erweiterungen fürActivityResultLauncher
wurden zugunsten der expliziten Verwendung vonlaunch()
entfernt, um besser darauf hinzuweisen, 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, was dieses Verhalten der vorherigeninvoke()
-Erweiterungen widerspiegelt. (aosp/1304674, aosp/1304675) - Die
IntentSenderRequest.Builder
-Methoden fürsetFlagsMask()
undsetFlagsValues()
wurden zu einer einzigensetFlags()
-Methode zusammengefasst. (aosp/1302111)
Fehlerkorrekturen
- Beim Registrieren eines
ActivityResultCallback
mit einemLifecycleOwner
wurde ein Problem behoben, bei dem der Callback ausgelöst wurde, bevor der StatusSTARTED
erreichte. (aosp/1309744)
Änderungen des Verhaltens
- Das
ActivityResultRegistry
generiert jetzt Anfragecodes, die bei0xFFFF
beginnen und nicht bei0
. Dadurch werden Überschneidungen bei der Verwendung vonstartActivityForResult()
oderrequestPermissions()
in einer Aktivität vermieden. (aosp/1302324)
Version 1.2.0-alpha04
29. April 2020
androidx.activity:activity:1.2.0-alpha04
und androidx.activity:activity-ktx:1.2.0-alpha04
werden veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- Ein Vertrag wurde hinzugefügt, der startIntentSenderForResult an die ActivityResult APIs aufrufen kann. (b/153007517)
API-Änderungen
- Die Methode
prepareCall()
wurde sowohl inComponentActivity
hier als auch in Fragment1.3.0-alpha04
inregisterForActivityResult()
umbenannt. (aosp/1278717) - Die Verträge
GetContents
,OpenDocuments
undRequestPermissions
wurden inGetMultipleContents
,OpenMultipleDocuments
bzw.RequestMultiplePermissions
umbenannt. (aosp/1280161) ComponentActivity
implementiert jetzt dieActivityResultRegisteryOwner
-Schnittstelle. (aosp/1290888)- – Die APIs
startActivityForResult()
/onActivityResult()
undonRequestPermissionsResult()
aufComponentActivity
wurden eingestellt. Verwenden Sie die Activity Result APIs. (b/154751887)
Fehlerkorrekturen
- Wenn Sie die Verträge
GetMultipleContents
undOpenMultipleDocuments
verwenden und ein einzelnes Element auswählen, wird es jetzt korrekt an Ihren Callback zurückgegeben. (b/152941153)
Version 1.2.0-alpha03
1. April 2020
androidx.activity:activity:1.2.0-alpha03
und androidx.activity:activity-ktx:1.2.0-alpha03
werden veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Die Verträge
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
undCreateDocument
wurden den vordefinierten Verträgen vonActivityResultContracts
hinzugefügt. (aosp/1262482, aosp/1266916, aosp/1268960) - Die Activity Result APIs unterstützen jetzt das Starten einer Aktivität für Ergebnisse mit einem optionalen
ActivityOptionsCompat
. (b/151860054)
API-Änderungen
- Der
TakePicture
-Vertrag akzeptiert jetzt eineUri
-Eingabe für den Speicherort des Bildes. Der vorherige Vertrag, für den keine Eingabe erforderlich ist, wurde inTakePicturePreview
umbenannt. (aosp/1262482) - Die Methode
registerActivityResultCallback()
fürActivityResultRegistry
wurde inregister()
umbenannt. (aosp/1267621) - Die Methode
dispose()
inActivityResultLauncher
wurde inunregister()
umbenannt und die MethodeunregisterResultCallback()
aufActivityResultRegistry
wurde entfernt. (aosp/1267621) - Für die Methode
createIntent()
vonActivityResultContact
wird nun zusätzlich zur Eingabe einContext
benötigt, um explizite Intents zu erstellen. (aosp/1238800) - Ein
ActivityResultContract
kann jetztgetSynchronousResult()
überschreiben, um ein Ergebnis bereitzustellen, ohnestartActivityForResult
aufzurufen. Dieser wird von den VerträgenRequestPermission
undRequestPermissions
verwendet, um den Status „Gewährt“ korrekt zu liefern, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799) - Der zuvor verfügbare
Dial
-Vertrag wurde entfernt, daIntent
nicht mitstartActivityForResult()
verwendet werden soll. (aosp/1266916) - Viele der Aktivitätsergebnis-APIs, die nicht erweitert werden sollen, sind jetzt
final
. Dazu gehörengetActivityResultRegistry()
, dieprepareCall()
-Methoden, alle Methoden vonActivityResultRegistry
mit Ausnahme voninvoke()
sowie einige Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)
Fehlerkorrekturen
- Ein
NullPointerException
inActivityResultRegistry
wurde behoben, wenn versucht wird, Ergebnisse an einen Callback zu senden, der nach einer Konfigurationsänderung noch nicht neu registriert wurde.ActivityResultRegistry
behält diese ausstehenden Ergebnisse jetzt bei und sendet sie, wenn der Callback neu registriert wird. (b/152137004)
Version 1.2.0-alpha02
18. März 2020
androidx.activity:activity:1.2.0-alpha02
und androidx.activity:activity-ktx:1.2.0-alpha02
werden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- ActivityResultRegistry:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der Sie die AbläufestartActivityForResult()
+onActivityResult()
undrequestPermissions()
+onRequestPermissionsResult()
verarbeiten können, ohne die Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben, bietet erhöhte Typsicherheit überActivityResultContract
und bietet Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie unter Ergebnis aus einer Aktivität abrufen. (b/125158199)
Version 1.2.0-alpha01
4. März 2020
androidx.activity:activity:1.2.0-alpha01
und androidx.activity:activity-ktx:1.2.0-alpha01
werden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Die im Lebenszyklus
2.3.0-alpha01
hinzugefügteViewTreeLifecycleOwner.get(View)
API wird jetzt unterstützt. Sie gibt die Aktivität alsLifecycleOwner
für alle Ansichten zurück, die der Aktivität direkt hinzugefügt wurden. (aosp/1182955)
Fehlerkorrekturen
- Es wurde eine Regression behoben, die in Aktivität
1.1.0
bei Ausführung auf älteren Versionen der Plattform eingeführt wurde und bei deronBackPressed()
aufgrund eines Programmfehlers inandroid.app.FragmentManager
zu einemIllegalStateException
führte. (b/146290338)
Version 1.1.0
Version 1.1.0
22. Januar 2020
androidx.activity:activity:1.1.0
wird freigegeben. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Lebenszyklus-ViewModel SavedState-Integration:
SavedStateViewModelFactory
ist jetzt die standardmäßige Factory, die verwendet wird, wennby viewModels()
, derViewModelProvider
-Konstruktor oderViewModelProviders.of()
mitComponentActivity
oder dessen Unterklassen verwendet wird.
Version 1.1.0-rc03
4. Dezember 2019
androidx.activity:activity:1.1.0-rc03
und androidx.activity:activity-ktx:1.1.0-rc03
werden veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Abhängigkeitsänderungen
- Aktivität hängt jetzt von Lebenszyklus
2.2.0-rc03
und SavedState1.0.0-rc03
der Lebenszyklusansichtsmodell-Funktion ab.
Version 1.1.0-rc02
7. November 2019
androidx.activity:activity:1.1.0-rc02
und androidx.activity:activity-ktx:1.1.0-rc02
werden veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Abhängigkeitsänderungen
- Aktivität hängt jetzt vom Lebenszyklus
2.2.0-rc02
ab.
Version 1.1.0-rc01
23. Oktober 2019
androidx.activity:activity:1.1.0-rc01
und androidx.activity:activity-ktx:1.1.0-rc01
werden ohne Änderungen gegenüber 1.1.0-beta01
veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Version 1.1.0-beta01
9. Oktober 2019
androidx.activity:activity:1.1.0-beta01
und androidx.activity:activity-ktx:1.1.0-beta01
werden veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Abhängigkeitsänderungen
- Für die Aktivität ist jetzt die stabile Version von SavedState 1.0.0 erforderlich.
Version 1.1.0-alpha03
5. September 2019
androidx.activity:activity:1.1.0-alpha03
und androidx.activity:activity-ktx:1.1.0-alpha03
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Aktivität hängt jetzt von der stabilen Version von Core 1.1.0 ab.
Fehlerkorrekturen
- 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 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 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 veröffentlicht. 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 Ihren Abhängigkeiten hinzufügen, wenn Sieactivity-ktx
oder Bibliotheken verwenden, die vonactivity-ktx
abhängig sind (z. B.fragment-ktx
). (aosp/987162)
Version 1.0.0
Version 1.0.0
5. September 2019
androidx.activity:activity:1.0.0
und androidx.activity:activity-ktx:1.0.0
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Hauptfunktionen von Version 1.0.0
- ComponentActivity:
ComponentActivity
dient als neue Basisklasse fürFragmentActivity
in Fragment1.1.0
und folglich auch fürAppCompatActivity
in AppCompat1.1.0
. - activity-ktx: Das Modul
activity-ktx
enthält die Kotlin-Property-Erweiterungby viewModels
für den Zugriff auf ViewModels. Dieses Modul ist automatisch enthalten, wenn Siefragment-ktx
aus Fragment1.1.0
einfügen. - OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von
onBackPressed()
können Sie jetzt einOnBackPressedCallback
von einer beliebigenLifecycleOwner
(z. B. einem Fragment) registrieren, um Ereignisse für die Zurück-Schaltfläche des Systems abzufangen.activity-ktx
wurde ein Lambda mit der EmpfängerversionaddCallback
hinzugefügt. Weitere Informationen finden Sie unter Dokumentation zur benutzerdefinierten Zurücknavigation bereitstellen. - Einstellung von "onRetentionCustomNonConfigurationInstance": Die
onRetainCustomNonConfigurationInstance()
und die zugehörigengetLastCustomNonConfigurationInstance()
APIs wurden eingestellt. Es wird dringend empfohlen, ViewModels zum Speichern des Nicht-Konfigurationsstatus zu verwenden, da diese zusammensetzbare Lösung für alleViewModelStoreOwner
bieten, die die Inhaberschaft der beibehaltenen Objekte deutlich macht und einenonCleared()
-Callback zum Bereinigen von Ressourcen bietet, wenn die Aktivität endgültig gelöscht wird.
Version 1.0.0-rc01
2. Juli 2019
androidx.activity:activity:1.0.0-rc01
und androidx.activity:activity-ktx:1.0.0-rc01
werden ohne Änderungen gegenüber 1.0.0-beta01
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-beta01
5. Juni 2019
androidx.activity::activity:1.0.0-beta01
und androidx.activity:activity-ktx:1.0.0-beta01
werden ohne Änderungen gegenüber 1.0.0-alpha08
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-alpha08
7. Mai 2019
androidx.activity:activity:1.0.0-alpha08
und androidx.activity:activity-ktx:1.0.0-alpha08
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- Nicht funktionsgefährdende Änderung: Die zuvor verworfenen Methoden
addOnBackPressedCallback
undremoveOnBackPressedCallback
fürComponentActivity
wurden entfernt. aosp/953857 - Die Methoden
setEnabled()
undisEnabled()
vonOnBackPressedCallback
sind jetzt endgültig. b/131416833 - Die Methode
remove()
vonOnBackPressedCallback
ist jetzt endgültig. aosp/952720 OnBackPressedDispatcher
verfügt jetzt über öffentliche Konstruktoren, mit denen Sie eigene Instanzen für Tests usw. erstellen können. aosp/953431onBackPressed()
fürComponentActivity
ist jetzt explizit als@MainThread
markiert aosp/952721
Fehlerkorrekturen
- Ein
ConcurrentModificationException
wurde behoben, wennremove()
innerhalb derhandleOnBackPressed()
-Methode einerOnBackPressedCalback
aufgerufen wurde, die mit einerLifecycleOwner
hinzugefügt wurde. b/131765095
Version 1.0.0-alpha07
25. April 2019
androidx.activity:activity:1.0.0-alpha07
und androidx.activity:activity-ktx:1.0.0-alpha07
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
In dieser Version werden erhebliche Änderungen an der Verarbeitung von onBackPressed()
vorgenommen. Weitere Informationen finden Sie in der aktualisierten Dokumentation zur benutzerdefinierten Rückseite.
- Die Methoden für
OnBackPressedCallback
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 dem Sie die Zurück-Schaltfläche verarbeiten müssen. (aosp/944518) - Die
addCallback
-Methoden vonOnBackPressedDispatcher
geben keineCancellable
-Instanz mehr zurück.OnBackPressedCallback
enthält jetzt eineremove()
-Methode, die diese Funktion erfüllt, sodass Sieremove()
währendhandleOnBackPressed()
aufrufen können. (aosp/944519) (aosp/946316) activity-ktx
enthält jetzt einen Callback auf Empfängerebene füraddCallback
, der eine Lamba akzeptiert, diehandleOnBackPressed()
implementiert und Zugriff aufisEnabled
undremove()
hat (aosp/944520).
Version 1.0.0-alpha06
3. April 2019
androidx.activity:activity:1.0.0-alpha06
und androidx.activity:activity-ktx:1.0.0-alpha06
werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- Die ComponentActivity enthält jetzt einen zweiten Konstruktor, der einen
@LayoutRes int
verwendet. Dieser ersetzt das bisherige Verhalten bei der Annotation Ihrer AppCompatActivity-Klasse mit@ContentView
. Dieser Ansatz funktioniert sowohl in App- als auch in Bibliotheksmodulen. (b/128352521) - Die
OnBackPressedCallback
zugehörigen APIs für „ComponentActivity“ wurden zugunsten der neuenOnBackPressedDispatcher
eingestellt, die übergetOnBackPressedDispatcher()
abgerufen werden kann. (aosp/922523) - Methoden zum Hinzufügen einer neuen
OnBackPressedCallback
zumOnBackPressedDispatcher
geben jetzt einCancellable
-Objekt zurück, das das Entfernen des Callbacks ermöglicht, 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, da der Lebenszyklus gestartet bzw. gestoppt wird. (aosp/922523)
Version 1.0.0-alpha05
13. März 2019
androidx.activity:activity:1.0.0-alpha05
und androidx.activity:activity-ktx:1.0.0-alpha05
werden freigegeben. Die vollständige Liste der in diesem Release enthaltenen Commits finden Sie hier.
Neue Funktionen
@ContentView
-Anmerkungen werden jetzt im Cache gespeichert (b/123709449).
Version 1.0.0-alpha04
30. Januar 2019
androidx.activity:activity 1.0.0-alpha04
und androidx.activity:activity-ktx 1.0.0-alpha04
wurden veröffentlicht.
Neue Funktionen
- Zusätzliche Unterstützung für die Klassenannotation
@ContentView
, mit der angegeben werden kann, welche Layout-XML-Datei als Alternative zur Verwendung 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 als endgültig festgelegt wird. Bitte senden Sie eine Funktionsanfrage, wenn Sie diese Methode derzeit überschreiben. (aosp/837619)
Fehlerkorrekturen
- Das Modul
activity
hängt jetzt von Version 2.1.0-alpha02 von ViewModel ab, um die Abhängigkeit desactivity-ktx
-Moduls zu erfüllen.
Version 1.0.0-alpha03
17. Dezember 2018
androidx.activity 1.0.0-alpha03
wird freigegeben.
Neue Funktionen
- Die ComponentActivity implementiert jetzt
BundleSavedStateRegistryOwner
und hängt von der neu veröffentlichten SavedState-Bibliothek [aosp/815133] ab. - Mit ComponentActivity umgehen Sie jetzt einen Android-Framework-Fehler, der dazu führt, dass InputMethodManager die letzte fokussierte Ansicht ablegt [b/37122102].
Version 1.0.0-alpha02
3. Dezember 2018
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getLifecycle()
nicht überschrieben werden sollte und in einem zukünftigen Release alsfinal
festgelegt wird. Bitte senden Sie eine Funktionsanfrage, wenn Sie diese Methode derzeit überschreiben. (aosp/815834)
Version 1.0.0-alpha01
5. November 2018
Mit androidx.activity 1.0.0-alpha01
wird ComponentActivity
eingeführt, eine neue Basisklasse der vorhandenen FragmentActivity
und AppCompatActivity
.
Neue Funktionen
- Sie können jetzt ein
OnBackPressedCallback
überaddOnBackPressedCallback
registrieren, umonBackPressed()
-Callbacks zu erhalten, ohne die Methode in Ihrer Aktivität überschreiben zu müssen. - Es wurde ein neuer Kotlin-Attribut-Delegate
by viewModels()
zum Abrufen vonViewModel
s aus einemComponentActivity
hinzugefügt. - Ausstehende Eingabeereignisse (z. B. Klicks) werden jetzt in
onStop()
abgebrochen.
API-Änderungen
- Die Implementierung von
LifecycleOwner
undViewModelStoreOwner
wurde vonFragmentActivity
nachComponentActivity
verschoben. onRetainCustomNonConfigurationInstance
wurde eingestellt. Verwenden SieViewModel
zum Speichern von Objekten, die Konfigurationsänderungen bestehen müssen.