Активность
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.10.1 | 1.11.0-rc01 | - | 1.12.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимость от Activity, необходимо добавить репозиторий Google Maven в свой проект. Прочтите репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { def activity_version = "1.10.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Котлин
dependencies { val activity_version = "1.10.1" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.12
Версия 1.12.0-альфа01
20 мая 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha01
, androidx.activity:activity-compose:1.12.0-alpha01
и androidx.activity:activity-ktx:1.12.0-alpha01
. Версия 1.12.0-alpha01 содержит эти коммиты .
Новые возможности
-
ComponentActivity
иComponentDialog
были интегрированы с NavigationEvent1.0.0-alpha01
через APINavigationEventDispatcherOwner
. Теперь вы можете получитьNavigationEventDispatcher
изComponentActivity
через полеnavigationEventDispatcher
. ПосколькуOnBackPressedDispatcher
был переписан поверх новой библиотеки, все предыдущие использования должны продолжать работать правильно. Вам следует использоватьNavigationEventDispatcher
иNavigationEventCallback
в дальнейшем. ( Ib8eed , I6cc44 , Ib7724 , I9a0f7 , b/412597031 , b/415028038 , b/412596729 , b/412597140 , b/412596012 )
Версия 1.11
Версия 1.11.0-rc01
23 апреля 2025 г.
Выпущены androidx.activity:activity:1.11.0-rc01
, androidx.activity:activity-compose:1.11.0-rc01
и androidx.activity:activity-ktx:1.11.0-rc01
. Версия 1.11.0-rc01 содержит эти коммиты .
Версия 1.11.0-beta01
9 апреля 2025 г.
Выпущены androidx.activity:activity:1.11.0-beta01
, androidx.activity:activity-compose:1.11.0-beta01
и androidx.activity:activity-ktx:1.11.0-beta01
. Версия 1.11.0-beta01 содержит эти коммиты .
Версия 1.11.0-альфа02
26 марта 2025 г.
Выпущены androidx.activity:activity:1.11.0-alpha02
, androidx.activity:activity-compose:1.11.0-alpha02
и androidx.activity:activity-ktx:1.11.0-alpha02
. Версия 1.11.0-alpha02 содержит эти коммиты .
Изменения API
- Интегрированы новые
EDGE_NONE
иframeTimeMillis
из Android 16 Beta03 вBackEventCompat
, предоставляемый функциямиhandleOnBackStarted
иhandleOnBackProgressed
классаOnBackPressedCallback
.
Обновления зависимостей
- Activity теперь скомпилирован с API 36. ( I510e8 , b/301910674 )
Версия 1.11.0-альфа01
12 марта 2025 г.
Выпущены androidx.activity:activity:1.11.0-alpha01
, androidx.activity:activity-compose:1.11.0-alpha01
и androidx.activity:activity-ktx:1.11.0-alpha01
. Версия 1.11.0-alpha01 содержит эти коммиты .
Новые возможности
- Добавлен API
MediaCapabilities
вPickVisualMediaRequest
, позволяющий приложениям указывать свои медиавозможности, такие как поддерживаемые типы HDR. ( Ic3ee7 )
Версия 1.10
Версия 1.10.1
26 февраля 2025 г.
Выпущены androidx.activity:activity:1.10.1
, androidx.activity:activity-compose:1.10.1
и androidx.activity:activity-ktx:1.10.1
. Версия 1.10.1 содержит эти коммиты .
Исправление ошибок
-
ViewTree
OnBackPressedDispatcherOwners
иFullyDrawnReporterOwners
теперь могут быть разрешены через непересекающиеся родительские элементы представления, такие какViewOverlay
. См. заметки о выпуске ядра или документацию вViewTree.setViewTreeDisjointParent
для получения дополнительной информации о непересекающихся родительских элементах представления. ( Ie7750 )
Версия 1.10.0
15 января 2025 г.
Выпущены androidx.activity:activity:1.10.0
, androidx.activity:activity-compose:1.10.0
и androidx.activity:activity-ktx:1.10.0
. Версия 1.10.0 содержит эти коммиты .
Важные изменения с версии 1.9.0
-
PhotoPicker
теперь позволяет выбирать изображения по порядку и выбирать, какая вкладка (альбомы или изображения) должна быть видна изначально. - Контракты
PickVisualMedia
иPickMultipleVisualMedia
Activity Result, которые запускают Photo Picker, больше не делегируют полномочия напрямую службам Google Play, если системный Photo Picker недоступен, а используют общедоступное действиеACTION_SYSTEM_FALLBACK_PICK_IMAGES
и связанные с ним дополнения для предоставления единообразного опыта Photo Picker для OEM-производителей и системных приложений в качестве запасного варианта. - Новая локальная композиция
LocalActivity
, которая предоставляетActivity
для текущей области действия, устраняя необходимость для разработчиков получатьActivity
изLocalContext
.
Версия 1.10.0-rc01
11 декабря 2024 г.
Выпущены androidx.activity:activity:1.10.0-rc01
, androidx.activity:activity-compose:1.10.0-rc01
и androidx.activity:activity-ktx:1.10.0-rc01
. Версия 1.10.0-rc01 содержит эти коммиты .
Исправление ошибок
- Исправлена проблема, при которой изменение включенного состояния, когда
PredictiveBackHandler
в данный момент активен, немедленно замыкало обратный вызов. Теперь он завершит текущий обратный вызов независимо от изменений включенного состояния. ( Ib8719 )
Версия 1.10.0-beta01
13 ноября 2024 г.
androidx.activity:activity:1.10.0-beta01
, androidx.activity:activity-compose:1.10.0-beta01
и androidx.activity:activity-ktx:1.10.0-beta01
выпущены без изменений с момента последней альфа-версии. Версия 1.10.0-beta01 содержит эти коммиты .
Версия 1.10.0-альфа03
30 октября 2024 г.
Выпущены androidx.activity:activity:1.10.0-alpha03
, androidx.activity:activity-compose:1.10.0-alpha03
и androidx.activity:activity-ktx:1.10.0-alpha03
. Версия 1.10.0-alpha03 содержит эти коммиты .
Изменения API
- Добавлен новый локальный состав
LocalActivity
, который предоставляетActivity
для текущей области, устраняя необходимость для разработчиков получатьActivity
изLocalContext
. Он также поставляется с новым правилом lint, которое проверяет, когдаLocalContext
неправильно приводится кActivity
. ( I7746a , b/283009666 )
Исправление ошибок
- Из Activity
1.9.3
:PredictiveBackHandler
больше не будет запускать свой обратный вызов после отключения обработчика. Это исправит проблему, при которойNavHost
из Navigation Compose выдавалIndexOutOfBoundsException
. ( I3f75e , b/365027664 , b/340202286 )
Обновление зависимости
- Activity Compose теперь зависит от Compose Runtime 1.7.0 ( I7746a , b/283009666 )
Версия 1.10.0-альфа02
4 сентября 2024 г.
Выпущены androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
и androidx.activity:activity-ktx:1.10.0-alpha02
. Версия 1.10.0-alpha02 содержит эти коммиты .
Изменения в поведении
- Контракты
PickVisualMedia
иPickMultipleVisualMedia
Activity Result, которые запускают Photo Picker, больше не делегируют напрямую службам Google Play, если системный Photo Picker недоступен, а используют публичное действиеACTION_SYSTEM_FALLBACK_PICK_IMAGES
и связанные с ним дополнения для предоставления согласованного опыта Photo Picker для OEM-производителей и системных приложений в качестве резерва. Это не должно повлиять на пользовательский опыт для устройств с последней версией служб Google Play. ( I3513d )
Исправление ошибок
- Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически через моделирование API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней версии. Подробнее см. в этой статье . ( I9496c , b/345472586 )
- Из Activity
1.9.2
: Исправлена проблема, при которой API Activity ComposePredictiveBackHandler
продолжал обрабатывать системный жест «назад» на кадре, в котором он был отключен, что могло привести к тому, что библиотеки, такие как Navigation Compose, обрабатывали «назад» даже при пустом стеке «назад», что приводило к возникновению исключенияIndexOutOfBoundsException
. ( Ie3301 , b/340202286 ) - Из Activity
1.9.1
: Исправлена проблема сPredictiveBackHandler
, из-за которой после выполнения системного возврата попытка выполнитьonBackPressed
изOnBackPressedDispatcher
приводила к сбою. ( I5f1f8 )
Версия 1.10.0-альфа01
26 июня 2024 г.
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
и androidx.activity:activity-ktx:1.10.0-alpha01
выпущены. Эта версия разрабатывается во внутренней ветке.
Новые возможности
- Добавлена поддержка новых функций
PhotoPicker
, представленных в Android V, включая возможность выбирать изображения по порядку и выбирать, какая вкладка (альбомы или изображения) должна быть изначально видна.
Версия 1.9
Версия 1.9.3
16 октября 2024 г.
Выпущены androidx.activity:activity:1.9.3
, androidx.activity:activity-compose:1.9.3
и androidx.activity:activity-ktx:1.9.3
. Версия 1.9.3 содержит эти коммиты .
Исправление ошибок
-
PredictiveBackHandler
больше не будет запускать свой обратный вызов после отключения обработчика. Это исправит проблему, при которойNavHost
из Navigation Compose выдавалIndexOutOfBoundsException
. ( I3f75e , b/340202286 )
Версия 1.9.2
4 сентября 2024 г.
Выпущены androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
и androidx.activity:activity-ktx:1.9.2
. Версия 1.9.2 содержит эти lthcocommits .
Исправление ошибок
- Исправлена ошибка, из-за которой API Activity Compose
PredictiveBackHandler
продолжал обрабатывать системный жест «назад» на кадре, в котором он был отключен, что могло привести к тому, что библиотеки, такие как Navigation Compose, обрабатывали жест «назад» даже при пустом стеке «назад», что приводило к возникновению исключенияIndexOutOfBoundsException
. ( Ie3301 , b/340202286 )
Версия 1.9.1
24 июля 2024 г.
Выпущены androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
и androidx.activity:activity-ktx:1.9.1
. Версия 1.9.1 содержит эти коммиты .
Исправление ошибок
- Исправлена проблема с
PredictiveBackHandler
, из-за которой после выполнения системного возврата попытка выполнитьonBackPressed
изOnBackPressedDispatcher
приводила к сбою. ( I5f1f8 )
Версия 1.9.0
17 апреля 2024 г.
Выпущены androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
и androidx.activity:activity-ktx:1.9.0
. Версия 1.9.0 содержит эти коммиты .
Важные изменения по сравнению с версией 1.8.0
-
ComponentActivity
теперь реализуетOnUserLeaveHintProvider
, чтобы разрешить компонентам выполнять обратные вызовы для событийonUserLeaveHint
. - API
OnBackPressedCallback
,BackHandler
иPredictiveBackHandler
теперь предупреждают при вызовеonBackPressedDispatcher.onBackPressed()
при обработке обратного вызова, поскольку это всегда нарушает Predictive Back Animation . Подробнее см. в руководстве по лучшим практикам . - Оставшиеся API Activity были переписаны на Kotlin, а все расширения, ранее доступные в
activity-ktx
были перемещены вactivity
.activity-ktx
теперь полностью пуст.- В рамках преобразования
ActivityResultLauncher
в Kotlin методgetContract
теперь является абстрактным свойством Kotlin. Это изменение совместимо с бинарным кодом, но нарушает исходный код, если ваша реализацияActivityResultLauncher
написана на Kotlin.
- В рамках преобразования
Версия 1.9.0-rc01
3 апреля 2024 г.
Выпущены androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
и androidx.activity:activity-ktx:1.9.0-rc01
. Версия 1.9.0-rc01 содержит эти коммиты .
Обновление зависимости
- Активность теперь зависит от Profile Installer 1.3.1 .
Версия 1.9.0-beta01
20 марта 2024 г.
Выпущены androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
и androidx.activity:activity-ktx:1.9.0-beta01
. Версия 1.9.0-beta01 содержит эти коммиты .
Исправление ошибок
- Исправлено снижение производительности при запуске Activity, появившееся в Activity
1.9.0-alpha02
и вызванное вызовомOnBackPressedDispatcher
в процессе создания Activity. ( Ie75e3 )
Версия 1.9.0-альфа03
7 февраля 2024 г.
Выпущены androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
и androidx.activity:activity-ktx:1.9.0-alpha03
. Версия 1.9.0-alpha03 содержит эти коммиты.
Предупреждение о ворсе
- API
OnBackPressedCallback
,BackHandler
иPredictiveBackHandler
теперь предупреждают при вызовеonBackPressedDispatcher.onBackPressed()
при обработке обратного вызова, поскольку это всегда нарушает Predictive Back Animation . Подробнее см. в руководстве по передовым методам . ( 1e4222 , 2c950d , b/287505200 )
Исправление ошибок
- Если событие «назад» отправляется из системы, запущенной во время уже выполняющегося предиктивного жеста «назад», то выполняющийся в данный момент предиктивный жест «назад» отменяется, а новое событие «назад» вступает в силу, чтобы начать новый предиктивный жест «назад». ( I3482e )
- Исправлен сбой при первом доступе
onBackPressedDispatcher
изComponentActivity
из фонового потока. Теперь можно безопасно получить доступ кonBackPressedDispatcher
в любом потоке. ( I79955 )
Версия 1.9.0-альфа02
24 января 2024 г.
Выпущены androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
и androidx.activity:activity-ktx:1.9.0-alpha02
. Версия 1.9.0-alpha02 содержит эти коммиты.
Конверсии Kotlin
-
ActivityResultRegistry
был переписан на Kotlin. Это гарантирует, что nullability generics в контракте, переданном вregister
будет правильно передано вActivityResultLauncher
, который вам возвращается. ( I121f0 ) -
ActivityResult
был переписан на Kotlin. РасширенияActivityResult
Kotlin, которые поддерживают деструктуризацию вresultCode
и поляdata
, были перемещены изactivity-ktx
вactivity
. ( I0565a ) - Расширения Kotlin
by viewModels()
дляComponentActivity
иtrackPipAnimationHintView
были перемещены изactivity-ktx
вactivity
. Артефактactivity-ktx
теперь полностью пуст. ( I0a444 )
Исправление ошибок
- API
enableEdgeToEdge
теперь рисует вокруг любых вырезов на дисплее. ( a3644b , b/311173461 ) - Из Activity
1.8.2
: исправлено дополнение, переданное в контракт действия Photo PickerACTION_SYSTEM_FALLBACK_PICK_IMAGES
, чтобы правильно передать ему ключEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, а не использовать дополнение с ключом"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Настоятельно рекомендуется, если вы OEM-производитель, реализующий системный резервный Photo Picker, поддерживать оба дополнения для обеспечения самой широкой совместимости. ( I96a00 )
Версия 1.9.0-альфа01
29 ноября 2023 г.
Выпущены androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
и androidx.activity:activity-ktx:1.9.0-alpha01
. Версия 1.9.0-alpha01 содержит эти коммиты.
Новые возможности
-
ComponentActivity
теперь реализуетOnUserLeaveHintProvider
, чтобы разрешить компонентам выполнять обратные вызовы для событийonUserLeaveHint
. ( I54892 )
Изменения API
-
ComponentActivity
был переписан на Kotlin. ( I14f31 ) -
ActivityResultCaller
был переписан на Kotlin. ( Ib02e4 ) -
ActivityResultLauncher
был переписан на Kotlin. В рамках этого преобразования методgetContract
теперь является абстрактным свойством Kotlin. Это изменение совместимо с бинарным кодом, но нарушает исходный код, если ваша реализацияActivityResultLauncher
написана на Kotlin. ( Id4615 ) -
PickVisualMediaRequest
теперь имеет тот же минимальный уровень API 19, что и контрактPickVisualMedia
Activity Result. ( Id6e21 )
Обновление зависимости
- Активность теперь зависит от Core
1.13.0-alpha01
. ( I14f31 )
Версия 1.8
Версия 1.8.2
13 декабря 2023 г.
Выпущены androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
и androidx.activity:activity-ktx:1.8.2
. Версия 1.8.2 содержит эти коммиты.
Исправление ошибок
- Исправлен дополнительный параметр, переданный в контракт действия Photo Picker
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
, чтобы правильно передать ему ключEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
, а не использовать дополнительный параметр с ключом"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Настоятельно рекомендуется, если вы OEM-производитель, реализующий резервный Photo Picker, поддерживать оба дополнительных параметра для обеспечения самой широкой совместимости. ( I96a00 )
Версия 1.8.1
15 ноября 2023 г.
Выпущены androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
и androidx.activity:activity-ktx:1.8.1
. Версия 1.8.1 содержит эти коммиты.
Исправление ошибок
-
OnBackPressedDispatcher
теперь продолжает отправляться в правильныйOnBackPressedCallback
даже после добавления новогоOnBackPressedCallback
во время обработки жеста «назад». ( Id0ff6 )
Версия 1.8.0
4 октября 2023 г.
Выпущены androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
и androidx.activity:activity-ktx:1.8.0
. Версия 1.8.0 содержит эти коммиты.
Важные изменения по сравнению с версией 1.7.0
- Predictive Back -
OnBackPressedCallback
теперь предлагает новые обратные вызовы Predictive Back для обработки начала жеста назад, прогресса на протяжении жеста и отмены жеста назад в дополнение к предыдущему обратному вызовуhandleOnBackPressed()
для момента фиксации жеста назад. Это также идет сPredictiveBackHandler
Composable для обработки событий предиктивного жеста назад в Activity Compose. Он предоставляет поток объектов BackEventCompat, которые должны быть собраны в приостанавливающей лямбде, которую вы предоставляете:
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()
теперь устарел в пользу API для обработки обратного вызова. Разработчики теперь должны использовать OnBackPressedDispatcher
вместо того, чтобы переопределять этот метод.
- EdgeToEdge — добавлен
ComponentActivity.enableEdgeToEdge()
для простой настройки отображения от края до края с сохранением обратной совместимости.
Версия 1.8.0-rc01
20 сентября 2023 г.
Выпущены androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
и androidx.activity:activity-ktx:1.8.0-rc01
. Версия 1.8.0-rc01 содержит эти коммиты.
Версия 1.8.0-beta01
6 сентября 2023 г.
Выпущены androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
и androidx.activity:activity-ktx:1.8.0-beta01
. Версия 1.8.0-beta01 содержит эти коммиты.
Улучшение документации
- Улучшена документация
BackEventCompat
. ( aosp/2722254 )
Версия 1.8.0-альфа07
23 августа 2023 г.
Выпущены androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
и androidx.activity:activity-ktx:1.8.0-alpha07
. Версия 1.8.0-alpha07 содержит эти коммиты.
Новые возможности
Activity Compose добавил новый
PredictiveBackHandler
Composable для обработки событий предиктивного жеста назад. Он предоставляетFlow
объектовBackEventCompat
, которые должны быть собраны в приостанавливающей лямбе, которую вы предоставляете: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 } }
Он также поставляется с предупреждением времени компиляции через правило lint, чтобы гарантировать, что
Flow
вызываетcollect()
. ( Id2773 , b/294884345 )onBackPressedDispatcher
вComponentActivity
теперь инициализируется лениво, поэтому он создается только при необходимости. ( I0bf8e )
Исправление ошибок
-
ComponentActivity
больше не будет отображать NPE на Android 13, когда он получает обратный вызовonBackPressed()
, а Activity уже былDESTROYED
. ( Idb055 , b/291869278 ) - Удалены случаи использования экспериментального API
isAtLeastU()
( Ie9117 , b/289269026 )
Версия 1.8.0-альфа06
21 июня 2023 г.
Выпущены androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
и androidx.activity:activity-ktx:1.8.0-alpha06
. Версия 1.8.0-alpha06 содержит эти коммиты.
Новые возможности
-
OnBackPressedDispatcher
теперь корректно отменяет любые обратные вызовы, которые удаляются во время предиктивного жеста «назад». ( I3f90f )
Изменения API
- При передаче
SystemBarStyle.auto
в APIenableEdgeToEdge
теперь можно переопределить лямбда-параметрdetectDarkMode
, чтобы предоставить пользовательскую логику для обнаружения ночного режима. ( aosp/2546393 , b/278263793 )
Версия 1.8.0-альфа05
7 июня 2023 г.
Выпущены androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
и androidx.activity:activity-ktx:1.8.0-alpha05
. Эта версия разрабатывается во внутренней ветке.
Изменения API
- Activity теперь предоставляет класс
BackEventCompat
, который служит обратно совместимой версиейBackEvent
, отделенной от фреймворкового классаBackEvent
. - Критическое изменение: методы
handleOnBackStarted
иhandleOnBackProgressed
OnBackPressedCallback
теперь получают экземплярandroidx.activity.BackEventCompat
, а не класс фреймворкаandroid.window.BackEvent
. Эквивалентные API@VisibleForTesting
вOnBackPressedDispatcher
также были обновлены. - Конструктор
OnBackPressedDispatcher
теперь принимает необязательный экземплярConsumer<Boolean>
, который позволяет владельцам диспетчера получать обратный вызов всякий раз, когда количество включенных обратных вызовов изменяется с нуля на ненулевое значение или наоборот.
Исправление ошибок
- Из задания
1.7.2
: исправление сбояReportDrawn
при выходе за пределы экрана до вызоваreport
. ( Ic46f1 , b/260506820 )
Версия 1.8.0-альфа04
10 мая 2023 г.
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
и androidx.activity:activity-ktx:1.8.0-alpha04
выпущены. Это было выпущено из внутренней ветки.
Исправление ошибок
- Из Activity 1.7.1 : -
ReportFullyDrawExecuter
больше не дает утечек при использованииComponentActivity
сActivityScenario
. ( Id2ff2 , b/277434271 )
Версия 1.8.0-альфа03
12 апреля 2023 г.
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
и androidx.activity:activity-ktx:1.8.0-alpha03
выпущены. Это было выпущено из внутренней ветки.
Новые возможности
- Добавлен
ComponentActivity.setUpEdgeToEdge()
для простой настройки отображения от края до края с сохранением обратной совместимости.
Изменения API
-
ComponentActivity.onBackPressed()
теперь устарел в пользу API для обработки обратного вызова. Разработчики теперь должны использоватьOnBackPressedDispatcher
вместо того, чтобы переопределять этот метод. ( Ibce2f , b/271596918 ) -
ComponentDialog
иComponentActivity
теперь содержат открытый APIinitViewTreeOwners()
который можно использовать для инициализации всех владельцев деревьев представлений перед настройкой представления содержимого. ( Ibdce0 , b/261314581 )
Исправление ошибок
- Исправлена ошибка, из-за которой фрагменты неправильно делали MenuHosts недействительными, что приводило к неожиданному поведению других меню в Activity. ( I9404e , b/244336571 )
Другие изменения
-
ActivityResultRegister
теперь использует KotlinRandom
вместо Java. ( I4d98f , b/272096025 )
Версия 1.8.0-альфа02
8 марта 2023 г.
Выпущены androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
и androidx.activity:activity-ktx:1.8.0-alpha02
. Разработано из внутренней ветки.
Обновление зависимости
- Из Activity
1.7.0-rc01
: Activity теперь зависит отLifecycle 2.6.0
.
Версия 1.8.0-альфа01
8 февраля 2023 г.
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
и androidx.activity:activity-ktx:1.8.0-alpha01
выпущены. Это было построено из внутренней ветки.
Новые возможности
- Класс
OnBackPressedCallback
теперь содержит новые обратные вызовы Predictive Back progress для обработки начала жеста «назад», хода выполнения жеста и отмены жеста «назад» в дополнение к предыдущему обратному вызовуhandleOnBackPressed()
при завершении жеста «назад».
Версия 1.7
Версия 1.7.2
24 мая 2023 г.
Выпущены androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
и androidx.activity:activity-ktx:1.7.2
. Версия 1.7.2 содержит эти коммиты.
Исправление ошибок
- Исправлен сбой
ReportDrawn
при уходе с экрана до вызоваreport
. ( Ic46f1 , b/260506820 )
Версия 1.7.1
19 апреля 2023 г.
Выпущены androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
и androidx.activity:activity-ktx:1.7.1
. Версия 1.7.1 содержит эти коммиты.
Исправление ошибок
-
ReportFullyDrawExecuter
больше не допускает утечек при использованииComponentActivity
сActivityScenario
. ( Id2ff2 , b/277434271 )
Версия 1.7.0
22 марта 2023 г.
Выпущены androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
и androidx.activity:activity-ktx:1.7.0
. Версия 1.7.0 содержит эти коммиты.
Важные изменения по сравнению с версией 1.6.0
- Контракты действий Photo Picker в
PickVisualMedia
иPickMultipleVisualMedia
были обновлены и теперь содержат дополнительный резервный вариант для случаев, когдаMediaStore.ACTION_PICK_IMAGES
недоступен, что позволяет OEM-производителям и системным приложениям, таким как службы Google Play, обеспечивать единообразный опыт Photo Picker на более широком диапазоне устройств Android и уровней API путем реализации действия резервного варианта . Photo Picker будет использовать этот резервный вариант, если он доступен, прежде чем переходить к использованиюIntent.ACTION_OPEN_DOCUMENT
, который по-прежнему поддерживает все устройства API 19 и выше. -
ComponentDialog
теперь реализуетSavedStateRegistryOwner
и имеет доступ к своему собственномуSavedStateRegistry
и устанавливаетSavedStateRegistryOwner
для своегоViewTree
. Теперь можно использовать Jetpack Compose вComponentDialog
, поскольку он соответствует какLifecycleOwner
, так иSavedStateRegistryOwner
прикрепленным к окну через требования APIViewTree
. -
IntentSenderRequest.Builder.setFlags()
теперь позволяет устанавливать несколько флагов изIntent
, а не только один флаг.
Конвертация Котлина
Ряд классов Activity были преобразованы в Kotlin. Все преобразованные классы по-прежнему сохраняют свою бинарную совместимость с предыдущими версиями. Следующие классы имеют исходные несовместимые изменения для классов, написанных на Kotlin: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
В таблице ниже приведены исходные преобразования для новой версии Activity:
Задание 1.5 | Задание 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry | override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher | override val onBackPressedDispatcher = onBackPressedDispatcher |
Эти классы также были преобразованы в Kotlin, но остаются совместимыми с исходным кодом: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
и OnBackPressedDispatcher
API FullyDrawnReporter
ComponentActivity
теперь предоставляет экземпляр FullyDrawnReporter
, который позволяет нескольким компонентам сообщать о готовности к взаимодействию. ComponentActivity
будет ждать завершения всех компонентов, прежде чем вызывать reportFullyDrawn()
от вашего имени. Эти API заботятся о требованиях к времени для вас и не должны вызываться как часть вызова onDraw
.
Эти API-интерфейсы призваны обеспечивать:
- Передача сигнала среде выполнения Android о завершении запуска для обеспечения включения всего кода, выполняемого во время многокадровой последовательности запуска, и приоритизации его для фоновой компиляции.
- Сигнализация Macrobenchmark и Play Vitals, когда ваше приложение следует считать полностью готовым к запуску, чтобы вы могли отслеживать производительность.
Добавлены три API Activity Compose, чтобы сделать более удобным использование FullyDrawnReporter
из отдельных компонуемых объектов:
-
ReportDrawn
указывает на то, что ваш компонуемый объект сразу готов к взаимодействию. -
ReportDrawnWhen
принимает предикат (например,list.count > 0
), чтобы указать, когда ваш компонуемый объект готов к взаимодействию. -
ReportDrawnAfter
использует метод приостановки, который по завершении указывает на готовность к взаимодействию.
Обновления зависимостей
- Активность теперь зависит от жизненного цикла
2.6.1
. ( 8fc31d ) - Активность теперь зависит от ProfileInstaller
1.3.0
. ( 83d3b1 )
Версия 1.7.0-rc01
8 марта 2023 г.
Выпущены androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
и androidx.activity:activity-ktx:1.7.0-rc01
. Версия 1.7.0-rc01 содержит эти коммиты.
Обновление зависимости
- Активность теперь зависит от
Lifecycle 2.6.0
.
Версия 1.7.0-beta02
22 февраля 2023 г.
Выпущены androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
и androidx.activity:activity-ktx:1.7.0-beta02
. Версия 1.7.0-beta02 содержит эти коммиты.
Изменения API
- Действие и дополнительные возможности, используемые контрактами
PickVisualMedia
иPickMultipleVisualMedia
в качестве резерва для случаев, когдаMediaStore.ACTION_PICK_IMAGES
недоступен, теперь являются публичными константами, которые обеспечивают стабильность API для OEM-производителей и системных приложений, которые хотят обеспечить единообразный опыт Photo Picker. Реализация этого резерва по-прежнему ограничена только системными приложениями. ( Icd320 )
Версия 1.7.0-beta01
8 февраля 2023 г.
Выпущены androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
и androidx.activity:activity-ktx:1.7.0-beta01
. Версия 1.7.0-beta01 содержит эти коммиты.
Новые возможности
-
IntentSenderRequest.Builder.setFlags()
теперь позволяет вам устанавливать несколько флагов изIntent
, а не только один флаг. ( Iac04c )
Исправление ошибок
- Резервный вариант для
PickVisualMedia
в случае, когда фреймворк Photo Picker недоступен, теперь корректно ограничивает обработку приложениями, установленными в системном образе устройства. ( If8ae6 )
Конверсии Kotlin
-
ActivityResultRegistryOwner
теперь написан на Kotlin. Это изменение несовместимо с исходным кодом для классов, написанных на Kotlin — теперь необходимо переопределить свойствоactivityResultRegistry
, а не реализовывать предыдущую функциюgetActivityResultRegistry()
. ( I0b00e ) -
OnBackPressedDispatcherOwner
теперь написан на Kotlin. Это изменение несовместимо с исходным кодом для классов, написанных на Kotlin — теперь необходимо переопределить свойствоonBackPressedDispatcher
вместо реализации предыдущей функцииgetOnBackPressedDispatcher
. ( Ia277d ) -
ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
иOnBackPressedDispatcher
теперь написаны на Kotlin. ( I1a73e , Iada92 , aosp/2410754 , I18ac7 , b/257291701 )
Версия 1.7.0-альфа04
25 января 2023 г.
Выпущены androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
и androidx.activity:activity-ktx:1.7.0-alpha04
. Версия 1.7.0-alpha04 содержит эти коммиты.
Новые возможности
- Контракты
PickVisualMedia
иPickMultipleVisualMedia
Activity Result теперь будут использовать сервисы Google Play, предоставляемые Photo Picker, где это возможно, в случаях, когда система Android, предоставляемая Photo Picker (например,MediaStore.ACTION_PICK_IMAGES
), недоступна. APIisPhotoPickerAvailable()
, который обнаруживает только предоставленный системой Android Photo Picker, устарел. Рекомендуется использовать новый APIisPhotoPickerAvailable(Context)
, который вернет, если доступен любой из Photo Picker. ( I55be6 )
Версия 1.7.0-альфа03
11 января 2023 г.
Выпущены androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
и androidx.activity:activity-ktx:1.7.0-alpha03
. Версия 1.7.0-alpha03 содержит эти коммиты.
Новые возможности
-
ComponentDialog
теперь реализуетSavedStateRegistryOwner
и имеет доступ к своему собственномуSavedStateRegistry
и устанавливаетSavedStateRegistryOwner
для своего ViewTree. Теперь можно использовать Jetpack Compose вComponentDialog
, поскольку он соответствует какLifecycleOwner
, так иSavedStateRegistryOwner
прикрепленным к окну через требования API ViewTree. ( Idca17 , I73468 b/261162296 )
Изменения API
- Добавлен составной объект
ReportDrawn
, который немедленно отмечает активность как готовую к вызовуreportFullyDrawn
. ( Ic5b14 , b/259687964 )
Конверсии Kotlin
- Классы
ActvitiyResultCallback
иOnBackPressedCallback
были преобразованы в Kotlin с сохранением исходного кода и двоичной совместимости. ( Ifc5e5 , Ide1b0 , b/257291701 )
Версия 1.7.0-альфа02
24 октября 2022 г.
Выпущены androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
и androidx.activity:activity-ktx:1.7.0-alpha02
. Версия 1.7.0-alpha02 содержит эти коммиты.
Исправление ошибок
- Из Activity
1.6.1
: Исправлена проблема с контрактомPickMultipleVisualMedia
Activity Result, который не запускался на устройствах Android R при использовании значения по умолчанию дляmaxItems
. ( Ie2776 , b/249182130 )
Версия 1.7.0-альфа01
5 октября 2022 г.
Выпущены androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
и androidx.activity:activity-ktx:1.7.0-alpha01
. Версия 1.7.0-alpha01 содержит эти коммиты.
API FullyDrawnReporter
ComponentActivity
теперь предоставляет экземпляр FullyDrawnReporter
, который позволяет нескольким компонентам сообщать о готовности к взаимодействию. ComponentActivity
будет ждать завершения всех компонентов, прежде чем вызывать reportFullyDrawn()
от вашего имени. Эти API заботятся о требованиях к времени для вас и не должны вызываться как часть вызова onDraw
.
Эти API-интерфейсы призваны обеспечивать:
- Сигнализация времени выполнения Android при завершении запуска, чтобы гарантировать, что весь код запускается во время многократной последовательности запуска, включенных и приоритетных для фонового компиляции.
- Сигнализация MacRobenchmark и воспроизводить жизненно важные органы, когда ваше приложение следует считать полностью нарисованным для метрик запуска, чтобы вы могли отслеживать производительность.
Были добавлены два API -интерфейсы, чтобы сделать API более удобной для использования FullyDrawnReporter
из отдельных композиционных продуктов:
-
ReportDrawnWhen
когда требуется предикат (то естьlist.count > 0
), чтобы указать, когда ваша композиция готова к взаимодействию. -
ReportDrawnAfter
принимает приостановление метода, который, когда он завершается, указывает на то, что вы готовы к взаимодействию.
Версия 1.6.1
Версия 1.6.1
24 октября 2022 г.
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
, и androidx.activity:activity-ktx:1.6.1
выпускаются. Версия 1.6.1 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема с контрактом на результат активности
PickMultipleVisualMedia
, не запускающегося на устройствах Android R при использовании значения по умолчанию дляmaxItems
. ( IE2776 , B/249182130 )
Версия 1.6.0
Версия 1.6.0
21 сентября 2022 г.
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
, и androidx.activity:activity-ktx:1.6.0
выпускаются. Версия 1.6.0 содержит эти коммиты.
Важные изменения с 1.5.0
- Добавлены
ActivityResultContracts.PickVisualMedia
иActivityResultContracts.PickMultipleVisualMedia
для предоставления обратного совместимого договора, который используетMediaStore.ACTION_PICK_IMAGES
, когда доступен сборщик фото иIntent.ACTION_OPEN_DOCUMENT
когда он недоступен. - Интегрировал
OnBackInvokedCallback
в Android 13 вOnBackPressedDispatchers
, предоставленныеComponentActivity
иComponentDialog
. Это гарантирует, что все API, основанные наOnBackPressedDispatcher
, работая при включении прогнозирующего жеста .
Версия 1.6.0-RC02
7 сентября 2022 г.
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
и androidx.activity:activity-ktx:1.6.0-rc02
выпускаются. Версия 1.6.0-RC02 содержит эти коммиты.
Исправление ошибок
-
OnBackPressedDispatcher
теперь регистрируетOnBackInvokedCallback
сPRIORITY_DEFAULT
вместоPRIORITY_OVERLAY
. ( I3901f ) - В классах, которые расширяют
ComponentActivity
теперь всегда будут отправлены оба ихonMultiWindowModeChanged()
. ( IC4D85 ) -
ActivityResultRegistry
больше не вернет результат вActivityResultCallback
, когдаlaunch
вызовов бросает любоеException
, а обратный вызов был зарегистрирован безLifecycleOwner
. ( IA7FF7 , B/238350794 ) -
ComponentActivity
теперь будет правильно отправлять вызовы меню без необходимости вызов супер функции в вашей деятельности. ( IE33C5 , B/238057118 )
Обновление зависимости
- Библиотека
Activity
теперь зависит от жизненного цикла2.5.1
. ( IF6697 )
Версия 1.6.0-RC01
24 августа 2022 г.
androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
и androidx.activity:activity-ktx:1.6.0-rc01
выпускаются. Версия 1.6.0-RC01 содержит эти коммиты.
Исправление ошибок
- Инициализация
OnBackPressedDispatcher
больше не будет вызыватьClassVerificationError
и при использовании версий SDK до 33. ( IC32E1 ) - Классы, которые переопределяют
ComponentActivity
onPictureInPictureModeChanged()
обратный вызов, теперь всегда будут отправлены их обратные вызовы. ( Ib7fdb )
Версия 1.6.0-бета01
10 августа 2022 г.
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
и androidx.activity:activity-ktx:1.6.0-beta01
. Версия 1.6.0-BETA01 содержит эти коммиты.
API меняется
- Оценка устарела методы
startActivityForResult
иstartIntentSenderForResult
наComponentActivity
с@NonNull
, потому что прохождениеnull
всегда привело к аварии. ( ID2A25 , B/231476082 )
Исправление ошибок
- Из деятельности
1.5.1
:ActivityResultRegistry
больше не вернет результат вActivityResultCallback
, когдаlaunch
вызовов бросает любоеException
, а обратный вызов был зарегистрирован безLifecycleOwner
. ( IA7FF7 , B/238350794 ) - Из деятельности
1.5.1
:ComponentActivity
теперь будет должным образом отправлять вызовы меню вonPrepareOptionMenu()
,onCreateOptionsMenu()
иonOptionsItemSelected()
переопределяется без необходимости вызовать супер функции. ( IE33C5 , B/238057118 )
Обновление зависимости
- От действия
1.5.1
: БиблиотекаActivity
теперь зависит отLifecycle
версии2.5.1
. ( IF6697 )
Версия 1.6.0-Alpha05
15 июня 2022 г.
androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
и androidx.activity:activity-ktx:1.6.0-alpha05
. Версия 1.6.0-Alpha05 была разработана в частном филиале перед выпуском и не имеет общественных коммитов.
API меняется
-
minCompileSdk
сейчас 33, чтобы соответствовать TIRAMISU BETA 3 SDK
Исправление ошибок
- Фиксированный сбой на более старых устройствах при прохождении проверки расширения SDK для
PickVisualMedia
ActivityResultContract
, чтобы теперь он должен работать сACTION_OPEN_DOCUMENT
на устройствах под управлением Android 10 и ниже.
Версия 1.6.0-Alpha04
18 мая 2022 г.
androidx.activity:activity:1.6.0-alpha04
и androidx.activity:activity-ktx:1.6.0-alpha04
выпускаются.
Исправление ошибок
- Исправлена ошибка в
PickVisualMediaRequest
, где попытка создать запрос, либо через строитель, так и функцию Kotlin верхнего уровня, приведет к переполнению стека. - Интегрировал
OnBackInvokedCallback
в Android 13 Dev Beta 2 вOnBackPressedDispatcher
, предоставленныйComponentDialog
. Это гарантирует, что все API, основанные наOnBackPressedDispatcher
, работая при включении прогнозирующего жеста .
Версия 1.6.0-Alpha03
27 апреля 2022 г.
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
и androidx.activity:activity-ktx:1.6.0-alpha03
выпускаются.
- Примечание. Эта версия будет компилироваться только против разработчика Android 13 Beta 1 SDK.
Новые возможности
- Добавлены
ActivityResultContracts.PickVisualMedia
иActivityResultContracts.PickMultipleVisualMedia
для предоставления обратного совместимого договора, который используетMediaStore.ACTION_PICK_IMAGES
, когда доступен сборщик фото иIntent.ACTION_OPEN_DOCUMENT
когда он недоступен. - Интегрировал
OnBackInvokedCallback
в Android 13 Dev Beta 1 вOnBackPressedDispatcher
, предоставленныйComponentActivity
. Это гарантирует, что все API, основанные наOnBackPressedDispatcher
, работая при включении прогнозирующего жеста .
Версия 1.6.0-Alpha01
23 марта 2022 года
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
и androidx.activity:activity-ktx:1.6.0-alpha01
высвобождаются.
- Примечание. Эта версия будет компилироваться только против разработчика Android 13 Preview 2 SDK.
Новые возможности
- Интегрированные изменения в Android 13 Dev Preview 2 в
ComponentActivity
.
Версия 1.5.1
Версия 1.5.1
27 июля 2022 г.
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
, и androidx.activity:activity-ktx:1.5.1
выпускаются. Версия 1.5.1 содержит эти коммиты.
Исправление ошибок
ActivityResultRegistry
больше не вернет результат вActivityResultCallback
, когда вызовlaunch()
вызовет любоеException
, а обратный вызов был зарегистрирован безLifecycleOwner
. ( IA7FF7 , B/238350794 )ComponentActivity
теперь будет правильно отправлять вызовы меню вonPrepareOptionMenu()
,onCreateOptionsMenu()
иonOptionsItemSelected()
переопределения без необходимости вызовать супер функцию. ( IE33C5 , B/238057118 )
Обновление зависимости
- Библиотека
Activity
теперь зависит от жизненного цикла2.5.1
. ( IF6697 )
Версия 1.5.0
Версия 1.5.0
29 июня 2022 г.
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
, и androidx.activity:activity-ktx:1.5.0
выпускаются. Версия 1.5.0 содержит эти коммиты.
Важные изменения с 1.4.0
- ComponentDialog -
ComponentDialog
- это подклассDialog
, который включает в себяOnBackPressedDispatcher
, который будет вызван при нажатии кнопки «Система» и диалоговое окно. Важно отметить, что этот подкласс также устанавливаетViewTreeOnBackPressedDispatcherOwner
, позволяя представлениям общий способ получить правильный диспетчер, независимо от того, существует ли он вComponentActivity
илиComponentDialog
. - Интерфейсы обратного вызова -
ComponentActivity
теперь реализует набор модульных интерфейсов обратного вызова, которые можно использовать вместо обратныхActivity
. Эти интерфейсы включают в себя следующее:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- CreationExtras Integration -
ComponentActivity
теперь имеет возможность обеспечить бездействиеViewModelProvider.Factory
через LifeCycle2.5.0
'CreationExtras
.
Другие изменения
- Конструктор без параметров для
ActivityResultContracts.CreateDocument
был устарел и заменен новым конструктором, который принимает конкретный тип MIME (например, «Image/png»), как требуетсяIntent.ACTION_CREATE_DOCUMENT
.
Версия 1.5.0-RC01
11 мая 2022 г.
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
и androidx.activity:activity-ktx:1.5.0-rc01
высвобождаются без изменений из 1.5.0-бита01. Версия 1.5.0-RC01 содержит эти коммиты.
Версия 1.5.0-бета01
20 апреля 2022 г.
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
и androidx.activity:activity-ktx:1.5.0-beta01
выпускаются. Версия 1.5.0-бета01 содержит эти коммиты.
Обновления зависимости
- Активность теперь зависит от жизненного цикла
2.4.0-beta01
.
Версия 1.5.0-Alpha05
6 апреля 2022 г.
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
и androidx.activity:activity-ktx:1.5.0-alpha05
. Версия 1.5.0-Alpha05 содержит эти коммиты.
Исправление ошибок
-
ComponentActivity
onPanelClosed()
теперь также вызывает SuperonPanelClosed()
, решает проблему, при которой методonContextMenuClosed
не будет вызван. ( IB6F77 )
Версия 1.5.0-Alpha04
23 марта 2022 года
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
и androidx.activity:activity-ktx:1.5.0-alpha04
. Версия 1.5.0-Alpha04 содержит эти коммиты.
Исправление ошибок
-
SavedStateViewFactory
теперь поддерживает использованиеCreationExtras
, даже если он был инициализирован с помощьюSavedStateRegistryOwner
. Если предоставляются дополнения, инициализированные аргументы игнорируются. ( I6c43b , b/224844583 )
Версия 1.5.0-Alpha03
23 февраля 2022 года
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
и androidx.activity:activity-ktx:1.5.0-alpha03
. Версия 1.5.0-Alpha03 содержит эти коммиты.
API меняется
- Теперь вы можете перенести
CreationExtras
в действиеby viewModels()
( i6a3e6 , b/217600303 )
Версия 1.5.0-Alpha02
9 февраля 2022 г.
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
и androidx.activity:activity-ktx:1.5.0-alpha02
. Версия 1.5.0-Alpha02 содержит эти коммиты.
Новые возможности
-
ComponentActivity
теперь реализует интерфейсOnPictureInPictureModeChangedProvider
, позволяющий любому компоненту получать события изменения в картинке в картине. ( I9f567 ) -
ComponentActivity
теперь реализует интерфейсOnMultiWindowModeChangedProvider
, чтобы позволить любому компоненту принимать события изменения режима с несколькими окнами. ( I62d91 )
Версия 1.5.0-Alpha01
26 января 2022 г.
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
и androidx.activity:activity-ktx:1.5.0-alpha01
. Версия 1.5.0-Alpha01 содержит эти коммиты.
Новые возможности
-
ComponentActivity
теперь интегрируется с ViewModel CreationExtras, введенным в рамках жизненного цикла2.5.0-alpha01
. ( IE7E00 , B/207012584 ) - Добавлен
ComponentDialog
, подклассDialog
, который включает в себяOnBackPressedDispatcher
, который будет вызван, когда кнопка «Окна» нажатится, когда диалог виден. Важно отметить, что этот подкласс также устанавливаетViewTreeOnBackPressedDispatcherOwner
, позволяя представлениям общий способ получить правильный диспетчер, независимо от того, существует ли он вComponentActivity
илиComponentDialog
. ( I8a1bc ) -
ComponentActivity
теперь реализует новый интерфейсOnNewIntentProvider
, чтобы позволить любому компоненту получать эти события. ( If1f8b ) -
ComponentActivity
теперь реализует новый интерфейсOnConfigurationChangedProvider
, чтобы позволить любому компоненту получать эти события. ( If623b ) -
ComponentActivity
теперь реализует новый интерфейсOnTrimMemoryProvider
, чтобы позволить любому компоненту получать эти события. ( IA9295 )
API меняется
- Конструктор без параметров для
ActivityResultContracts.CreateDocument
был устарел и заменен новым конструктором, который принимает конкретный тип MIME (например,"image/png"
), как требуетсяIntent.ACTION_CREATE_DOCUMENT
. ( I2bec6 ) -
OnBackPressedDispatcherOwner
связанный с представлением, теперь может быть получен черезViewTreeOnBackPressedDispatcherOwner
, а не полагаться на составContext
. ( I74685 )
Исправление ошибок
- Исправлена сбоем при доступе к
ViewModel
в первый раз из обратного вызововregisterForActivityResult()
или обратных вызовов вLifecycleObserver
, добавленную в рамкахinit
ComponentActivity
. ( IFE83F )
Версия 1.4.0
Версия 1.4.0
27 октября 2021 г.
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
, и androidx.activity:activity-ktx:1.4.0
выпускаются. Версия 1.4.0 содержит эти коммиты.
Важные изменения с 1.3.0
- Androidx
ComponentActivity
теперь реализует интерфейсMenuHost
. Это позволяет любому компоненту добавлять элементы меню вActionBar
, добавив в действие экземплярMenuProvider
. КаждоеMenuProvider
можно добавить с помощьюLifecycle
, который автоматически контролирует видимость этих пунктов меню на основе состоянияLifecycle
и обрабатывать удалениеMenuProvider
, когдаLifecycle
уничтожен. - Класс
ActivityResultContract
был переписан в Kotlin, чтобы гарантировать, что разработчики, пишущие пользовательские контракты в Kotlin, могут определить правильную нулясь для их классов ввода и вывода. - Класс
ActivityResultContracts
и его контракты были переписаны в Котлине, чтобы обеспечить надлежащую нуль.
Версия 1.4.0-RC01
13 октября 2021 г.
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
и androidx.activity:activity-ktx:1.4.0-rc01
высвобождаются. Версия 1.4.0-RC01 содержит эти коммиты.
Исправление ошибок
-
ActivityResultRegistry
больше не вернет результат вActivityResultCallback
, когдаlaunch
вызовов бросает любоеException
. ( IF4F91 , B/200845664 )
Версия 1.4.0-бета01
29 сентября 2021 г.
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
и androidx.activity:activity-ktx:1.4.0-beta01
выпускаются. Версия 1.4.0-бета01 содержит эти коммиты.
API меняется
- Исправлена тип для
ActivityResultContracts.OpenMultipleDocuments
иActivityResultContracts.GetMultipleContents
, которые заставили затем использовать выходной типList<? extends Uri>
при использовании кода из языка программирования Java. ( If71de ) - Общественные константы в рамках
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
иActivityResultContracts.RequestMultiplePermissions
теперь доступны при использовании Kotlin через свои нынеCompanion
объекты. ( AOSP/1832555 )
Обновления документации
- Сообщение об испаке для API, которые теперь обрабатывают API -интерфейсы результатов деятельности , а именно
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
иonRequestPermissionsResult
, все были расширены с более подробной информацией. ( CCE80F )
Версия 1.4.0-Alpha02
15 сентября 2021 г.
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
и androidx.activity:activity-ktx:1.4.0-alpha02
. Версия 1.4.0-Alpha02 содержит эти коммиты.
Новые возможности
- Артефакт
activity-compose
в настоящее время содержит ошибку Lint LintLaunchDuringComposition
, которая мешает вам вызвать методlaunch
ActivityResultLauncher
как часть композиции, поскольку композиция должна быть свободна от побочного эффекта. Используйте API для обработки побочных эффектов . ( 7C2BBE , B/191347220 )
API меняется
- Класс
ActivityResultContract
был переписан в Kotlin, чтобы гарантировать, что разработчики, пишущие пользовательские контракты в Kotlin, могут определить правильную нулясь для их классов ввода и вывода. ( I8a8f5 ) - Класс
ActivityResultContracts
и его контракты были переписаны в Котлине, чтобы обеспечить надлежащую нуль. ( I69802 )
Версия 1.4.0-Alpha01
1 сентября 2021 г.
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
и androidx.activity:activity-ktx:1.4.0-alpha01
. Версия 1.4.0-Alpha01 содержит эти коммиты.
Новые возможности
- Androidx
ComponentActivity
теперь реализует интерфейсMenuHost
. Это позволяет любому компоненту добавлять элементы меню вActionBar
, добавив экземплярMenuProvider
в действие. КаждоеMenuProvider
можно добавить с помощьюLifecycle
, который автоматически контролирует видимость этих пунктов меню на основе состоянияLifecycle
и обрабатывать удалениеMenuProvider
, когдаLifecycle
уничтожен. ( 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)
}
Поведение изменяется
-
ActivityResultRegistry
теперь будет выброситьIllegalStateException
при попытке позвонитьlaunch()
наActivityResultLauncher
, который не зарегистрирован или который не был зарегистрирован. ( IDA75D , B/192567522 )
Внешний вклад
Версия 1.3.1
Версия 1.3.1
4 августа 2021 г.
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
, и androidx.activity:activity-ktx:1.3.1
выпускаются. Версия 1.3.1 содержит эти коммиты.
Обновления зависимости
- Деятельность теперь зависит от котлина
1.5.21
. - СООБЩЕНИЕ СОЗДАНИЯ В настоящее время зависит от составления
1.0.1
.
Версия 1.3.0
Версия 1.3.0
28 июля 2021 г.
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
, и androidx.activity:activity-ktx:1.3.0
выпускаются. Версия 1.3.0 содержит эти коммиты.
Важные изменения с 1.2.0
- Активное сочинение артефакт - Артефакт
activity-compose
обеспечивает метод расширенияsetContent
для размещения вашего JetPack Compose UI в действии и сочинять конкретные обертки для взаимодействия с APIComponentActivity
для обработки кнопки «Система» и API -интерфейсы результатов активности. Смотрите документацию для более подробной информации. - CaptureVideo Contract -
CaptureVideo
ActivityResultContract
заменяет теперь устаревший контрактTakeVideo
и возвращает логический обозначение успеха, который работает во многих приложениях для камеры. - Отслеживание подсказки для изображения в картине -Пользователи
activity-ktx
теперь могут использовать методActivity
trackPipAnimationHintView
для автоматического восстановленияPictureInPictureParams
с новой позицией представления, поскольку он меняет положение относительно окна.
Версия 1.3.0-RC02
14 июля 2021 г.
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
и androidx.activity:activity-ktx:1.3.0-rc02
высвобождаются. Версия 1.3.0-RC02 содержит эти коммиты.
Исправление ошибок
- Обратные вызовы
ActivityResultRegistry
теперь должным образом сохраняются и восстанавливаются, поэтому обратные вызовы не дублируются в сохранении. ( I97816 , B/191893160 )
Версия 1.3.0-RC01
1 июля 2021 г.
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
и androidx.activity:activity-ktx:1.3.0-rc01
высвобождаются без изменений из 1.3.0-beta02
. Версия 1.3.0-RC01 содержит эти коммиты.
Версия 1.3.0-бета02
16 июня 2021 года
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
и androidx.activity:activity-ktx:1.3.0-beta02
выпускаются. Версия 1.3.0-бета02 содержит эти коммиты.
Обновленная activity-compose
, чтобы зависеть от составления 1.0.0-beta09
. androidx.compose.ui:ui-test-junit4
теперь имеет зависимость от времени компиляции от activity-compose
.
Версия 1.3.0-бета01
2 июня 2021 г.
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
и androidx.activity:activity-ktx:1.3.0-beta01
выпускаются. Версия 1.3.0-бета01 содержит эти коммиты.
API меняется
- Ранее устаревший метод
@Composable registerForActivityResult()
был удален. Пожалуйста, используйтеrememberLauncherForActivityResult()
. ( IC39D3 )
Версия 1.3.0-Alpha08
18 мая 2021 г.
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
и androidx.activity:activity-ktx:1.3.0-alpha08
. Версия 1.3.0-Alpha08 содержит эти коммиты.
Новые возможности
- Новый
CaptureVideo
ActivityResultContract
возвращает логическое значение для вашейActivityResultCallback
, что указывает, было ли ваше видео успешно сохранено в данном URI. Это заменяет устаревший контрактTakeVideo
, поскольку приложения камеры очень редко поддерживают возвращение растровой карты миниатюры, что делает результат бесполезным. ( IE21F2 , B/185938070 ) - Добавлен новый API
Activity#setPipAnimationHintView
, чтобы обновить подсказку источника Pipparams, когда перемещается представление. ( I9063d )
API меняется
- Функция
rememberLauncherForActivityResult
теперь возвращает пусковую установку, которая осуждает функциюunregister()
- регистрация и нерегистрирование пусковой установки автоматически обрабатываетсяrememberLauncherForActivityResult
. ( I2443e )
Составьте совместимость
-
androidx.activity:activity-compose:1.3.0-alpha08
совместим только с Compose Version1.0.0-beta07
и выше.
Версия 1.3.0-Alpha07
21 апреля 2021 г.
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
и androidx.activity:activity-ktx:1.3.0-alpha07
. Версия 1.3.0-Alpha07 содержит эти коммиты.
Исправление ошибок
-
rememberLauncherForActivityResult
теперь возвращает стабильную ссылку на тот же экземплярActivityResultLauncher
, даже если контракт изменяется из -за переоборудования. ( Id2d6d ) - Использование нестабильных версий фрагментов выше
1.3.0
больше не будет бросить ложную положительную ошибку ворса, говорящая вам на1.3.0
. ( AOSP/1670206 , B/184847092 )
Версия 1.3.0-Alpha06
7 апреля 2021 г.
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
и androidx.activity:activity-ktx:1.3.0-alpha06
. Версия 1.3.0-Alpha06 содержит эти коммиты.
API меняется
- API
registerForActivityResult()
был переименован, чтобыrememberLauncherForActivityResult()
, чтобы лучше указать, что возвращаемыйActivityResultLauncher
- это управляемый объект, который запоминается от вашего имени. Попытка назватьunregister
возвращаемойActivityResultLauncher
теперь вынесет ошибку. ( I2bb6d ) -
LocalOnBackPressedDispatcherOwner.current
иLocalActivityResultRegistryOwner.current
теперь возвращает нулевое значение, чтобы лучше определить, доступно ли оно в текущей композиции. API, которые требуют тех API, таких какBackHandler
иrememberLauncherForActivityResult()
, соответственно, теперь принесут более описательную ошибку, если базовый владелец не найден.NavHost
теперь работает, даже когдаOnBackPressedDispatcherOwner
не найден, в этом случае при предварительном просмотреNavHost
. ( I7d8b4 )
Исправление ошибок
-
BackHandler
теперь будет правильно перехватывать задними прессами в случаеSTOPPED
деятельности, затемSTARTED
снова, а другие обратные вызовы были добавлены с жизненным циклом. ( I71de6 , b/182284739 ) - Использование расширения метода
launch()
с помощью пользовательскогоActivityResultContract
, которое имеетUnit
ввода, больше не будет вызыватьNullPointerException
( I76282 , B/183837954 )
Версия 1.3.0-Alpha05
24 марта 2021 г.
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
и androidx.activity:activity-ktx:1.3.0-alpha05
. Версия 1.3.0-Alpha05 содержит эти коммиты.
Исправление ошибок
- Из действия 1.2.2 : Исправлена проблема в
InvalidFragmentVersionForActivityResult
Lint Проверка, которая привела к ложноположительному положительному при использованию фрагмента 1.3.1 или выше. ( I54da1 , b/182388985 ) - Из деятельности 1.2.2 :
ComponentActivity
теперь позволяет избежатьClassNotFoundException
при запускеIntent
отActivityResultContract
, который ранее считался дополнительным в другомIntent
. ( IEFF05 , B/182906230 )
Обновления зависимости
- От деятельности 1.2.2 : активность теперь зависит от жизненного цикла
2.3.1
.
Версия 1.3.0-Alpha04
10 марта 2021 г.
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
и androidx.activity:activity-ktx:1.3.0-alpha04
. Версия 1.3.0-Alpha04 содержит эти коммиты.
Исправление ошибок
- Из деятельности
1.2.1
:RequestMultiplePermissions
теперь всегда возвращает результаты для всех запрошенных разрешений вместо только разрешений, которые ранее не были предоставлены. ( I50bc3 , b/180884668 ) - Из деятельности
1.2.1
:ActivityResultRegistry
теперь гарантирует, что запросы в процессеlaunch()
будут возвращать свои результаты, даже если выunregister()
сноваregister()
с тем же ключом. ( I9ef34 , b/181267562 ) - Activity Compose больше не добавляет тестовых зависимостей к классовой дороге. ( IFD8B3 )
- Исправлена проблема с
BackHandler
, в которой ранееonBack
Lambda все еще использовалась после переоборудования. ( 8EB5EB )
Версия 1.3.0-Alpha03
24 февраля 2021 г.
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
и androidx.activity:activity-ktx:1.3.0-alpha03
. Версия 1.3.0-Alpha03 содержит эти коммиты.
Новые возможности
- В настоящее время существует композиционная функция
registerForActivityResult
для получения результатов деятельности в рамках композибельных продуктов. ( IA7851 , B/172690553 )
API меняется
-
LocalOnBackPressedDispatcherOwner
теперь имеетprovides
функции, которые можно использовать сCompositionLocalProvider
, заменив APIasProvidableCompositionLocal()
. ( I45d24 )
Версия 1.3.0-Alpha02
10 февраля 2021 г.
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
и androidx.activity:activity-ktx:1.3.0-alpha02
высвобождаются. Версия 1.3.0-Alpha02 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема в активности составьте
1.3.0-alpha01
, которая вызываетNoSuchMethodError: No static method setContent
Excontent при использовании Compose1.0.0-alpha12
. Все пользователи композиции должны зависеть от1.3.0-alpha02
и выше. ( B/179911234 )
API меняется
- API
BackHandler
может использоваться для того, чтобы позволить композиции для перехвата системы обратной связи. ( I58ed5 , b/172154006 )
Версия 1.3.0-Alpha01
10 февраля 2021 г.
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
и androidx.activity:activity-ktx:1.3.0-alpha01
. Версия 1.3.0-Alpha01 содержит эти коммиты.
Новые возможности
- Новый артефакт
activity-compose
обеспечивает JetPack сочинять конкретных помощников для API-интерфейсовandroidx.activity
.-
ComponentActivity.setContent
перешел отandroidx.compose.ui.platform.setContent
вandroidx.activity.compose.setContent
. ( ICF416 )
-
Известные проблемы
- Использование Activity Compose
1.3.0-alpha01
и библиотеки, которые зависят от этого, таких какandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, приведет к исключениюNoSuchMethodError: No static method setContent
. ( B/179911234 )
Версия 1.2.4
Версия 1.2.4
21 июля 2021 г.
androidx.activity:activity:1.2.4
и androidx.activity:activity-ktx:1.2.4
выпускаются. Версия 1.2.4 содержит эти коммиты.
Исправление ошибок
- Из деятельности
1.3.0-rc02
: обратные вызовы ActivityResultregistry теперь должным образом сохраняются и восстанавливаются, поэтому обратные вызовы не дублируются в сохранении. ( I97816 , B/191893160 )
Версия 1.2.3
Версия 1.2.3
5 мая 2021 г.
androidx.activity:activity:1.2.3
и androidx.activity:activity-ktx:1.2.3
выпускаются. Версия 1.2.3 содержит эти коммиты.
Исправление ошибок
- Использование расширения метода
launch()
с помощью пользовательскогоActivityResultContract
, которое имеетUnit
ввода, больше не будет вызыватьNullPointerException
( I76282 , B/183837954 ) - Исправлена ложная ошибка положительного ворса, в котором говорилось, что вы используете фрагмент
1.3.0
при использовании моментального снимка, альфа, бета -версии или RC строительства более новой версии фрагментов. ( F4A57E , B/184847092 )
Версия 1.2.2
Версия 1.2.2
24 марта 2021 г.
androidx.activity:activity:1.2.2
и androidx.activity:activity-ktx:1.2.2
выпускаются. Версия 1.2.2 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема в
InvalidFragmentVersionForActivityResult
Lint Проверка, которая привела к ложному положительному при использованию фрагмента 1.3.1 или выше. ( I54da1 , b/182388985 ) -
ComponentActivity
теперь избегаетClassNotFoundException
при запускеIntent
отActivityResultContract
, который ранее считался дополнительным в другомIntent
. ( IEFF05 , B/182906230 )
Обновления зависимости
- Активность теперь зависит от жизненного цикла
2.3.1
.
Версия 1.2.1
Версия 1.2.1
10 марта 2021 г.
androidx.activity:activity:1.2.1
и androidx.activity:activity-ktx:1.2.1
выпускаются. Версия 1.2.1 содержит эти коммиты.
Исправление ошибок
-
RequestMultiplePermissions
теперь всегда возвращает результаты для всех запрошенных разрешений, а не только разрешения, которые ранее не были предоставлены. ( I50bc3 , b/180884668 ) -
ActivityResultRegistry
теперь гарантирует, что в процессеlaunch()
запросы запуска () будут возвращать свои результаты, даже если выunregister()
, то сноваregister()
с тем же ключом. ( I9ef34 , b/181267562 )
Версия 1.2.0
Версия 1.2.0
10 февраля 2021 г.
androidx.activity:activity:1.2.0
и androidx.activity:activity-ktx:1.2.0
выпускаются. Версия 1.2.0 содержит эти коммиты.
Основные изменения с 1.1.0
- API -интерфейс результатов деятельности :
ComponentActivity
в настоящее время обеспечиваетActivityResultRegistry
, которая позволяет вам обрабатыватьstartActivityForResult()
+onActivityResult()
, а такжеrequestPermissions()
+onRequestPermissionsResult()
потоки без переоценки в вашей деятельности или фрагментах, повышает безопасность типа с помощьюActivityResultContract
и обеспечивает крючки для тестирования. Смотрите обновленную получение результата от деятельности .
ContextAware
:ComponentActivity
теперь реализуетContextAware
, позволяя вам добавить один или несколько экземпляровOnContextAvailableListener
, которые получат обратный вызов перед базовойActivity.onCreate()
.- Приостановление расширения Kotlin
withContextAvailable()
позволяет запустить блок, не связанный с SUSPENDING, когда контекст становится доступным, и вернуть результат. - Этот API используется
FragmentActivity
в фрагменте 1.3.0 для восстановления состоянияFragmentManager
. Любые слушатели, добавленные к подклассамFragmentActivity
, будут работать после этого слушателя. - Этот API используется
AppCompatActivity
в AppCompat 1.3.0-Alpha02 или выше. Любые слушатели, добавленные к подклассамAppCompatActivity
, будут работать после этого слушателя.
- Приостановление расширения Kotlin
Поддержка
ViewTree
:ComponentActivity
теперь поддерживаетViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
иViewTreeSavedStateRegistryOwner
APIS, добавленные вLifecycleOwner
2.3.0
и SavedState1.1.0
ViewModelStoreOwner
что он будет возвращать вSavedStateRegistryOwner
Добавлено вComponentActivity
.
- Отчетный отчетмон () Backport - Метод
Activity
reportFullyDrawn()
был возвращен вComponentActivity
чтобы работать на всех уровнях API, исправляя сбой на API 19 и добавляя трассировку для этого метода для всех уровней API.
Версия 1.2.0-RC01
16 декабря 2020 года
androidx.activity:activity:1.2.0-rc01
и androidx.activity:activity-ktx:1.2.0-rc01
выпускаются. Версия 1.2.0-RC01 содержит эти коммиты.
Исправление ошибок
-
ActivityResultRegistry
теперь всегда восстанавливает точное состояние, которое было сохранено. ( Idd56b ) - Добавить трассировку в
ComponentActivity.reportFullyDrawn
.
Внешний вклад
-
ComponentActivity
now overridesreportFullyDrawn()
, allowing it to be called on all API levels and fixing a crash when calling this method without the appropriate system permission on API 19 devices. Thanks Simon Schiller! ( b/163239764 , #103 )
Version 1.2.0-beta02
2 декабря 2020 г.
androidx.activity:activity:1.2.0-beta02
and androidx.activity:activity-ktx:1.2.0-beta02
are released. Version 1.2.0-beta02 contains these commits.
Исправление ошибок
- Fixed an issue where the Activity Result API would not wait for the Lifecycle to be
STARTED
before delivering results when registered with aLifecycle
. ( I109ea )
External Contribution
- Updated the documentation for
launch()
to explicitly call out that it can throw anActivityNotFoundException
. Thanks Michał Zieliński! ( aosp/1493580 )
Version 1.2.0-beta01
1 октября 2020 г.
androidx.activity:activity:1.2.0-beta01
and androidx.activity:activity-ktx:1.2.0-beta01
are released. Version 1.2.0-beta01 contains these commits.
Исправление ошибок
The
ActivityResultRegistry
now randomly generates integers until it finds one that is unallocated to use as a request coderegister()
, thus preventing the possible integer overflow caused by incrementing request codes. ( b/168779518 )Lifecycle
observers are properly removed when callingunregister()
on anActivityResultLauncher
. ( b/165608393 )
Behavior Changes
- The
ActivityResultRegistry
now throws anIllegalStateException
when attempting to callregister()
with aLifecycleOwner
whoseLifecycle
has already reachedSTARTED
. ( b/165435866 )
Documentation Updated
-
ContextAware
documentation links toLifecycleOwner
to highlightLifecycle
callbacks as the appropriate place for creation and destruction events. ( aosp/1414152 )
Version 1.2.0-alpha08
19 августа 2020 г.
androidx.activity:activity:1.2.0-alpha08
and androidx.activity:activity-ktx:1.2.0-alpha08
are released. Version 1.2.0-alpha08 contains these commits.
Новые возможности
-
ComponentActivity
now implementsContextAware
, allowing you to add one or moreOnContextAvailableListener
instances which will receive a callback before the baseActivity.onCreate()
. ( b/161390636 )- A suspending Kotlin extension
withContextAvailable()
allows you to run a non-suspending block when the Context becomes available and return a result. ( I8290c ) - This API is used by
FragmentActivity
in Fragment 1.3.0-alpha08 to restore the state of theFragmentManager
. Any listeners added to subclasses ofFragmentActivity
will run after that listener. ( I513da ) - This API is used by
AppCompatActivity
in AppCompat 1.3.0-alpha02 . Any listeners added to subclasses ofAppCompatActivity
will run after that listener. ( I513da )
- A suspending Kotlin extension
Исправление ошибок
- Fixed an issue with the
ActivityResultFragmentVersionDetector
Lint check that caused it to break when using Lint 27.1.0 or higher. ( b/162155191 )
Version 1.2.0-alpha07
22 июля 2020 г.
androidx.activity:activity:1.2.0-alpha07
and androidx.activity:activity-ktx:1.2.0-alpha07
are released. Version 1.2.0-alpha07 contains these commits.
Новые возможности
- Added a new
InvalidFragmentVersionForActivityResult
lint check that verifies that you are using Fragment1.3.0-alpha07
when using the Activity Result API , avoiding runtime crashes due to “invalid request code” issues and non-functioning permission requests caused by using older versions of Fragments. ( b/152554847 )
External Contribution
- Fixed an
ArrayIndexOutOfBoundsException
when parsing the results for theRequestPermission
Activity Result contract. ( I8f9e3 , b/161057605 )
Version 1.2.0-alpha06
10 июня 2020 г.
androidx.activity:activity:1.2.0-alpha06
and androidx.activity:activity-ktx:1.2.0-alpha06
are released. Version 1.2.0-alpha06 contains these commits.
Новые возможности
- You can now destructure the
ActivityResult
class in kotlin to directly access therequestCode
andintent
. ( b/157212935 ) -
ActivityResultLauncher
now allows you to get theActivityResultContract
that was used to register the launcher. ( b/156875743 )
API Changes
- Breaking change : The
invoke()
method onActivityResultRegistry
has been renamed toonLaunch()
. ( b/157496491 ) - The
OpenMultipleDocuments
contract now returns an empty list instead ofnull
to the registered callback if no result is returned. ( b/157348014 )
Version 1.2.0-alpha05
20 мая 2020 г.
androidx.activity:activity:1.2.0-alpha05
and androidx.activity:activity-ktx:1.2.0-alpha05
are released. Version 1.2.0-alpha05 contains these commits.
Новые возможности
- Added support for
ViewTreeViewModelStoreOwner
from Lifecycle2.3.0-alpha03
, andViewTreeSavedStateRegistryOwner
from SavedState1.1.0-alpha01
when using aView
within aComponentActivity
. ( aosp/1297993 , aosp/1300264 )
API Changes
- The
TakePicture
contract now returns aboolean
indicating success rather than a thumbnailBitmap
as this was very rarely supported by camera apps when writing the image to the providedUri
. ( b/154302879 ) - The
invoke()
extensions onActivityResultLauncher
have been removed in favor of explicitly usinglaunch()
to better indicate that these are asynchronous operations. Kotlin extensions forlaunch
have been added to theandroidx.activity.result
package forActivityResultLauncher<Void>
andActivityResultLauncher<Unit>
that remove the need to pass innull
orUnit
, respectively, mirroring that behavior from the previouslyinvoke()
extensions. ( aosp/1304674 , aosp/1304675 ) - The
IntentSenderRequest.Builder
methods forsetFlagsMask()
andsetFlagsValues()
has been combined into a singlesetFlags()
method. ( aosp/1302111 )
Исправление ошибок
- When registering an
ActivityResultCallback
with aLifecycleOwner
, fixed an issue where the callback would be triggered before the state reachesSTARTED
. ( aosp/1309744 )
Behavior Changes
- The
ActivityResultRegistry
now generates request codes starting at0xFFFF
rather than at0
, preventing overlap when usingstartActivityForResult()
orrequestPermissions()
in an activity. ( aosp/1302324 )
Version 1.2.0-alpha04
29 апреля 2020 г.
androidx.activity:activity:1.2.0-alpha04
and androidx.activity:activity-ktx:1.2.0-alpha04
are released. Version 1.2.0-alpha04 contains these commits.
Новые возможности
- Added a contract that can call startIntentSenderForResult to the ActivityResult APIs. ( b/153007517 )
API Changes
- The
prepareCall()
method has been renamed toregisterForActivityResult()
, both onComponentActivity
here and in Fragment1.3.0-alpha04
. ( aosp/1278717 ) - The
GetContents
,OpenDocuments
, andRequestPermissions
contracts have been renamed toGetMultipleContents
,OpenMultipleDocuments
, andRequestMultiplePermissions
, respectively. ( aosp/1280161 ) -
ComponentActivity
now implements theActivityResultRegisteryOwner
interface. ( aosp/1290888 ) - - The
startActivityForResult()
/onActivityResult()
andonRequestPermissionsResult()
APIs onComponentActivity
have been deprecated. Please use the Activity Result APIs . ( b/154751887 )
Исправление ошибок
- When using the
GetMultipleContents
andOpenMultipleDocuments
contracts and selecting a single item, it is now correctly returned to your callback. ( b/152941153 )
Version 1.2.0-alpha03
1 апреля 2020 г.
androidx.activity:activity:1.2.0-alpha03
and androidx.activity:activity-ktx:1.2.0-alpha03
are released. Version 1.2.0-alpha03 contains these commits.
Новые возможности
- Added the
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
, andCreateDocument
contracts to the set of pre-built contracts provided byActivityResultContracts
. ( aosp/1262482 , aosp/1266916 , aosp/1268960 ) - The Activity Result APIs now support launching an activity for result with an optional
ActivityOptionsCompat
. ( b/151860054 )
API Changes
- The
TakePicture
contract now takes aUri
input for where the image should be stored. The previous contract that does not take any input has been renamed toTakePicturePreview
. ( aosp/1262482 ) - The
registerActivityResultCallback()
method onActivityResultRegistry
has been renamed toregister()
. ( aosp/1267621 ) - The
dispose()
method onActivityResultLauncher
has been renamed tounregister()
and theunregisterResultCallback()
onActivityResultRegistry
has been removed. ( aosp/1267621 ) - The
createIntent()
method ofActivityResultContact
now takes aContext
in addition to the input to make it possible to create explicit Intents. ( aosp/1238800 ) - An
ActivityResultContract
can now overridegetSynchronousResult()
to deliver a result without callingstartActivityForResult
. This is used by theRequestPermission
andRequestPermissions
contracts to correctly deliver a 'granted' status if the requested permissions are already granted. ( b/151110799 ) - The previously available
Dial
contract has been removed as thatIntent
is not meant to be used withstartActivityForResult()
. ( aosp/1266916 ) - Many of the Activity Result APIs not meant to be extended are now
final
. This includesgetActivityResultRegistry()
, theprepareCall()
methods, all methods ofActivityResultRegistry
exceptinvoke()
, and a number of the default contracts that do not support optional extras. ( b/152439361 )
Исправление ошибок
- Fixed a
NullPointerException
inActivityResultRegistry
when attempting to deliver results to a callback that has not yet been re-registered after a configuration change;ActivityResultRegistry
now holds onto these pending results and delivers them when the callback is re-registered. ( b/152137004 )
Version 1.2.0-alpha02
March 18, 2020
androidx.activity:activity:1.2.0-alpha02
and androidx.activity:activity-ktx:1.2.0-alpha02
are released. Version 1.2.0-alpha02 contains these commits.
Новые возможности
- ActivityResultRegistry :
ComponentActivity
now provides anActivityResultRegistry
that lets you handle thestartActivityForResult()
+onActivityResult()
as well asrequestPermissions()
+onRequestPermissionsResult()
flows without overriding methods in your Activity or Fragment, brings increased type safety viaActivityResultContract
, and provides hooks for testing these flows. See the updated Getting a Result from an Activity . ( b/125158199 )
Version 1.2.0-alpha01
March 4, 2020
androidx.activity:activity:1.2.0-alpha01
and androidx.activity:activity-ktx:1.2.0-alpha01
are released. Version 1.2.0-alpha01 contains these commits.
Новые возможности
- Added support for the
ViewTreeLifecycleOwner.get(View)
API added in Lifecycle2.3.0-alpha01
such that it will return the Activity as theLifecycleOwner
for any Views directly added to the Activity. ( aosp/1182955 )
Исправление ошибок
- Fixed a regression introduced in Activity
1.1.0
when running on older versions of the platform whereonBackPressed()
would cause anIllegalStateException
due to a bug in theandroid.app.FragmentManager
. ( b/146290338 )
Версия 1.1.0
Версия 1.1.0
22 января 2020 г.
androidx.activity:activity:1.1.0
is released. Version 1.1.0 contains these commits .
Important changes since 1.0.0
- Lifecycle ViewModel SavedState Integration :
SavedStateViewModelFactory
is now the default factory used when usingby viewModels()
, theViewModelProvider
constructor, orViewModelProviders.of()
with aComponentActivity
or its subclasses.
Version 1.1.0-rc03
December 4, 2019
androidx.activity:activity:1.1.0-rc03
and androidx.activity:activity-ktx:1.1.0-rc03
are released. Version 1.1.0-rc03 contains these commits .
Dependency changes
- Activity now depends on Lifecycle
2.2.0-rc03
and Lifecycle ViewModel SavedState1.0.0-rc03
.
Version 1.1.0-rc02
7 ноября 2019 г.
androidx.activity:activity:1.1.0-rc02
and androidx.activity:activity-ktx:1.1.0-rc02
are released. Version 1.1.0-rc02 contains these commits .
Dependency changes
- Activity now depends on lifecycle
2.2.0-rc02
.
Version 1.1.0-rc01
October 23, 2019
androidx.activity:activity:1.1.0-rc01
and androidx.activity:activity-ktx:1.1.0-rc01
are released with no changes from 1.1.0-beta01
. Version 1.1.0-rc01 contains these commits .
Version 1.1.0-beta01
9 октября 2019 г.
androidx.activity:activity:1.1.0-beta01
and androidx.activity:activity-ktx:1.1.0-beta01
are released. Version 1.1.0-beta01 contains these commits .
Dependency changes
- Activity now depends on SavedState 1.0.0 stable.
Version 1.1.0-alpha03
5 сентября 2019 г.
androidx.activity:activity:1.1.0-alpha03
and androidx.activity:activity-ktx:1.1.0-alpha03
are released. The commits included in this version can be found here .
Новые возможности
- Activity now depends on Core 1.1.0 stable.
Исправления ошибок
- Activity now depends on Lifecycle
2.2.0-alpha04
.
Version 1.1.0-alpha02
August 7, 2019
androidx.activity:activity:1.1.0-alpha02
and androidx.activity:activity-ktx:1.1.0-alpha02
are released. The commits included in this version can be found here .
Новые возможности
-
SavedStateViewModelFactory
is now the default factory used when usingby viewModels()
, theViewModelProvider
constructor, orViewModelProviders.of()
with aComponentActivity
( b/135716331 )
Version 1.1.0-alpha01
2 июля 2019 г.
androidx.activity:activity:1.1.0-alpha01
and androidx.activity:activity-ktx:1.1.0-alpha01
are released. The commits included in this version can be found here .
Новые возможности
-
activity
now depends on Lifecycle2.2.0-alpha02
. ( aosp/1007817 ) -
activity-ktx
added a dependency onlifecycle-runtime-ktx
; you no longer need to explicitly add it to your dependencies when usingactivity-ktx
or libraries that depend onactivity-ktx
(such asfragment-ktx
). ( aosp/987162 )
Версия 1.0.0
Версия 1.0.0
5 сентября 2019 г.
androidx.activity:activity:1.0.0
and androidx.activity:activity-ktx:1.0.0
are released. The commits included in this version can be found here .
Major Features of 1.0.0
- ComponentActivity :
ComponentActivity
serves as the new base class forFragmentActivity
in Fragment1.1.0
and, by extension,AppCompatActivity
in AppCompat1.1.0
. - activity-ktx : The
activity-ktx
module includes aby viewModels
Kotlin property extension for accessing ViewModels. This module is automatically included when you includefragment-ktx
from Fragment1.1.0
. - OnBackPressedDispatcher : As a composable alternative to overriding
onBackPressed()
, you can now register aOnBackPressedCallback
from anyLifecycleOwner
(such as a fragment) to intercept system back button events. A lambda with receiver versionaddCallback
has been added toactivity-ktx
. See Provide custom back navigation documentation for more details. - onRetainCustomNonConfigurationInstance deprecation : the
onRetainCustomNonConfigurationInstance()
and the relatedgetLastCustomNonConfigurationInstance()
APIs have been deprecated. It is strongly recommended to use ViewModels to store non-configuration state as they offer a composable solution suitable for anyViewModelStoreOwner
that makes the ownership of the retained objects clear and provides anonCleared()
callback for cleaning up resources when the activity is finally destroyed.
Version 1.0.0-rc01
2 июля 2019 г.
androidx.activity:activity:1.0.0-rc01
and androidx.activity:activity-ktx:1.0.0-rc01
are released with no changes from 1.0.0-beta01
. The commits included in this version can be found here .
Version 1.0.0-beta01
5 июня 2019 г.
androidx.activity::activity:1.0.0-beta01
and androidx.activity:activity-ktx:1.0.0-beta01
are released with no changes from 1.0.0-alpha08
. The commits included in this version can be found here .
Version 1.0.0-alpha08
7 мая 2019 г.
androidx.activity:activity:1.0.0-alpha08
and androidx.activity:activity-ktx:1.0.0-alpha08
are released. The commits included in this version can be found here .
API changes
- Breaking change: The previously deprecated
addOnBackPressedCallback
andremoveOnBackPressedCallback
methods onComponentActivity
have been removed. aosp/953857 - The
setEnabled()
andisEnabled()
methods ofOnBackPressedCallback
are now final. b/131416833 - The
remove()
method ofOnBackPressedCallback
is now final. aosp/952720 -
OnBackPressedDispatcher
now has public constructors, allowing you to construct your own instances for testing, etc. aosp/953431 -
onBackPressed()
forComponentActivity
is now explicitly marked as@MainThread
aosp/952721
Исправления ошибок
- Fixed a
ConcurrentModificationException
when callingremove()
from within thehandleOnBackPressed()
method of aOnBackPressedCalback
that was added with aLifecycleOwner
. b/131765095
Version 1.0.0-alpha07
April 25th, 2019
androidx.activity:activity:1.0.0-alpha07
and androidx.activity:activity-ktx:1.0.0-alpha07
are released. The commits included in this version can be found here .
API changes
This release makes significant changes to the handling of the onBackPressed()
. See the updated custom back documentation for more details.
- The methods for
OnBackPressedCallback
andOnBackPressedDispatcher
have been marked as@MainThread
. ( aosp/943813 ) - The
handleOnBackPressed()
method no longer returns aboolean
. Instead,OnBackPressedCallback
is now an abstract class that can be enabled or disabled - only when the newisEnabled()
method returns true willhandleOnBackPressed()
be called, in which you must handle the back button. ( aosp/944518 ) - The
addCallback
methods ofOnBackPressedDispatcher
no longer return aCancellable
instance.OnBackPressedCallback
now contain aremove()
method that fulfill this functionality, allowing you to callremove()
duringhandleOnBackPressed()
. ( aosp/944519 ) ( aosp/946316 ) -
activity-ktx
now contains a receiver scoped callback foraddCallback
that accepts a lamdba that implementshandleOnBackPressed()
and has access toisEnabled
andremove()
( aosp/944520 )
Version 1.0.0-alpha06
April 3rd, 2019
androidx.activity:activity:1.0.0-alpha06
and androidx.activity:activity-ktx:1.0.0-alpha06
are released. The commits included in this version can be found here .
API changes
- ComponentActivity now contain a second constructor that takes a
@LayoutRes int
, which replaces the previous behavior of annotating your AppCompatActivity class with@ContentView
. This approach works in both app and library modules. ( b/128352521 ) - The
OnBackPressedCallback
related APIs on ComponentActivity have been deprecated in favor of the newOnBackPressedDispatcher
, retrievable viagetOnBackPressedDispatcher()
. ( aosp/922523 ) - Methods to add a new
OnBackPressedCallback
to theOnBackPressedDispatcher
now return aCancellable
object, allowing removal of the callback without requiring an explicit reference to theOnBackPressedDispatcher
. ( aosp/922523 ) - Adding a
OnBackPressedCallback
with an associatedLifecycleOwner
now results in adding and removing theOnBackPressedCallback
as the Lifecycle is started and stopped, respectively. ( aosp/922523 )
Version 1.0.0-alpha05
March 13th, 2019
androidx.activity:activity:1.0.0-alpha05
and androidx.activity:activity-ktx:1.0.0-alpha05
are released. The full list of commits included in this release can be found here .
Новые возможности
-
@ContentView
annotation lookups are now cached ( b/123709449 )
Version 1.0.0-alpha04
30 января 2019 г.
androidx.activity:activity 1.0.0-alpha04
and androidx.activity:activity-ktx 1.0.0-alpha04
are released.
Новые возможности
- Added support for the
@ContentView
class annotation that allows you to indicate which layout XML file should be inflated as an alternative to usingsetContentView()
. ( aosp/837619 )
API changes
- Added a note that
getViewModelStore()
should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/837619 )
Исправления ошибок
- The
activity
module now depends on version 2.1.0-alpha02 of ViewModel to match theactivity-ktx
module's dependency.
Version 1.0.0-alpha03
December 17, 2018
androidx.activity 1.0.0-alpha03
is released.
Новые возможности
- ComponentActivity now implements
BundleSavedStateRegistryOwner
and depends on the newly released SavedState library [ aosp/815133 ] - ComponentActivity now works around an Android framework bug that would cause InputMethodManager to leak the last focused view [ b/37122102 ]
Version 1.0.0-alpha02
December 3, 2018
API changes
- Added a note that
getLifecycle()
should not be overridden and will be madefinal
in a future release. Please file a feature request if you are currently overriding this method. ( aosp/815834 )
Version 1.0.0-alpha01
5 ноября 2018 г.
androidx.activity 1.0.0-alpha01
introduces ComponentActivity
, a new base class of the existing FragmentActivity
and AppCompatActivity
.
Новые возможности
- You can now register an
OnBackPressedCallback
viaaddOnBackPressedCallback
to receiveonBackPressed()
callbacks without needing to override the method in your activity. - Added a new
by viewModels()
Kotlin property delegate for retrievingViewModel
s from aComponentActivity
. - Pending input events (such as clicks) are now canceled in
onStop()
.
API changes
- The implementation of
LifecycleOwner
andViewModelStoreOwner
have been moved fromFragmentActivity
toComponentActivity
. -
onRetainCustomNonConfigurationInstance
has been deprecated. Use aViewModel
for storing objects that need to survive configuration changes.