Aktivität
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpha-Release |
---|---|---|---|---|
4. September 2024 | 1.9.2 | - | - | 1.10.0-alpha02 |
Abhängigkeiten deklarieren
Um eine Abhängigkeit von Activity hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .
Fügen Sie der Datei build.gradle
die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen
Ihre App oder Ihr Modul:
Cool
dependencies { def activity_version = "1.9.2" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.2" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .
Version 1.10
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
wurden veröffentlicht. Version 1.10.0-alpha02 enthält diese Commits.
Änderungen im Verhalten
- Die Verträge für
PickVisualMedia
- undPickMultipleVisualMedia
-Aktivitätsergebnisse, durch die die Bildauswahl ausgelöst wird, werden nicht mehr direkt an die Google Play-Dienste delegiert, wenn die Bildauswahl des Systems nicht verfügbar ist. Stattdessen werden die öffentlicheACTION_SYSTEM_FALLBACK_PICK_IMAGES
-Aktion und die zugehörigen Extras verwendet, um OEMs und System-Apps eine einheitliche Bildauswahl-Erfahrung zu bieten. Dies sollte keine Auswirkungen auf die Nutzererfahrung auf Geräten mit einer aktuellen Version der Google Play-Dienste haben. (I3513d)
Fehlerkorrekturen
- Die manuelle Beschreibung 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 bei allen 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)
- Aus Aktivität
1.9.2
: Ein Problem wurde behoben, bei dem die Activity ComposePredictiveBackHandler
API weiterhin die Zurück-Touch-Geste des Systems für den Frame verarbeitete, in dem sie deaktiviert war. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose auch bei einem leeren Back Stack mit dem Zurück-Stapel umgehen und eineIndexOutOfBoundsException
ausgeben konnten. (Ie3301, b/340202286) - Aus Aktivität
1.9.1
: Ein Problem mitPredictiveBackHandler
wurde behoben, durch das nach der Systemwiederherstellung der Versuch,onBackPressed
überOnBackPressedDispatcher
auszuführen, fehlschlug. (I5f1f8)
Version 1.10.0-alpha01
26. Juni 2024
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
und androidx.activity:activity-ktx:1.10.0-alpha01
wurden veröffentlicht. Diese Version wird in einem internen Zweig entwickelt.
Neue Funktionen
- Die neuen
PhotoPicker
-Funktionen, die in Android V eingeführt wurden, werden jetzt unterstützt, z. B. die Möglichkeit, Bilder der Reihe nach auszuwählen und festzulegen, welcher Tab (entweder Alben oder Bilder) anfangs sichtbar sein soll.
Version 1.9
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
wurden veröffentlicht. Version 1.9.2 enthält diese Lthcocommits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Activity Compose-API
PredictiveBackHandler
weiterhin die Zurück-Geste des Systems in dem Frame verarbeitete, in dem sie deaktiviert war. Dies konnte dazu führen, dass Bibliotheken wie Navigation Compose auch bei einem leeren Back Stack mit dem Zurück-Stapel gearbeitet haben, was dazu führte, dassIndexOutOfBoundsException
ausgegeben wurde. (Ie3301, b/340202286)
Version 1.9.1
24. Juli 2024
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
und androidx.activity:activity-ktx:1.9.1
wurden veröffentlicht. Version 1.9.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem mit
PredictiveBackHandler
behoben, durch das nach der Systemwiederherstellung der Versuch,onBackPressed
überOnBackPressedDispatcher
auszuführen, fehlschlug. (I5f1f8)
Version 1.9.0
17. April 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
und androidx.activity:activity-ktx:1.9.0
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 zulassen können. - Die APIs
OnBackPressedCallback
,BackHandler
undPredictiveBackHandler
senden jetzt eine Warnung, wenn beim VerarbeitenonBackPressedDispatcher.onBackPressed()
aufgerufen wird, da dies immer die Predictive Back Animation beeinträchtigt. Weitere Informationen finden Sie im Best Practices-Leitfaden. - Die restlichen Activity APIs wurden in Kotlin umgeschrieben und alle Erweiterungen, die zuvor in
activity-ktx
verfügbar waren, wurden zuactivity
verschoben.activity-ktx
ist jetzt komplett leer.- Im Rahmen der Konvertierung von
ActivityResultLauncher
in Kotlin ist diegetContract
-Methode jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist mit Binärprogrammen kompatibel. Wenn die Implementierung vonActivityResultLauncher
jedoch in Kotlin geschrieben wurde, funktioniert die Quelle nicht mehr.
- 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.
Aktualisierung der Abhängigkeit
- Die Aktivität hängt jetzt vom Profilinstallationsprogramm 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 in Aktivität
1.9.0-alpha02
eingeführte Regression der Leistung beim Start von Aktivitäten behoben, die durch das Aufrufen vonOnBackPressedDispatcher
im Rahmen der Erstellung der Aktivität verursacht wurde. (Ie75e3)
Version 1.9.0-alpha03
7. Februar 2024
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
und androidx.activity:activity-ktx:1.9.0-alpha03
wurden veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.
Lint-Warnung
- Die APIs
OnBackPressedCallback
,BackHandler
undPredictiveBackHandler
senden jetzt eine Warnung, wenn beim VerarbeitenonBackPressedDispatcher.onBackPressed()
aufgerufen wird, da dies immer die Predictive Back Animation beeinträchtigt. 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 vorausschauenden Zurück-Geste gestartet wird, wird die derzeit ausgeführte zurücksenkende Bewegung abgebrochen und das neue Zurück-Ereignis wird übernommen, um eine neue vorausschauende Zurück-Geste zu starten. (I3482e)
- Ein Absturz wurde behoben, der beim ersten Zugriff auf das
onBackPressedDispatcher
über einComponentActivity
aus einem Hintergrundthread aufgetreten ist. Der Zugriff auf dasonBackPressedDispatcher
in jedem Thread ist jetzt sicher. (I79955)
Version 1.9.0-alpha02
24. Januar 2024
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
und androidx.activity:activity-ktx:1.9.0-alpha02
wurden veröffentlicht. Version 1.9.0-alpha02 enthält diese Commits.
Kotlin-Conversions
ActivityResultRegistry
wurde in Kotlin umgeschrieben. Dadurch wird sichergestellt, dass die Null-Zulässigkeit der generischen Begriffe im Vertrag, der anregister
übergeben wurde, korrekt an dieActivityResultLauncher
weitergegeben wird. (I121f0)ActivityResult
wurde in Kotlin umgeschrieben. Die Kotlin-Erweiterungen vonActivityResult
, die das Löschen in die FelderresultCode
unddata
unterstützen, wurden vonactivity-ktx
nachactivity
verschoben. (I0565a)- Die Kotlin-Erweiterungen von
by viewModels()
fürComponentActivity
undtrackPipAnimationHintView
wurden vonactivity-ktx
nachactivity
verschoben. Das Artefaktactivity-ktx
ist jetzt komplett leer. (I0a444)
Fehlerkorrekturen
- Die
enableEdgeToEdge
API umkreist jetzt alle Display-Aussparungen. (a3644b, b/311173461) - Von Aktivität
1.8.2
: Das Extra, das an denACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Vertrags für die Bildauswahl übergeben wurde, wurde korrigiert, sodass der SchlüsselEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
korrekt übergeben wird, anstatt das Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Dies wird dringend empfohlen, wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, die beide Extras unterstützt, um die größtmögliche Kompatibilität zu gewährleisten. (I96a00)
Version 1.9.0-alpha01
29. November 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
und androidx.activity:activity-ktx:1.9.0-alpha01
wurden veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.
Neue Funktionen
- In
ComponentActivity
wird jetztOnUserLeaveHintProvider
implementiert, damit Komponenten Callbacks füronUserLeaveHint
-Ereignisse zulassen können. (I54892)
API-Änderungen
ComponentActivity
wurde in Kotlin umgeschrieben. (I14f31)ActivityResultCaller
wurde in Kotlin umgeschrieben. (Ib02e4)ActivityResultLauncher
wurde in Kotlin umgeschrieben. Im Rahmen dieser Konvertierung ist die MethodegetContract
jetzt eine abstrakte Kotlin-Eigenschaft. Diese Änderung ist mit Binärprogrammen kompatibel. Wenn die Implementierung vonActivityResultLauncher
jedoch in Kotlin geschrieben wurde, funktioniert die Quelle nicht mehr. (ID4615)PickVisualMediaRequest
hat jetzt dieselbe API-Mindestebene von 19 wie der Vertrag fürPickVisualMedia
-Aktivitätsergebnisse. (Id6e21)
Aktualisierung der Abhängigkeit
- 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
- Das Extra, das an den
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
des Vertrags für die Bildauswahl übergeben wurde, wurde korrigiert, sodass derEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
-Schlüssel korrekt übergeben wird, anstatt das Extra mit dem Schlüssel"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
zu verwenden. Dies wird dringend empfohlen, wenn Sie ein OEM sind, der eine System-Fallback-Bildauswahl implementiert, die beide Extras unterstützt, um die größtmögliche Kompatibilität zu gewährleisten. (I96a00)
Version 1.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 nun auch dann weiterhin Daten an den richtigenOnBackPressedCallback
, nachdem ein neuesOnBackPressedCallback
-Element hinzugefügt wurde, während die Zurück-Touch-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 den Start der Zurück-Geste, den Fortschritt während der Geste und das Abbrechen der Zurück-Touch-Geste. Zusätzlich zum vorherigenhandleOnBackPressed()
-Callback für den Commit der Zurück-Geste ist der Vorgang abgeschlossen. Dazu gehört auch die Funktion „PredictiveBackHandler
“, die zusammensetzbar ist, um im Modus „Verfassen von Aktivitäten“ Ereignisse mit „Zurück“-Touch-Gesten zu verarbeiten. Er stellt einen Ablauf von BackEventCompat-Objekten bereit, die in der von Ihnen bereitgestellten Sperr-Lamba-Datei gesammelt 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 Verarbeitung verworfen. Entwickler sollten jetzt die OnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben.
- EdgeToEdge –
ComponentActivity.enableEdgeToEdge()
wurde hinzugefügt, um das randlose Display problemlos 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.
Verbesserte Dokumentation
- Die Dokumentation von
BackEventCompat
wurde verbessert. (aosp/2722254)
Version 1.8.0-alpha07
23. August 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
und androidx.activity:activity-ktx:1.8.0-alpha07
wurden veröffentlicht. Version 1.8.0-alpha07 enthält diese Commits.
Neue Funktionen
Mit der Funktion „Verfassen von Aktivitäten“ wurde eine neue
PredictiveBackHandler
zusammensetzbare Funktion hinzugefügt, mit der sich voraussagende Touch-Gesten-Ereignisse für „Zurück“ verarbeiten lassen. Es stellt einFlow
vonBackEventCompat
-Objekten bereit, die in der von dir bereitgestellten Aufbewahrungs-Lamba gesammelt werden müssen:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
Außerdem ist eine Warnung zur Kompilierungszeit über die Lint-Regel vorhanden, damit
Flow
collect()
aufruft. (Id2773, b/294884345)Die
onBackPressedDispatcher
inComponentActivity
wird jetzt verzögert initialisiert, sodass sie nur bei Bedarf erstellt wird. (I0bf8e)
Fehlerkorrekturen
- In
ComponentActivity
wird unter Android 13 keine NPE mehr angezeigt, wenn einonBackPressed()
-Callback eingeht und die Aktivität bereitsDESTROYED
wurde. (Idb055, b/291869278) - Entfernung der Nutzung der experimentellen
isAtLeastU()
API (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
wurden veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.
Neue Funktionen
OnBackPressedDispatcher
bricht nun alle Callbacks korrekt ab, die während einer Touch-Geste zur automatischen Vervollständigung entfernt werden. (I3f90f)
API-Änderungen
- Wenn du
SystemBarStyle.auto
an dieenableEdgeToEdge
API übergibst, kannst du jetzt den Lambda-ParameterdetectDarkMode
überschreiben, um eine benutzerdefinierte Logik zur Erkennung des Nachtmodus bereitzustellen. (aosp/2546393, b/278263793)
Version 1.8.0-alpha05
7. Juni 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
und androidx.activity:activity-ktx:1.8.0-alpha05
wurden veröffentlicht. Diese Version wird in einem internen Zweig entwickelt.
API-Änderungen
- Aktivität bietet jetzt eine
BackEventCompat
-Klasse, die als abwärtskompatible Version vonBackEvent
dient, die von der Framework-KlasseBackEvent
entkoppelt ist. - Nicht abwärtskompatible Änderung: Die Methoden
handleOnBackStarted
undhandleOnBackProgressed
vonOnBackPressedCallback
erhalten jetzt eineandroidx.activity.BackEventCompat
-Instanz anstelle einer Framework-android.window.BackEvent
-Klasse. Die entsprechenden@VisibleForTesting
APIs 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 Rückruf zu erhalten, wenn sich die Anzahl der aktivierten Rückrufe von null zu ungleich null ändert oder umgekehrt.
Fehlerkorrekturen
- Aus Aktivität
1.7.2
: Das Problem mit dem Absturz vonReportDrawn
beim Verlassen eines Bildschirms vor dem Aufrufen vonreport
wurde behoben. (Ic46f1, b/260506820)
Version 1.8.0-alpha04
10. Mai 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
und androidx.activity:activity-ktx:1.8.0-alpha04
wurden veröffentlicht. Dies wurde von einem internen Zweig freigegeben.
Fehlerkorrekturen
- Aus Aktivität 1.7.1: – Die
ReportFullyDrawExecuter
tritt nicht mehr auf, 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 Verarbeitung verworfen. Entwickler sollten jetzt dieOnBackPressedDispatcher
verwenden, anstatt diese Methode zu überschreiben. (Ibce2f, b/271596918)ComponentDialog
undComponentActivity
enthalten jetzt die öffentliche APIinitViewTreeOwners()
, die verwendet wird, um alle Inhaber der Ansichtsstruktur zu initialisieren, bevor die Inhaltsansicht festgelegt wird. (Ibdce0, b/261314581)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem Fragmente MenuHosts fälschlicherweise ungültig machten und andere Menüs in der Aktivität zu unerwartetem Verhalten führten. (I9404e, b/244336571)
Weitere Änderungen
- Für
ActivityResultRegister
wird jetzt Kotlin-Random
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
wurden veröffentlicht. Wurde in einem internen Zweig entwickelt.
Aktualisierung der Abhängigkeit
- Aus 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
wurden veröffentlicht. Sie wurde aus einem internen Zweig erstellt.
Neue Funktionen
- Die Klasse
OnBackPressedCallback
enthält jetzt zusätzlich zum vorherigenhandleOnBackPressed()
-Callback beim Commit der Zurück-Geste neue Callbacks für den vorausschauenden Zurück-Fortschritt, um den Start der Zurück-Geste, den Fortschritt während der Bewegung und das Abbrechen der Zurück-Geste zu verarbeiten.
Version 1.7
Version 1.7.2
24. Mai 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
und androidx.activity:activity-ktx:1.7.2
wurden veröffentlicht. Version 1.7.2 enthält diese Commits.
Fehlerkorrekturen
- Fehler behoben, der beim Absturz von
ReportDrawn
beim Verlassen eines Bildschirms vor dem Aufrufen vonreport
abstürzte wurde behoben. (Ic46f1, b/260506820)
Version 1.7.1
19. April 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
und androidx.activity:activity-ktx:1.7.1
wurden veröffentlicht. Version 1.7.1 enthält diese Commits.
Fehlerkorrekturen
ReportFullyDrawExecuter
führt nicht mehr zu Datenlecks, 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 ein zusätzliches Fallback für den Fall, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist. Dadurch können OEMs und System-Apps wie Google Play-Dienste eine einheitliche Bildauswahl auf einer breiteren Palette von Android-Geräten und API-Levels anbieten, indem die Fallback-Aktion implementiert wird. Die Bildauswahl verwendet diese Alternative, sofern verfügbar, bevor sie aufIntent.ACTION_OPEN_DOCUMENT
zurückgreift, das weiterhin alle Geräte mit API 19 und höher unterstützt. ComponentDialog
implementiert jetztSavedStateRegistryOwner
und hat Zugriff auf seine eigeneSavedStateRegistry
und legt dieSavedStateRegistryOwner
für seineViewTree
fest. Jetpack Compose kann jetzt in einemComponentDialog
verwendet werden, da es über dieViewTree
API-Anforderungen sowohl dieLifecycleOwner
als auch dieSavedStateRegistryOwner
erfüllt, die mit dem Fenster verknüpft sind.- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags vonIntent
statt nur eines einzelnen Flags festlegen.
Kotlin-Konvertierung
Einige Activity-Klassen wurden in Kotlin konvertiert. Alle konvertierten Klassen haben weiterhin ihre Binärkompatibilität mit früheren Versionen. Die folgenden Klassen enthalten inkompatible Änderungen für Klassen, die in Kotlin geschrieben wurden: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
In der folgenden Tabelle sind die Quell-Conversions für die neue Version von „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 |
Die folgenden Klassen wurden ebenfalls in Kotlin konvertiert, sind aber weiterhin quellkompatibel: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
und OnBackPressedDispatcher
FullyDrawnReporter-APIs
ComponentActivity
stellt jetzt eine FullyDrawnReporter
-Instanz bereit, mit der mehrere Komponenten melden können, wenn sie für eine Interaktion bereit sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn()
in deinem Namen aufgerufen wird. Diese APIs kümmern sich um die zeitlichen Anforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Wir empfehlen, diese APIs zu aktivieren:
- Signalisieren der Android-Laufzeit nach Abschluss des Starts, 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.
- Signalisieren von MacroBenchmark und Play Vitals, wenn deine App für Start-Messwerte vollständig berücksichtigt werden sollte, damit du die Leistung im Blick behalten kannst.
Es wurden drei Activity Compose APIs hinzugefügt, um die Verwendung der FullyDrawnReporter
aus einzelnen zusammensetzbaren Funktionen zu vereinfachen:
ReportDrawn
gibt an, dass die zusammensetzbare Funktion sofort zur Interaktion bereit ist.ReportDrawnWhen
verwendet ein Prädikat (d.h.list.count > 0
), um anzugeben, wann die zusammensetzbare Funktion zur Interaktion bereit ist.ReportDrawnAfter
verwendet eine angehaltene Methode, die nach Abschluss des Vorgangs anzeigt, dass Sie für eine Interaktion bereit sind.
Aktualisierung der Abhängigkeiten
- 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
wurden veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.
Aktualisierung der Abhängigkeit
- 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
wurden veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.
API-Änderungen
- Die Aktion und das Extra, das von den
PickVisualMedia
- undPickMultipleVisualMedia
-Verträgen als Fallback für den Fall verwendet wird, dassMediaStore.ACTION_PICK_IMAGES
nicht verfügbar ist, sind jetzt öffentliche Konstanten, die OEMs und System-Apps API-Stabilität bieten, die eine einheitliche Bildauswahl bieten möchten. Die Implementierung dieses Fallbacks ist weiterhin auf System-Apps beschränkt. (ICD320)
Version 1.7.0-beta01
8. Februar 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
und androidx.activity:activity-ktx:1.7.0-beta01
wurden veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.
Neue Funktionen
- Mit
IntentSenderRequest.Builder.setFlags()
können Sie jetzt mehrere Flags vonIntent
statt nur eines einzelnen Flags festlegen. (Iac04c)
Fehlerkorrekturen
- Das Fallback für
PickVisualMedia
, wenn die Fotoauswahl für das Framework nicht verfügbar ist, beschränkt die Verarbeitung jetzt korrekt auf Apps, die im Systemimage des Geräts installiert sind. (If8ae6)
Kotlin-Conversions
ActivityResultRegistryOwner
ist jetzt in Kotlin geschrieben. Diese Änderung ist nicht mit der Quelle kompatibel für die in Kotlin geschriebenen Klassen. Sie müssen jetzt das AttributactivityResultRegistry
überschreiben, anstatt die vorherigegetActivityResultRegistry()
-Funktion zu implementieren. (I0b00e)OnBackPressedDispatcherOwner
ist jetzt in Kotlin geschrieben. Diese Änderung ist nicht mit der Quelle kompatibel für die in Kotlin geschriebenen Klassen. Sie müssen jetzt das AttributonBackPressedDispatcher
überschreiben, anstatt die vorherigegetOnBackPressedDispatcher
-Funktion zu implementieren. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
undOnBackPressedDispatcher
sind jetzt in Kotlin geschrieben. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
Version 1.7.0-alpha04
25. Januar 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
und androidx.activity:activity-ktx:1.7.0-alpha04
wurden veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.
Neue Funktionen
- Für die Verträge für
PickVisualMedia
- undPickMultipleVisualMedia
-Aktivitätsergebnisse wird jetzt, sofern verfügbar, eine von den Google Play-Diensten bereitgestellte Bildauswahl verwendet, wenn das Android-System die Bildauswahl (z.B.MediaStore.ACTION_PICK_IMAGES
) ist nicht verfügbar. DieisPhotoPickerAvailable()
API, die nur das vom Android-System bereitgestellte Bildauswahl-Tool erkennt, wurde eingestellt. Wir empfehlen, die neueisPhotoPickerAvailable(Context)
API zu verwenden, die wieder verfügbar ist, wenn eine der Bildauswahl 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 seinen eigenenSavedStateRegistry
und legt denSavedStateRegistryOwner
für seinen ViewTree fest. Jetpack Compose kann jetzt in einemComponentDialog
verwendet werden, da es sowohl dieLifecycleOwner
als auch dieSavedStateRegistryOwner
erfüllt, die über die ViewTree APIs-Anforderungen an das Fenster angehängt sind. (Idca17, I73468 b/261162296)
API-Änderungen
- Eine zusammensetzbare Funktion
ReportDrawn
wurde hinzugefügt, die die Aktivität sofort als zum Aufrufen vonreportFullyDrawn
bereit markiert. (Ic5b14, b/259687964)
Kotlin-Conversions
- Die Klassen
ActvitiyResultCallback
undOnBackPressedCallback
wurden unter Beibehaltung der Kompatibilität zwischen Quell- und Binärprogrammen 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 eingeführt wurde, wenn der Standardwert fürmaxItems
verwendet wurde. (Ie2776, b/249182130)
Version 1.7.0-alpha01
5. Oktober 2022
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
und androidx.activity:activity-ktx:1.7.0-alpha01
wurden veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
FullyDrawnReporter-APIs
ComponentActivity
stellt jetzt eine FullyDrawnReporter
-Instanz bereit, mit der mehrere Komponenten melden können, wenn sie für eine Interaktion bereit sind. ComponentActivity
wartet, bis alle Komponenten abgeschlossen sind, bevor reportFullyDrawn()
in deinem Namen aufgerufen wird. Diese APIs kümmern sich um die zeitlichen Anforderungen für Sie und müssen nicht im Rahmen eines onDraw
-Aufrufs aufgerufen werden.
Wir empfehlen, diese APIs zu aktivieren:
- Signalisieren der Android-Laufzeit nach Abschluss des Starts, 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.
- Signalisieren von MacroBenchmark und Play Vitals, wenn deine App für Start-Messwerte vollständig berücksichtigt werden sollte, damit du die Leistung im Blick behalten kannst.
Es wurden zwei Activity Compose APIs hinzugefügt, um die Verwendung der 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 angehaltene Methode, die nach Abschluss des Vorgangs anzeigt, dass Sie für eine Interaktion bereit sind.
Version 1.6.1
Version 1.6.1
24. Oktober 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
und androidx.activity:activity-ktx:1.6.1
wurden veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Vertrag für
PickMultipleVisualMedia
-Aktivitätsergebnisse auf Android R-Geräten nicht gestartet wurde, wenn der Standardwert fürmaxItems
verwendet wurde. (Ie2776, b/249182130)
Version 1.6.0
Version 1.6.0
21. September 2022
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
und androidx.activity:activity-ktx:1.6.0
wurden veröffentlicht. Version 1.6.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.5.0
ActivityResultContracts.PickVisualMedia
undActivityResultContracts.PickMultipleVisualMedia
wurden für die Bereitstellung eines abwärtskompatiblen Vertrags hinzugefügt, 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 dieOnBackPressedDispatchers
vonComponentActivity
undComponentDialog
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine vorhersagbare Zurück-Geste aktiviert ist.
Version 1.6.0-rc02
7. September 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
und androidx.activity:activity-ktx:1.6.0-rc02
wurden veröffentlicht. Version 1.6.0-rc02 enthält diese Commits.
Fehlerkorrekturen
OnBackPressedDispatcher
registriert jetzt denOnBackInvokedCallback
mitPRIORITY_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
-Aufruf eineException
und der Callback wurde ohneLifecycleOwner
registriert. (Ia7ff7, b/238350794)ComponentActivity
sendet jetzt Menüaufrufe korrekt, ohne dass Sie die Superfunktion in Ihrer Aktivität aufrufen müssen. (Ie33c5, b/238057118)
Aktualisierung der Abhängigkeit
- 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
s, wenn SDK-Versionen vor 33 verwendet werden. (IC32e1) - Bei Klassen, die den
onPictureInPictureModeChanged()
-Callback vonComponentActivity
überschreiben, werden jetzt immer auch Callbacks gesendet. (Ib7fdb)
Version 1.6.0-beta01
10. August 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
und androidx.activity:activity-ktx:1.6.0-beta01
wurden veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
- Die verworfenen Methoden
startActivityForResult
undstartIntentSenderForResult
wurden inComponentActivity
mit@NonNull
gekennzeichnet, da das Übergeben vonnull
immer zu einem Absturz geführt hat. (Id2a25, b/231476082)
Fehlerkorrekturen
- Aus Aktivität
1.5.1
:ActivityResultRegistry
gibt kein Ergebnis mehr anActivityResultCallback
zurück, wenn derlaunch
-Aufruf eineException
und der Rückruf wurde ohneLifecycleOwner
registriert. (Ia7ff7, b/238350794) - Aus Aktivität
1.5.1
:ComponentActivity
leitet jetzt Menüaufrufe anonPrepareOptionMenu()
-,onCreateOptionsMenu()
- undonOptionsItemSelected()
-Überschreibungen korrekt weiter, ohne dass die Superfunktion aufgerufen werden muss. (Ie33c5, b/238057118)
Aktualisierung der Abhängigkeit
- 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 Pre-Release-Zweig entwickelt und hat keine öffentlichen Commits.
API-Änderungen
minCompileSdk
ist jetzt entsprechend dem Tiramisu Beta 3 SDK 33 Jahre alt
Fehlerkorrekturen
- Ein Absturz auf älteren Geräten bei der Prüfung der SDK-Erweiterung auf
PickVisualMedia
ActivityResultContract
wurde behoben. Das Gerät sollte jetzt mitACTION_OPEN_DOCUMENT
auf Geräten mit Android 10 und niedriger funktionieren.
Version 1.6.0-alpha04
18. Mai 2022
androidx.activity:activity:1.6.0-alpha04
und androidx.activity:activity-ktx:1.6.0-alpha04
wurden veröffentlicht.
Fehlerkorrekturen
- Es wurde ein Fehler in
PickVisualMediaRequest
behoben, bei dem der Versuch, eine Anfrage über den Builder oder die Kotlin-Funktion der obersten Ebene zu erstellen, zu einem Stacküberlauf führte. OnBackInvokedCallback
wurde in der Android 13-Entwickler-Beta (Beta) 2 in die vonComponentDialog
bereitgestellteOnBackPressedDispatcher
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine Touch-Geste mit automatischer Vervollständigung aktiviert ist.
Version 1.6.0-alpha03
27. April 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
und androidx.activity:activity-ktx:1.6.0-alpha03
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 für die Bereitstellung eines abwärtskompatiblen Vertrags hinzugefügt, derMediaStore.ACTION_PICK_IMAGES
verwendet, wenn die Bildauswahl verfügbar ist, undIntent.ACTION_OPEN_DOCUMENT
, wenn sie nicht verfügbar ist.OnBackInvokedCallback
wurde in der Android 13-Entwickler-Beta (Beta) 1 in die vonComponentActivity
bereitgestellteOnBackPressedDispatcher
integriert. Dadurch wird sichergestellt, dass alle aufOnBackPressedDispatcher
basierenden APIs funktionieren, wenn eine Touch-Geste mit automatischer Vervollständigung aktiviert ist.
Version 1.6.0-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
- Die Änderungen aus der Android 13-Entwicklervorschau 2 wurden in
ComponentActivity
integriert.
Version 1.5.1
Version 1.5.1
27. Juli 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
und androidx.activity:activity-ktx:1.5.1
wurden veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
ActivityResultRegistry
gibt kein Ergebnis mehr zurück an denActivityResultCallback
, wenn derlaunch()
-Aufruf eineException
und der Callback wurde ohneLifecycleOwner
registriert. (Ia7ff7, b/238350794)ComponentActivity
leitet jetzt korrekt Menüaufrufe an die ÜberschreibungenonPrepareOptionMenu()
,onCreateOptionsMenu()
undonOptionsItemSelected()
weiter ohne die Superfunktion aufrufen zu müssen. (Ie33c5, b/238057118)
Aktualisierung der Abhängigkeit
- 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 Zurück-Schaltfläche des Systems gedrückt wird und das Dialogfeld sichtbar wird. Wichtig ist, dass diese abgeleitete Klasse auch dieViewTreeOnBackPressedDispatcherOwner
festlegt. Damit können Ansichten den richtigen Dispatcher unabhängig davon abrufen, ob er in einemComponentActivity
oder einemComponentDialog
vorhanden ist. - Callback-Schnittstellen:
ComponentActivity
implementiert jetzt eine Reihe modularer Callback-Schnittstellen, die anstelle derActivity
-Callbacks verwendet werden können. Zu diesen Schnittstellen gehören:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
. - CreationExtras-Integration:
ComponentActivity
kann jetzt eine zustandsloseViewModelProvider.Factory
überCreationExtras
des Lebenszyklus2.5.0
bereitstellen.
Sonstige Änderungen
- Der Konstruktor ohne Parameter für
ActivityResultContracts.CreateDocument
wurde verworfen und durch einen neuen Konstruktor ersetzt, der einen konkreten MIME-Typ (z.B. „image/png“), wie vonIntent.ACTION_CREATE_DOCUMENT
gefordert.
Version 1.5.0-rc01
11. Mai 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
und androidx.activity:activity-ktx:1.5.0-rc01
wurden 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
wurden veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
2.4.0-beta01
ab.
Version 1.5.0-alpha05
6. April 2022
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
und androidx.activity:activity-ktx:1.5.0-alpha05
wurden veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Das
onPanelClosed()
vonComponentActivity
ruft jetzt auch die Super-onPanelClosed()
auf, wodurch ein Problem behoben wurde, 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
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, um Folgendes zuzulassen: Komponente zum Empfangen von Änderungsereignissen des Bild-im-Bild-Modus. (I9f567)ComponentActivity
implementiert jetzt dieOnMultiWindowModeChangedProvider
-Schnittstelle, um Folgendes zuzulassen: Komponente, um Änderungsereignisse für den Mehrfenstermodus zu empfangen. (I62d91)
Version 1.5.0-alpha01
26. Januar 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
und androidx.activity:activity-ktx:1.5.0-alpha01
wurden veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
ComponentActivity
kann jetzt in ViewModel CreationExtras eingebunden werden, die im Rahmen des Lebenszyklus2.5.0-alpha01
eingeführt wurden. (Ie7e00, b/207012584)ComponentDialog
wurde hinzugefügt, eine abgeleitete Klasse vonDialog
mitOnBackPressedDispatcher
wird aufgerufen, wenn die Zurück-Taste des Systems wenn das Dialogfeld angezeigt wird. Wichtig: legt auch den WertViewTreeOnBackPressedDispatcherOwner
, Aufrufe sind erlaubt eine allgemeine Methode, um den richtigen Disponenten ob sie in einemComponentActivity
- oderComponentDialog
(I8a1bc)- In
ComponentActivity
wird jetzt das neueOnNewIntentProvider
-Schnittstelle, die zugelassen werden soll um diese Ereignisse zu empfangen. (If1f8b) - In
ComponentActivity
wird jetzt das neueOnConfigurationChangedProvider
-Schnittstelle, die zugelassen werden soll um diese Ereignisse zu empfangen. (If623b) - In
ComponentActivity
wird jetzt das neueOnTrimMemoryProvider
-Oberfläche können alle Komponenten um diese Ereignisse zu erhalten. (Ia9295)
API-Änderungen
- Der no-Parameter-Konstruktor für
ActivityResultContracts.CreateDocument
wurde verworfen und durch einen neuen Konstruktor ersetzt mit einem konkreten MIME-Typ (z.B."image/png"
) wie vonIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) - Das
OnBackPressedDispatcherOwner
können jetzt über dieViewTreeOnBackPressedDispatcherOwner
, statt als auf das Streamen vonContext
zu verlassen. (I74685)
Fehlerkorrekturen
- Absturz beim Zugriff auf
ViewModel
behoben zum ersten Mal von einemregisterForActivityResult()
-Callback oder derLifecycleObserver
, die im Rahmen voninit
vonComponentActivity
. (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
- In AndroidX
ComponentActivity
ist jetzt dieMenuHost
-Schnittstelle implementiert. Dadurch kann jede Komponente Menüpunkte zumActionBar
hinzufügen, indem eineMenuProvider
-Instanz zur Aktivität hinzugefügt wird. JedesMenuProvider
-Element kann optional mit einemLifecycle
-Element hinzugefügt werden, das die Sichtbarkeit dieser Menüpunkte basierend auf demLifecycle
-Status automatisch steuert und das Entfernen vonMenuProvider
übernimmt, wenn dasLifecycle
gelöscht wird. - Die Klasse
ActivityResultContract
wurde in Kotlin neu geschrieben, damit Entwickler, die benutzerdefinierte Verträge in Kotlin schreiben, die korrekte Null-Zulässigkeit für ihre Ein- und Ausgabeklassen definieren können. - Die Klasse
ActivityResultContracts
und ihre Verträge wurden in Kotlin umgeschrieben, um die 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 dann kein Ergebnis mehr zurück anActivityResultCallback
, wenn derlaunch
-Aufruf eineException
. (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 die
ActivityResultContracts.OpenMultipleDocuments
undActivityResultContracts.GetMultipleContents
, die dass der AusgabetypList<? extends Uri>
bei Verwendung des Codes von die Programmiersprache Java. (If71de) - Öffentliche Konstanten in den Klassen
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
undActivityResultContracts.RequestMultiplePermissions
sind jetzt bei Verwendung von Kotlin über die öffentlichenCompanion
-Objekte zugänglich. (aosp/1832555)
Aktualisierungen der Dokumentation
- Die Nachricht zur Einstellung von APIs, die jetzt von den Activity Result APIs (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
undonRequestPermissionsResult
) verarbeitet werden, wurde um weitere Details erweitert. (cce80f)
Version 1.4.0-alpha02
15. September 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
und androidx.activity:activity-ktx:1.4.0-alpha02
wurden veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
- Das Artefakt
activity-compose
enthält jetzt einen Lint-FehlerLaunchDuringComposition
, der verhindert, dass dielaunch
-Methode vonActivityResultLauncher
im Rahmen der Zusammensetzung aufgerufen wird, da die Komposition keine Nebenwirkungen haben sollte. Verwende die APIs für den Umgang mit Nebenwirkungen. (7c2bbe, b/191347220)
API-Änderungen
- Die Klasse
ActivityResultContract
hat in Kotlin überarbeitet, damit Entwickler können Sie mit benutzerdefinierten Verträgen in Kotlin die Null-Zulässigkeit für ihre Eingabe und Ausgabe korrigieren Klassen. (I8a8f5) - Die
ActivityResultContracts
-Klasse und ihre wurden die Verträge in Kotlin umgeschrieben. Null-Zulässigkeit korrekt ist. (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
- In AndroidX
ComponentActivity
ist jetzt dieMenuHost
-Schnittstelle implementiert. Dadurch kann jede Komponente Menüpunkte zumActionBar
hinzufügen, indem eineMenuProvider
-Instanz zur Aktivität hinzugefügt wird. JedesMenuProvider
-Element kann optional mit einemLifecycle
-Element hinzugefügt werden, das die Sichtbarkeit dieser Menüelemente basierend auf demLifecycle
-Status automatisch steuert und das Entfernen vonMenuProvider
ü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 im Verhalten
ActivityResultRegistry
wirft nun eineIllegalStateException
beim Versuch,launch()
über eineActivityResultLauncher
, die nicht registriert wurden oder die nicht registriert. (Ida75d, b/192567522)
Externer Beitrag
- Vielen Dank, dmitrilc, dass du einen Tippfehler in der
ActivityResult
-Dokumentation korrigiert hast. (#221)
Version 1.3.1
Version 1.3.1
4. August 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
und androidx.activity:activity-ktx:1.3.1
wurden veröffentlicht. Version 1.3.1 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Die Aktivität hängt jetzt von der Kotlin-
1.5.21
ab. - Die Funktion zum Schreiben einer Aktivität hängt jetzt von der Funktion „Schreiben“ (
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
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 diesetContent
-Erweiterungsmethode zum Hosten Ihrer Jetpack Compose-UI in einer Aktivität und Compose-spezifische Wrapper für die Interaktion mit denComponentActivity
-APIs für die Verarbeitung der Zurück-Schaltfläche des Systems und der Activity Result APIs. Weitere Informationen finden Sie in der Dokumentation. - CaptureVideo-Vertrag: Der
CaptureVideo
ActivityResultContract
ersetzt den mittlerweile eingestelltenTakeVideo
-Vertrag und gibt einen booleschen Wert zurück, der den Erfolg für viele Kamera-Apps angibt. - Aufrufverfolgung von Bild-im-Bild-Hinweisen: Nutzer von
activity-ktx
können jetzt die ErweiterungsmethodetrackPipAnimationHintView
aufActivity
verwenden, umPictureInPictureParams
automatisch neu zu erstellen, wobei die neue Position der Ansicht berücksichtigt wird, wenn sich die Position relativ zum Fenster ändert.
Version 1.3.0-rc02
14. Juli 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
und androidx.activity:activity-ktx:1.3.0-rc02
wurden veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die
ActivityResultRegistry
-Callbacks sind jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks nicht in „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
wurden 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.
Die Funktion „activity-compose
“ wurde so aktualisiert, dass sie von „1.0.0-beta09
für Schreiben“ abhängig ist. androidx.compose.ui:ui-test-junit4
weist jetzt eine Kompilierungszeitabhängigkeit von activity-compose
auf.
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
- Die neue
CaptureVideo
-ActivityResultContract
gibt eine booleschen Werts zu deinemActivityResultCallback
, der angibt, unter dem angegebenen URI gespeichert. Dies ersetzt den mittlerweile eingestelltenTakeVideo
-Vertrag, da Kamera-Apps nur sehr selten die Rückgabe einer Thumbnail-Bitmap unterstützen. Daher ist das Ergebnis nicht hilfreich. (Ie21f2, b/185938070) - Neue API
Activity#setPipAnimationHintView
zum Aktualisieren hinzugefügt die PipParams“ Quellrechteckhinweis, wenn sich die Ansicht bewegt. (I9063d)
API-Änderungen
- Die Funktion
rememberLauncherForActivityResult
gibt jetzt Launcher, der dieunregister()
-Funktion einstellt. Das Registrieren und Aufheben der Registrierung des Launchers erfolgt automatisch durchrememberLauncherForActivityResult
. (I2443e)
Compose-Kompatibilität
androidx.activity:activity-compose:1.3.0-alpha08
ist nur mit der E-Mail-Adresse „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
jetzt gibt einen stabilen VerweisActivityResultLauncher
-Instanz Vertragsänderungen aufgrund von Neuzusammensetzungen. (Id2d6d)- Instabile Versionen von Fragmenten über
1.3.0
werden nicht mehr verwendet Ein falsch positiver Lint-Fehler wird ausgegeben und Sie werden aufgefordert,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 umbenannt inrememberLauncherForActivityResult()
, um besser anzuzeigen, dass die zurückgegebeneActivityResultLauncher
ein verwaltetes Objekt ist, das für Sie gespeichert wird. Beim Versuch,unregister
die zurückgegebeneActivityResultLauncher
aufzurufen, wird jetzt ein Fehler ausgegeben. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
und „LocalActivityResultRegistryOwner.current
“ gibt jetzt Folgendes zurück: Nullwert zulässig, um besser zu bestimmen, ob er verfügbar ist in der aktuellen Komposition. APIs, für die diese APIs erforderlich sind, z. B.BackHandler
undrememberLauncherForActivityResult()
, wird jetzt ein ausführlicherer Fehler ausgegeben, wenn Der zugrunde liegende Inhaber wurde nicht gefunden.NavHost
funktioniert jetzt auch wenn keinOnBackPressedDispatcherOwner
gefunden wird, Dies ist bei der Vorschau vonNavHost
der Fall. (I7d8b4)
Fehlerkorrekturen
- Die
BackHandler
fängt das Gegendrücken jetzt korrekt ab das Ereignis, dass die AktivitätSTOPPED
ist, dann wiederSTARTED
und andere Callbacks wurden mit einem LifecycleOwner hinzugefügt. (I71de6, b/182284739) - Methodenerweiterung
launch()
mit einer benutzerdefiniertenActivityResultContract
mit einerUnit
-Eingabe verursacht keinenNullPointerException
(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
- Aus Aktivität 1.2.2: Ein Problem bei der Lint-Prüfung für
InvalidFragmentVersionForActivityResult
, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte, wurde behoben. (I54da1, b/182388985) - Aus Aktivität 1.2.2:
ComponentActivity
vermeidet nunClassNotFoundException
, wenn einIntent
aus einemActivityResultContract
gestartet wird, das zuvor in einem anderenIntent
als Extra vorhanden war. (Ieff05, b/182906230)
Aktualisierung der Abhängigkeiten
- Aus 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
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) - Aus Aktivität
1.2.1
:ActivityResultRegistry
sorgt jetzt dafür, dass in Bearbeitunglaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn Sieunregister()
und dann noch einmal mit demselben Schlüsselregister()
. (I9ef34, b/181267562) - Beim Erstellen der Aktivität wird kein Test mehr hinzugefügt zum Laufzeit-Klassenpfad hinzu. (Ifd8b3)
- Es wurde ein Problem mit
BackHandler
behoben, bei dem das zuvor festgelegte Lambda vononBack
nach der Neuzusammensetzung weiterhin verwendet wurde. (8eb5eb)
Version 1.3.0-alpha03
24. Februar 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
und androidx.activity:activity-ktx:1.3.0-alpha03
wurden veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
Neue Funktionen
- Es gibt jetzt eine zusammensetzbare Funktion
registerForActivityResult
um Ergebnisse aus Aktivitäten innerhalb zusammensetzbarer Funktionen zu erhalten. (Ia7851, b/172690553)
API-Änderungen
LocalOnBackPressedDispatcherOwner
hat jetzt eineprovides
-Funktion, die wird mitCompositionLocalProvider
verwendet, wodurch dieasProvidableCompositionLocal()
API ersetzt wird. (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 in „Erstellen von Aktivitäten“
1.3.0-alpha01
behoben, das bei der Verwendung von „Schreiben“1.0.0-alpha12
eineNoSuchMethodError: No static method setContent
-Ausnahme verursachte. Alle Nutzer von „Compose“ sollten1.3.0-alpha02
und höher verwenden. (b/179911234)
API-Änderungen
- Mit der
BackHandler
API kann ein Composable die Zurück-Schaltfläche des Systems abfangen. (I58ed5, b/172154006)
Version 1.3.0-alpha01
10. Februar 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
und androidx.activity:activity-ktx:1.3.0-alpha01
wurden veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
- Das neue
activity-compose
-Artefakt bietet Jetpack Compose-spezifische Hilfsfunktionen fürandroidx.activity
-spezifische APIs.ComponentActivity.setContent
wurde vonandroidx.compose.ui.platform.setContent
nachandroidx.activity.compose.setContent
verschoben. (Icf416)
Bekannte Probleme
- Wenn du die Funktion „Erstellen von Aktivitäten“
1.3.0-alpha01
und Bibliotheken verwendest, die davon abhängen, z. B.androidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, wird eineNoSuchMethodError: No static method setContent
-Ausnahme ausgelöst. (b/179911234)
Version 1.2.4
Version 1.2.4
21. Juli 2021
androidx.activity:activity:1.2.4
und androidx.activity:activity-ktx:1.2.4
wurden veröffentlicht. Version 1.2.4 enthält diese Commits.
Fehlerkorrekturen
- Aus Activity
1.3.0-rc02
: ActivityResultRegistry-Rückrufe werden jetzt korrekt gespeichert und wiederhergestellt, damit Callbacks nicht im savedState-Wert 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
wurden veröffentlicht. Version 1.2.3 enthält diese Commits.
Fehlerkorrekturen
- Methodenerweiterung
launch()
mit einer benutzerdefiniertenActivityResultContract
mit einerUnit
-Eingabe verursacht keinenNullPointerException
(I76282, b/183837954) - Es wurde ein falsch positiver Lint-Fehler behoben, der dazu aufforderte, Fragment
1.3.0
zu verwenden, wenn ein Snapshot-, Alpha-, Beta- oder RC-Build einer neueren Version von Fragmenten verwendet wurde. (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
wurden veröffentlicht. Version 1.2.2 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem bei der Lint-Prüfung von
InvalidFragmentVersionForActivityResult
behoben, das bei Verwendung von Fragment 1.3.1 oder höher zu einem falsch positiven Ergebnis führte. (I54da1, b/182388985) ComponentActivity
vermeidet nunClassNotFoundException
, wenn einIntent
von einemActivityResultContract
gestartet wird, das zuvor in einem anderenIntent
als Extra vorhanden war. (Ieff05, b/182906230)
Aktualisierung der Abhängigkeiten
- Die Aktivität hängt jetzt vom Lebenszyklus
2.3.1
ab.
Version 1.2.1
Version 1.2.1
10. März 2021
androidx.activity:activity:1.2.1
und androidx.activity:activity-ktx:1.2.1
wurden 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
sorgt jetzt dafür, dass in Bearbeitung befindlichelaunch()
-Anfragen ihre Ergebnisse zurückgeben, auch wenn duunregister()
auswählst, und dann noch einmal mit demselben Schlüsselregister()
. (I9ef34, b/181267562)
Version 1.2.0
Version 1.2.0
10. Februar 2021
androidx.activity:activity:1.2.0
und androidx.activity:activity-ktx:1.2.0
wurden veröffentlicht. Version 1.2.0 enthält diese Commits.
Große Änderungen seit Version 1.1.0
- Aktivitätsergebnis-APIs:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der dustartActivityForResult()
+onActivityResult()
- undrequestPermissions()
+onRequestPermissionsResult()
-Abläufe verarbeiten kannst, ohne Methoden in deiner Aktivität oder deinem Fragment zu überschreiben. Außerdem bietetComponentActivity
eine höhere Typsicherheit überActivityResultContract
und bietet Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Abschnitt Ergebnisse aus einer Aktivität abrufen.
ContextAware
:ComponentActivity
implementiert jetztContextAware
, sodass Sie eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen können, die vor der Basis-Activity.onCreate()
einen Callback erhalten.- Mit der sperrenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen nicht sperrenden 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 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 der sperrenden Kotlin-Erweiterung
Unterstützung durch
ViewTree
: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
zurückportiert und funktioniert auf allen API-Ebenen. Ein Absturz bei API 19 wurde behoben und dieser Methode wurde für alle API-Ebenen Tracing hinzugefügt.
Version 1.2.0-rc01
16. Dezember 2020
androidx.activity:activity:1.2.0-rc01
und androidx.activity:activity-ktx:1.2.0-rc01
wurden veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
ActivityResultRegistry
stellt nun immer den genauen Status wieder her das gespeichert wurde. (Idd56b)- Tracing zu
ComponentActivity.reportFullyDrawn
hinzufügen (Ic7632)
Externer Beitrag
ComponentActivity
überschreibt jetztreportFullyDrawn()
, sodass die Methode auf allen API-Ebenen aufgerufen werden kann und ein Absturz beim Aufrufen dieser Methode ohne die entsprechende Systemberechtigung auf API-19-Geräten behoben wird. Vielen Dank, Simon Schiller. (b/163239764, #103)
Version 1.2.0-beta02
2. Dezember 2020
androidx.activity:activity:1.2.0-beta02
und androidx.activity:activity-ktx:1.2.0-beta02
wurden veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Activity Result API
nicht warten, bis der Lebenszyklus
STARTED
ist, Liefern von Ergebnissen, wenn sie mit einemLifecycle
registriert sind. (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
wurden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Fehlerkorrekturen
Die
ActivityResultRegistry
generiert nun nach dem Zufallsprinzip Ganzzahlen, bis sie eine findet, die nicht für die Verwendung als Anfragecoderegister()
zugewiesen ist. Dadurch wird der mögliche Überlauf von Ganzzahlen aufgrund der Erhöhung der Anfragecodes verhindert. (b/168779518)Lifecycle
-Beobachter werden ordnungsgemäß entfernt, wennunregister()
für einActivityResultLauncher
aufgerufen wird. (b/165608393)
Änderungen im Verhalten
ActivityResultRegistry
gibt jetzt eineIllegalStateException
aus, wenn versucht wird,register()
mit einerLifecycleOwner
aufzurufen, derenLifecycle
bereitsSTARTED
erreicht hat. (b/165435866)
Dokumentation aktualisiert
- Die
ContextAware
-Dokumentation enthält einen Link zuLifecycleOwner
, umLifecycle
-Callbacks als geeigneten Ort für das Erstellen und Löschen von Ereignissen hervorzuheben. (aosp/1414152)
Version 1.2.0-alpha08
19. August 2020
androidx.activity:activity:1.2.0-alpha08
und androidx.activity:activity-ktx:1.2.0-alpha08
wurden veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
Neue Funktionen
- In
ComponentActivity
wird jetztContextAware
implementiert. Sie können also eine oder mehrereOnContextAvailableListener
-Instanzen hinzufügen, die vor der Basis-Activity.onCreate()
einen Callback erhalten. (b/161390636) <ph type="x-smartling-placeholder">- </ph>
- Mit der sperrenden Kotlin-Erweiterung
withContextAvailable()
können Sie einen nicht sperrenden 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 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 der sperrenden Kotlin-Erweiterung
Fehlerkorrekturen
- Es wurde ein Problem mit der
ActivityResultFragmentVersionDetector
-Lint-Prüfung behoben, die bei Verwendung von Lint 27.1.0 oder höher zu Fehlern 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
wurden 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 der Nutzung der Activity Result API verwenden, um Laufzeitabstürze aufgrund von Problemen mit „ungültigen Anfragecodes“ und nicht funktionierenden Berechtigungsanfragen zu vermeiden, die durch die Verwendung älterer Versionen von Fragmenten verursacht wurden. (b/152554847)
Externer Beitrag
- Ein
ArrayIndexOutOfBoundsException
wurde behoben, Parsen der Ergebnisse für dieRequestPermission
-Aktivität Ergebnisvertrag. (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
wurden veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
Neue Funktionen
- Du kannst die
ActivityResult
-Klasse in Kotlin jetzt destrukturieren zu direkt aufrequestCode
undintent
zugreifen. (b/157212935) - Mit
ActivityResultLauncher
können Sie jetzt Folgendes abrufen:ActivityResultContract
, mit dem der Launcher registriert wurde. (b/156875743)
API-Änderungen
- Nicht abwärtskompatible Änderung: Die Methode
invoke()
fürActivityResultRegistry
wurde inonLaunch()
umbenannt. (b/157496491) - Der Vertrag über
OpenMultipleDocuments
gibt jetzt eine leere Liste zurück stattnull
an den registrierten Callback zu senden, 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
wurden veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
Neue Funktionen
- Unterstützung für
ViewTreeViewModelStoreOwner
aus dem Lebenszyklus2.3.0-alpha03
undViewTreeSavedStateRegistryOwner
aus SavedState1.1.0-alpha01
bei Verwendung vonView
inComponentActivity
wurde hinzugefügt. (aosp/1297993, aosp/1300264)
API-Änderungen
- Der
TakePicture
-Vertrag gibt jetzt eineboolean
anstelle einer MiniaturansichtBitmap
zurück, die von Kamera-Apps beim Schreiben des Bildes in die bereitgestelltenUri
nur sehr selten unterstützt wurde. (b/154302879) - Die
invoke()
-Erweiterungen fürActivityResultLauncher
wurden entfernt. Stattdessen wird jetztlaunch()
verwendet, um besser anzugeben, 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 muss. Dieses Verhalten entspricht diesem Verhalten der vorherigeninvoke()
-Erweiterungen. (aosp/1304674, aosp/1304675) - Die
IntentSenderRequest.Builder
-Methoden fürsetFlagsMask()
undsetFlagsValues()
wurden zu einer einzigensetFlags()
-Methode kombiniert. (aosp/1302111).
Fehlerkorrekturen
- Beim Registrieren einer
ActivityResultCallback
mit einemLifecycleOwner
wurde ein Problem behoben, bei dem der Callback ausgelöst wurde, bevor der StatusSTARTED
erreichte. (aosp/1309744)
Änderungen im Verhalten
ActivityResultRegistry
generiert nun Anfragecodes ab0xFFFF
statt bei0
. Dadurch werden Überschneidungen vermieden, wennstartActivityForResult()
oderrequestPermissions()
in einer Aktivität verwendet werden. (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
wurden veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- Es wurde ein Vertrag hinzugefügt, der startIntentSenderForResult an die ActivityResult APIs aufrufen kann. (b/153007517)
API-Änderungen
- Die Methode
prepareCall()
wurde inregisterForActivityResult()
umbenannt, sowohl aufComponentActivity
hier als auch im Fragment1.3.0-alpha04
. (aosp/1278717) - Die Verträge
GetContents
,OpenDocuments
undRequestPermissions
wurden inGetMultipleContents
,OpenMultipleDocuments
undRequestMultiplePermissions
umbenannt. (aosp/1280161) - Mit
ComponentActivity
wird jetzt dieActivityResultRegisteryOwner
-Schnittstelle implementiert. (aosp/1290888) - – Die APIs
startActivityForResult()
/onActivityResult()
undonRequestPermissionsResult()
inComponentActivity
wurden eingestellt. Verwende die Activity Result APIs. (b/154751887)
Fehlerkorrekturen
- Wenn du die Verträge
GetMultipleContents
undOpenMultipleDocuments
verwendest und ein einzelnes Element auswählst, wird es 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
wurden 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 Vertrag
TakePicture
verwendet jetzt eineUri
-Eingabe für den Speicherort des Bildes. Der vorherige Vertrag, für den keine Eingaben vorgenommen wurden, wurde inTakePicturePreview
umbenannt. (aosp/1262482) - Die Methode
registerActivityResultCallback()
fürActivityResultRegistry
wurde inregister()
umbenannt. (aosp/1267621) - Die Methode
dispose()
fürActivityResultLauncher
wurde inunregister()
umbenannt und die MethodeunregisterResultCallback()
inActivityResultRegistry
wurde entfernt. (aosp/1267621) - Die Methode
createIntent()
vonActivityResultContact
verwendet jetzt zusätzlich zur Eingabe einenContext
, um das Erstellen expliziter Intents zu ermöglichen. (aosp/1238800) - Ein
ActivityResultContract
kann jetztgetSynchronousResult()
überschreiben, um ein Ergebnis zu liefern, ohnestartActivityForResult
aufzurufen. Diese wird von den VerträgenRequestPermission
undRequestPermissions
verwendet, um den Status „Erteilt“ korrekt bereitzustellen, wenn die angeforderten Berechtigungen bereits gewährt wurden. (b/151110799) - Der zuvor verfügbare
Dial
-Vertrag wurde entfernt, daIntent
nicht für die Verwendung mitstartActivityForResult()
vorgesehen ist. (aosp/1266916) - Viele der Activity Result APIs, die nicht erweitert werden sollen, sind jetzt
final
. Dazu gehörengetActivityResultRegistry()
, dieprepareCall()
-Methoden, alleActivityResultRegistry
-Methoden mit Ausnahme voninvoke()
sowie eine Reihe der Standardverträge, die keine optionalen Extras unterstützen. (b/152439361)
Fehlerkorrekturen
- Ein
NullPointerException
wurde inActivityResultRegistry
behoben, wenn versucht wurde, Ergebnisse an einen Callback zu liefern, der nach einer Konfigurationsänderung noch nicht erneut registriert wurde.ActivityResultRegistry
behält diese ausstehenden Ergebnisse jetzt bei und liefert 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
wurden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- ActivityResultRegistry:
ComponentActivity
bietet jetzt eineActivityResultRegistry
, mit der Sie die AbläufestartActivityForResult()
+onActivityResult()
undrequestPermissions()
+onRequestPermissionsResult()
verarbeiten können, ohne die Methoden in Ihrer Aktivität oder Ihrem Fragment zu überschreiben. Außerdem bietetComponentActivity
eine höhere Typsicherheit überActivityResultContract
und bietet Hooks zum Testen dieser Abläufe. Weitere Informationen finden Sie im aktualisierten Abschnitt Ergebnisse aus einer Aktivität abrufen. (b/125158199)
Version 1.2.0-alpha01
4. März 2020
androidx.activity:activity:1.2.0-alpha01
und androidx.activity:activity-ktx:1.2.0-alpha01
wurden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Die Unterstützung für die
ViewTreeLifecycleOwner.get(View)
API wurde im Lebenszyklus2.3.0-alpha01
hinzugefügt, sodass die Aktivität für alle direkt zur Aktivität hinzugefügten Ansichten alsLifecycleOwner
zurückgegeben wird. (aosp/1182955)
Fehlerkorrekturen
- Es wurde eine Regression behoben, die in Aktivität
1.1.0
bei der Ausführung auf älteren Versionen der Plattform eingeführt wurde, bei deronBackPressed()
aufgrund eines Fehlers imandroid.app.FragmentManager
einIllegalStateException
verursachte. (b/146290338)
Version 1.1.0
Version 1.1.0
22. Januar 2020
androidx.activity:activity:1.1.0
wurde veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Lifecycle ViewModel SavedState Integration:
SavedStateViewModelFactory
ist jetzt die Standard-Factory, die verwendet wird, wennby viewModels()
, derViewModelProvider
-Konstruktor oderViewModelProviders.of()
mit einemComponentActivity
oder dessen abgeleiteten Klassen 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
wurden veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Abhängigkeitsänderungen
- Die Aktivität hängt jetzt vom Lebenszyklus
2.2.0-rc03
und dem Lebenszyklusansichtsmodell1.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
wurden veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Abhängigkeitsänderungen
- 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
wurden 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
wurden veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Abhängigkeitsänderungen
- Die Aktivität hängt jetzt von der stabilen Version von SavedState 1.0.0 ab.
Version 1.1.0-alpha03
5. September 2019
androidx.activity:activity:1.1.0-alpha03
und androidx.activity:activity-ktx:1.1.0-alpha03
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Die Aktivität hängt jetzt von der stabilen Version von Core 1.1.0 ab.
Fehlerkorrekturen
- Die Aktivität hängt jetzt vom Lebenszyklus
2.2.0-alpha04
ab.
Version 1.1.0-alpha02
7. August 2019
androidx.activity:activity:1.1.0-alpha02
und androidx.activity:activity-ktx:1.1.0-alpha02
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
SavedStateViewModelFactory
ist jetzt die Standard-Factory, die verwendet wird, wennby viewModels()
, derViewModelProvider
-Konstruktor oderViewModelProviders.of()
mit einemComponentActivity
verwendet wird (b/135716331).
Version 1.1.0-alpha01
2. Juli 2019
androidx.activity:activity:1.1.0-alpha01
und androidx.activity:activity-ktx:1.1.0-alpha01
wurden 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 es nicht mehr explizit zu Ihren Abhängigkeiten hinzufügen, wenn Sieactivity-ktx
oder vonactivity-ktx
abhängige Bibliotheken verwenden (z. B.fragment-ktx
). (aosp/987162)
Version 1.0.0
Version 1.0.0
5. September 2019
androidx.activity:activity:1.0.0
und androidx.activity:activity-ktx:1.0.0
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Hauptfunktionen von Version 1.0.0
- ComponentActivity:
ComponentActivity
dient als neue Basisklasse fürFragmentActivity
in Fragment1.1.0
und fürAppCompatActivity
in AppCompat1.1.0
. - activity-ktx: Das Modul
activity-ktx
enthält eineby viewModels
-Kotlin-Eigenschaftserweiterung für den Zugriff auf ViewModels. Dieses Modul ist automatisch enthalten, wenn Siefragment-ktx
aus Fragment1.1.0
einschließen. - OnBackPressedDispatcher: Als zusammensetzbare Alternative zum Überschreiben von
onBackPressed()
können Sie jetzt eineOnBackPressedCallback
aus einem beliebigenLifecycleOwner
(z. B. einem Fragment) registrieren, um Systemereignisse der Zurück-Schaltfläche abzufangen. Eine Lambda-Funktion mit der EmpfängerversionaddCallback
wurde zuactivity-ktx
hinzugefügt. Weitere Informationen finden Sie im Hilfeartikel Benutzerdefinierte Rückwärtsnavigation bereitstellen. - Einstellung von "onRetainCustomNonConfigurationInstance": Die APIs
onRetainCustomNonConfigurationInstance()
und die zugehörigengetLastCustomNonConfigurationInstance()
APIs wurden verworfen. Es wird dringend empfohlen, ViewModels zum Speichern des Nicht-Konfigurationsstatus zu verwenden, da sie eine zusammensetzbare Lösung für alleViewModelStoreOwner
bieten, die die Eigentümerschaft der beibehaltenen Objekte deutlich macht und einenonCleared()
-Callback zum Bereinigen von Ressourcen bietet, wenn die Aktivität schließlich gelöscht ist.
Version 1.0.0-rc01
2. Juli 2019
androidx.activity:activity:1.0.0-rc01
und androidx.activity:activity-ktx:1.0.0-rc01
wurden ohne Änderungen gegenüber 1.0.0-beta01
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-beta01
5. Juni 2019
androidx.activity::activity:1.0.0-beta01
und androidx.activity:activity-ktx:1.0.0-beta01
wurden ohne Änderungen gegenüber 1.0.0-alpha08
veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Version 1.0.0-alpha08
7. Mai 2019
androidx.activity:activity:1.0.0-alpha08
und androidx.activity:activity-ktx:1.0.0-alpha08
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- Nicht abwärtskompatible Ä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 Ihre eigenen Instanzen für Tests usw. erstellen können. aosp/953431onBackPressed()
fürComponentActivity
ist jetzt explizit als@MainThread
aosp/952721 gekennzeichnet
Fehlerkorrekturen
- Ein
ConcurrentModificationException
wurde behoben, wennremove()
innerhalb derhandleOnBackPressed()
-Methode einesOnBackPressedCalback
aufgerufen wurde, das 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
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
In dieser Version wurden wesentliche Änderungen an der Verarbeitung von onBackPressed()
vorgenommen. Weitere Informationen finden Sie in der aktualisierten Dokumentation zur benutzerdefinierten Sicherung.
- Die Methoden für
OnBackPressedCallback
undOnBackPressedDispatcher
wurden als@MainThread
gekennzeichnet. (aosp/943813) - Die Methode
handleOnBackPressed()
gibt keinboolean
mehr zurück. Stattdessen istOnBackPressedCallback
jetzt eine abstrakte Klasse, die aktiviert oder deaktiviert werden kann. Nur wenn die neueisEnabled()
-Methode „true“ zurückgibt, wirdhandleOnBackPressed()
aufgerufen. Dabei muss die Schaltfläche „Zurück“ verarbeitet werden. (aosp/944518) - Die
addCallback
-Methoden vonOnBackPressedDispatcher
geben keineCancellable
-Instanz mehr zurück.OnBackPressedCallback
enthält jetzt eineremove()
-Methode, die diese Funktion erfüllt, sodass duremove()
währendhandleOnBackPressed()
aufrufen kannst. (aosp/944519) (aosp/946316) activity-ktx
enthält jetzt einen empfängerbezogenen Callback 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
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- ComponentActivity enthält jetzt einen zweiten Konstruktor, der einen
@LayoutRes int
verwendet, der das vorherige Verhalten beim Annotieren der AppCompatActivity-Klasse durch@ContentView
ersetzt. Dieser Ansatz funktioniert sowohl in Anwendungs- als auch in Bibliotheksmodulen. (b/128352521) - Die mit
OnBackPressedCallback
verbundenen APIs für ComponentActivity wurden zugunsten der neuenOnBackPressedDispatcher
eingestellt, die übergetOnBackPressedDispatcher()
abgerufen werden kann. (aosp/922523) - Methoden zum Hinzufügen einer neuen
OnBackPressedCallback
zuOnBackPressedDispatcher
geben jetzt einCancellable
-Objekt zurück, wodurch der Callback entfernt werden kann, ohne dass ein expliziter Verweis aufOnBackPressedDispatcher
erforderlich ist. (aosp/922523) - Wenn Sie eine
OnBackPressedCallback
mit einer verknüpftenLifecycleOwner
hinzufügen, wird jetzt dieOnBackPressedCallback
hinzugefügt und entfernt, wenn der Lebenszyklus gestartet bzw. beendet wird. (aosp/922523)
Version 1.0.0-alpha05
13. März 2019
androidx.activity:activity:1.0.0-alpha05
und
androidx.activity:activity-ktx:1.0.0-alpha05
wurden veröffentlicht. Vollständige Liste der Commits
finden Sie hier.
Neue Funktionen
@ContentView
-Annotationssuchen 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
- Die
@ContentView
-Klassenanmerkung wird jetzt unterstützt, mit der Sie angeben können, welche Layout-XML-Datei als Alternative zusetContentView()
aufgeblasen werden soll. (aosp/837619)
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getViewModelStore()
nicht überschrieben werden sollte und in einem zukünftigen Release endgültig gemacht wird. Reichen Sie eine Funktionsanfrage ein, wenn Sie diese Methode momentan überschreiben. (aosp/837619)
Fehlerkorrekturen
- Das
activity
-Modul hängt nun von Version 2.1.0-alpha02 von ViewModel ab, um der Abhängigkeit desactivity-ktx
-Moduls zu entsprechen.
Version 1.0.0-alpha03
17. Dezember 2018
androidx.activity 1.0.0-alpha03
wurde veröffentlicht.
Neue Funktionen
- ComponentActivity implementiert jetzt
BundleSavedStateRegistryOwner
und hängt von der neu veröffentlichten SavedState-Bibliothek [aosp/815133] ab - ComponentActivity funktioniert jetzt um einen Android-Framework-Fehler, der dazu führen würde, dass InputMethodManager die letzte fokussierte Ansicht ausfindig macht [b/37122102].
Version 1.0.0-alpha02
3. Dezember 2018
API-Änderungen
- Es wurde ein Hinweis hinzugefügt, dass
getLifecycle()
nicht überschrieben und vorgenommen wirdfinal
in einer zukünftigen Version. Bitte reichen Sie ein Element ein. überschreiben diese Methode derzeit. (aosp/815834)
Version 1.0.0-alpha01
5. November 2018
androidx.activity 1.0.0-alpha01
stellt vor
ComponentActivity
, eine neue Basisklasse der vorhandenen FragmentActivity
und
AppCompatActivity
.
Neue Funktionen
- Sie können jetzt einen
OnBackPressedCallback
überaddOnBackPressedCallback
registrieren zum Empfangen vononBackPressed()
-Callbacks, ohne die Methode überschreiben zu müssen in Ihren Aktivitäten. - Neuer Kotlin-Attributdelegierung für
by viewModels()
zum Abrufen hinzugefügtViewModel
s von einemComponentActivity
. - Ausstehende Eingabeereignisse wie Klicks werden jetzt in
onStop()
abgebrochen.
API-Änderungen
- Die Implementierung von
LifecycleOwner
undViewModelStoreOwner
wurde vonFragmentActivity
nachComponentActivity
verschoben. onRetainCustomNonConfigurationInstance
wurde verworfen. Verwenden SieViewModel
zum Speichern von Objekten, die Konfigurationsänderungen beibehalten müssen.