Активность
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
---|---|---|---|---|
27 августа 2025 г. | 1.10.1 | 1.11.0-rc01 | - | 1.12.0-альфа07 |
Объявление зависимостей
Чтобы добавить зависимость от Activity, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle
вашего приложения или модуля:
Groovy
dependencies { def activity_version = "1.10.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
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. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.12
Версия 1.12.0-альфа07
27 августа 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha07
, androidx.activity:activity-compose:1.12.0-alpha07
и androidx.activity:activity-ktx:1.12.0-alpha07
. Версия 1.12.0-alpha07 содержит эти коммиты .
Исправления ошибок
- Исправлена проблема с
EdgeToEdge
в API 35, из-за которой невидимые представления вызывали неожиданные вставки измерений. ( If49ff )
Обновление зависимостей
- Активность теперь зависит от Navigation Event
1.0.0-alpha07
.
Версия 1.12.0-альфа06
13 августа 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha06
, androidx.activity:activity-compose:1.12.0-alpha06
и androidx.activity:activity-ktx:1.12.0-alpha06
. Версия 1.12.0-alpha06 содержит эти коммиты .
Обновление MinSdk
-
minSdk
по умолчанию для AndroidX был перенесен из API 21 в API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
Обновления документации
- Обновлены KDocs для
PredictiveBackHandler
с целью выявления известной проблемы синхронизации, при которой он может обрабатывать жест в том же кадре, в котором он отключен. ( I5be5c , b/431534103 ) - Обновлены KDocs для
BackHandler
иPredictiveBackHandler
, чтобы явно указать поведение «последний составленный выигрывает», а также рекомендовать безусловное составление сenabled
флагом. ( I7ab94 )
Обновление зависимости
- Активность теперь зависит от Navigation Event
1.0.0-alpha06
.
Версия 1.12.0-альфа05
30 июля 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha05
, androidx.activity:activity-compose:1.12.0-alpha05
и androidx.activity:activity-ktx:1.12.0-alpha05
. Версия 1.12.0-alpha05 содержит эти коммиты .
Обновление зависимостей
- Активность теперь зависит от Navigation Event
1.0.0-alpha05
.
Версия 1.12.0-альфа04
2 июля 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha04
, androidx.activity:activity-compose:1.12.0-alpha04
и androidx.activity:activity-ktx:1.12.0-alpha04
. Версия 1.12.0-alpha04 содержит эти коммиты .
Изменения зависимости
- Активность теперь зависит от NavigationEvent Alpha04
Версия 1.12.0-альфа03
18 июня 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha03
, androidx.activity:activity-compose:1.12.0-alpha03
и androidx.activity:activity-ktx:1.12.0-alpha03
. Версия 1.12.0-alpha03 содержит эти коммиты .
Исправления ошибок
OnBackPressedDispatcher
иNavigationEventDispatcher
теперь инициализируются лениво вComponentActivity
. ( I710e6 )Исправлены проблемы с
OnBackPressedDistpatcher
, которые вызывали следующее:- Только последний диспетчер
OnBackPressedCallback
был добавлен к уведомлению о своем включенном состоянии ( b/418715930 ). -
OnBackPressedDispatcher
удаляет неправильный обратный вызов при использовании функцииaddCallback
, которая принимает жизненный цикл. ( b/422714753 ) -
OnBackPressedDispatcher.remove()
не удаляет все экземпляры зарегистрированногоOnBackPressedCallback
. ( b/423024414 )
- Только последний диспетчер
Версия 1.12.0-альфа02
4 июня 2025 г.
Выпущены androidx.activity:activity:1.12.0-alpha02
, androidx.activity:activity-compose:1.12.0-alpha02
и androidx.activity:activity-ktx:1.12.0-alpha02
. Версия 1.12.0-alpha02 содержит эти коммиты .
Исправления ошибок
- Начиная с NavigationEvent
1.0.0-alpha02
: исправлено исключениеConcurrentModificationException
, которое могло возникнуть при вызовеNavigationEventCallback.remove()
из-за одновременного изменения внутреннего списка закрываемых объектов. ( I63066 )
Версия 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, которые запускают средство выбора фотографий, больше не делегируют управление напрямую сервисам Google Play, если системное средство выбора фотографий недоступно, а используют общедоступное действиеACTION_SYSTEM_FALLBACK_PICK_IMAGES
и связанные с ним дополнения для предоставления единообразного опыта использования средства выбора фотографий для 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
. Также добавлено новое правило линтинга, которое проверяет, некорректно ли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, запускающие функцию выбора фотографий, больше не делегируют управление сервисам Google Play напрямую, если системный инструмент выбора фотографий недоступен. Вместо этого используется публичное действиеACTION_SYSTEM_FALLBACK_PICK_IMAGES
и связанные с ним дополнительные функции для обеспечения единообразного использования функции выбора фотографий производителями оборудования и системными приложениями в качестве резервного варианта. Это не должно повлиять на пользовательский интерфейс устройств с последней версией сервисов 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()
при обработке обратных событий, так как это всегда приводит к прерыванию предиктивной обратной анимации . Подробнее см. в руководстве по лучшим практикам . - Остальные 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()
при обработке обратных событий, поскольку это всегда приводит к прерыванию предиктивной анимации обратных событий . Подробнее см. в руководстве по лучшим практикам . ( 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. Это гарантирует, что возможность значения NULL для дженериков в контракте, переданном в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
: исправлено дополнительное значение, передаваемое в контракт действия «Выбор фотографий»ACTION_SYSTEM_FALLBACK_PICK_IMAGES
, теперь оно корректно передает ключEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
вместо использования дополнительного значения с ключом"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Если вы являетесь OEM-производителем, реализующим системный резервный режим выбора фотографий, настоятельно рекомендуется поддерживать оба дополнительных значения для обеспечения максимальной совместимости. ( 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 содержит эти коммиты.
Исправления ошибок
- Исправлен дополнительный параметр, передаваемый в контракт действия «Фотовыбор»
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
, для корректной передачи ключаEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
вместо использования дополнительного параметра с ключом"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Если вы являетесь OEM-производителем, реализующим системный резервный фотовыбор, настоятельно рекомендуется поддерживать оба дополнительных параметра для обеспечения максимальной совместимости. ( 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
- Предиктивный возврат —
OnBackPressedCallback
теперь предлагает новые предиктивные обратные вызовы для обработки начала жеста «назад», хода выполнения жеста и его отмены, в дополнение к ранее существовавшему обратному вызовуhandleOnBackPressed()
действовавшему при завершении жеста «назад». Это также входит в составной объектPredictiveBackHandler
для обработки событий предиктивного возврата в 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
для обработки событий предиктивного жеста «Назад». Он предоставляет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
теперь содержит новые предиктивные обратные вызовы хода выполнения жеста «назад» для обработки начала жеста «назад», хода выполнения жеста и отмены жеста «назад» в дополнение к предыдущему обратному вызову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, реализуя действие fallback . Photo Picker будет использовать этот резервный вариант, если он доступен, прежде чем переходить к использованиюIntent.ACTION_OPEN_DOCUMENT
, который по-прежнему поддерживает все устройства API 19 и более поздних версий. -
ComponentDialog
теперь реализуетSavedStateRegistryOwner
и имеет доступ к своемуSavedStateRegistry
, а также устанавливаетSavedStateRegistryOwner
для своегоViewTree
. Теперь можно использовать Jetpack Compose вComponentDialog
, поскольку он соответствует требованиям какLifecycleOwner
, так иSavedStateRegistryOwner
прикреплённых к окну через APIViewTree
. -
IntentSenderRequest.Builder.setFlags()
теперь позволяет устанавливать несколько флагов изIntent
, а не только один флаг.
Конвертация Kotlin
Ряд классов 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, когда ваше приложение следует считать полностью готовым для показателей запуска, чтобы вы могли отслеживать производительность.
Для более удобного использования FullyDrawnReporter
из отдельных компонуемых объектов были добавлены три API-интерфейса Activity Compose:
-
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-производителей и системных приложений, которым требуется единообразный интерфейс выбора фотографий. Реализация этого резервного варианта пока ограничена только системными приложениями. ( 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, если она доступна, в случаях, когда система Android (например,MediaStore.ACTION_PICK_IMAGES
) недоступна. APIisPhotoPickerAvailable()
, который определяет только функцию выбора фотографий, предоставляемую системой Android, устарел. Рекомендуется использовать новый APIisPhotoPickerAvailable(Context)
, который возвращает значение, если доступна одна из функций выбора фотографий. ( 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 б/261162296 )
Изменения API
- Добавлен компонуемый объект
ReportDrawn
, который немедленно помечает активность как готовую к вызовуreportFullyDrawn
. ( Ic5b14 , б/259687964 )
Котлин-преобразования
- Классы
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 содержит эти коммиты.
Исправления ошибок
- Из действия
1.6.1
: исправлена проблема, из-за которой контракт результата действияPickMultipleVisualMedia
не запускался на устройствах Android R при использовании значения по умолчанию дляmaxItems
. ( Ие2776 , б/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 и Play Vitals, когда ваше приложение следует считать полностью прорисованным для показателей запуска, чтобы вы могли отслеживать производительность.
Были добавлены два API-интерфейса Activity Compose, чтобы сделать более удобным использование 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
. ( Ие2776 , б/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 , б/238350794 ) -
ComponentActivity
теперь правильно отправляет вызовы меню без необходимости вызывать суперфункцию в вашей активности. ( Ie33c5 , б/238057118 )
Обновление зависимостей
- Библиотека
Activity
теперь зависит от жизненного цикла2.5.1
. ( Если6697 )
Версия 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 ) - Классы, которые переопределяют обратный вызов
onPictureInPictureModeChanged()
ComponentActivity
, теперь всегда будут отправлять свои обратные вызовы. ( 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 , б/231476082 )
Исправления ошибок
- Из действия
1.5.1
:ActivityResultRegistry
больше не будет возвращать результат вActivityResultCallback
, если вызовlaunch
выдает какое-либоException
и обратный вызов был зарегистрирован безLifecycleOwner
. ( Ia7ff7 , б/238350794 ) - Из действия
1.5.1
:ComponentActivity
теперь правильно отправляет вызовы меню для переопределенийonPrepareOptionMenu()
,onCreateOptionsMenu()
иonOptionsItemSelected()
без необходимости вызывать суперфункцию. ( Ie33c5 , б/238057118 )
Обновление зависимостей
- Из действия
1.5.1
: БиблиотекаActivity
теперь зависит от версииLifecycle
2.5.1
. ( Если6697 )
Версия 1.6.0-альфа05
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-альфа04
18 мая 2022 г.
Выпущены androidx.activity:activity:1.6.0-alpha04
и androidx.activity:activity-ktx:1.6.0-alpha04
.
Исправления ошибок
- Исправлена ошибка в
PickVisualMediaRequest
, из-за которой попытка создать запрос через Builder или функцию Kotlin верхнего уровня приводила к переполнению стека. -
OnBackInvokedCallback
интегрирован в Android 13 Dev Beta 2 вOnBackPressedDispatcher
, предоставленныйComponentDialog
. Это гарантирует, что все API, созданные наOnBackPressedDispatcher
будут работать при включении прогнозируемого жеста назад .
Версия 1.6.0-альфа03
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 Developer 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-альфа01
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 Developer 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 , б/238350794 )ComponentActivity
теперь правильно отправляет вызовы меню в переопределенияonPrepareOptionMenu()
,onCreateOptionsMenu()
иonOptionsItemSelected()
без необходимости вызова суперфункции. ( Ie33c5 , б/238057118 )
Обновление зависимости
- Библиотека
Activity
теперь зависит от жизненного цикла2.5.1
. ( Если6697 )
Версия 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 —
ComponentActivity
теперь имеет возможность предоставлятьViewModelProvider.Factory
без сохранения состояния черезCreationExtras
жизненного цикла2.5.0
.
Другие изменения
- Конструктор без параметров для
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-beta01. Версия 1.5.0-rc01 содержит эти коммиты.
Версия 1.5.0-beta01
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-beta01 содержит эти коммиты.
Обновления зависимостей
- Активность теперь зависит от жизненного цикла
2.4.0-beta01
.
Версия 1.5.0-альфа05
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 содержит эти коммиты.
Исправления ошибок
- Функция
onPanelClosed()
ComponentActivity
теперь также вызывает суперonPanelClosed()
, исправляя проблему, из-за которой методonContextMenuClosed
не вызывался. ( Ib6f77 )
Версия 1.5.0-альфа04
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 , б/224844583 )
Версия 1.5.0-альфа03
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-альфа02
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-альфа01
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, представленным как часть Lifecycle2.5.0-alpha01
. ( Ie7e00 , б/207012584 ) - Добавлен
ComponentDialog
, подклассDialog
, который включаетOnBackPressedDispatcher
, который будет вызываться при нажатии кнопки возврата системы, когда диалоговое окно видимо. Важно отметить, что этот подкласс также устанавливаетViewTreeOnBackPressedDispatcherOwner
, позволяя представлениям использовать общий способ получения правильного диспетчера, независимо от того, существует ли он вComponentActivity
илиComponentDialog
. ( I8a1bc ) -
ComponentActivity
теперь реализует новый интерфейсOnNewIntentProvider
, позволяющий любому компоненту получать эти события. ( Если1f8b ) -
ComponentActivity
теперь реализует новый интерфейсOnConfigurationChangedProvider
, позволяющий любому компоненту получать эти события. ( Если623b ) -
ComponentActivity
теперь реализует новый интерфейсOnTrimMemoryProvider
, позволяющий любому компоненту получать эти события. ( Я9295 )
Изменения 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, могли определить правильную допустимость значений NULL для своих классов ввода и вывода. - Класс
ActivityResultContracts
и его контракты были переписаны на Kotlin, чтобы обеспечить правильную возможность обнуления.
Версия 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 , б/200845664 )
Версия 1.4.0-beta01
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-beta01 содержит эти коммиты.
Изменения API
- Исправлен тип
ActivityResultContracts.OpenMultipleDocuments
иActivityResultContracts.GetMultipleContents
, из-за которого затем использовался тип выводаList<? extends Uri>
при использовании кода языка программирования Java. ( If71de ) - Открытые константы в классах
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
иActivityResultContracts.RequestMultiplePermissions
теперь доступны при использовании Kotlin через их теперь общедоступные объектыCompanion
. ( аосп/1832555 )
Обновления документации
- Сообщение об устаревании API, которые теперь обрабатываются API-интерфейсами Activity Result , а именно
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
иonRequestPermissionsResult
, было расширено и содержит более подробную информацию. ( cce80f )
Версия 1.4.0-альфа02
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
теперь содержит ошибку запускаLaunchDuringComposition
, которая не позволяет вам вызвать методlaunch
ActivityResultLauncher
как часть композиции, поскольку композиция не должна иметь побочных эффектов. Используйте API для обработки побочных эффектов . ( 7c2bbe , б/191347220 )
Изменения API
- Класс
ActivityResultContract
был переписан на Kotlin, чтобы разработчики, пишущие пользовательские контракты на Kotlin, могли определить правильную допустимость значений NULL для своих классов ввода и вывода. ( I8a8f5 ) - Класс
ActivityResultContracts
и его контракты были переписаны на Kotlin, чтобы обеспечить правильную возможность обнуления. ( I69802 )
Версия 1.4.0-альфа01
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
, который не был зарегистрирован или не был зарегистрирован. ( Ида75д , р/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 содержит эти коммиты.
Обновления зависимостей
- Активность теперь зависит от Kotlin
1.5.21
. - Действие Compose теперь зависит от Compose
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. Артефакт
activity-compose
предоставляет метод расширенияsetContent
для размещения пользовательского интерфейса Jetpack Compose в действии и специальные оболочки Compose для взаимодействия с API-интерфейсамиComponentActivity
для обработки кнопки возврата системы и API-интерфейсов результатов действий. Более подробную информацию смотрите в документации . - Контракт CaptureVideo . Контракт
CaptureVideo
ActivityResultContract
заменяет устаревший контрактTakeVideo
и возвращает логическое значение, обозначающее успех, которое работает во многих приложениях камеры. - Отслеживание представления подсказок «Картинка в картинке» — пользователи
activity-ktx
теперь могут использовать метод расширенияtrackPipAnimationHintView
вActivity
для автоматического перестроения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 , р/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-beta02
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-beta02 содержит эти коммиты.
Обновлена activity-compose
, которая теперь зависит от Compose 1.0.0-beta09
. androidx.compose.ui:ui-test-junit4
теперь зависит от времени компиляции activity-compose
.
Версия 1.3.0-beta01
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-beta01 содержит эти коммиты.
Изменения API
- Ранее устаревший метод
@Composable registerForActivityResult()
был удален. Пожалуйста, используйтеrememberLauncherForActivityResult()
. ( Ic39d3 )
Версия 1.3.0-альфа08
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 , б/185938070 ) - Добавлен новый API
Activity#setPipAnimationHintView
для обновления прямоугольной подсказки источника PipParams при каждом перемещении представления. ( I9063d )
Изменения API
- Функция
rememberLauncherForActivityResult
теперь возвращает средство запуска, в котором функцияunregister()
устарела — регистрация и отмена регистрации средства запуска обрабатываются автоматически с помощьюrememberLauncherForActivityResult
. ( I2443e )
Совместимость с композицией
-
androidx.activity:activity-compose:1.3.0-alpha08
совместим только с версией Compose1.0.0-beta07
и выше.
Версия 1.3.0-альфа07
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
больше не будет вызывать ложноположительную ошибку lint, говорящую вам использовать1.3.0
. ( аосп/1670206 , б/184847092 )
Версия 1.3.0-альфа06
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
теперь возвращают значение, допускающее значение NULL, чтобы лучше определить, доступно ли оно в текущей композиции. API, которым требуются эти API, такие какBackHandler
иrememberLauncherForActivityResult()
соответственно, теперь будут выдавать более информативную ошибку, если базовый владелец не найден.NavHost
теперь работает, даже еслиOnBackPressedDispatcherOwner
не найден, как это происходит при предварительном просмотреNavHost
. ( I7d8b4 )
Исправления ошибок
-
BackHandler
теперь будет правильно перехватывать обратные нажатия в случае, если действиеSTOPPED
, затем сноваSTARTED
и другие обратные вызовы были добавлены с помощью LifecycleOwner. ( I71de6 , б/182284739 ) - Использование расширения метода
launch()
с пользовательскимActivityResultContract
, имеющим входные данныеUnit
, больше не будет вызывать исключениеNullPointerException
( I76282 , b/183837954 ).
Версия 1.3.0-альфа05
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
, которая приводила к ложному срабатыванию при использовании фрагмента 1.3.1 или выше. ( I54da1 , б/182388985 ) - Из действия 1.2.2 :
ComponentActivity
теперь позволяет избежать исключенияClassNotFoundException
при запускеIntent
изActivityResultContract
, который ранее содержался как дополнительный в другомIntent
. ( Ieff05 , б/182906230 )
Обновления зависимостей
- Из действия 1.2.2 : действие теперь зависит от жизненного цикла
2.3.1
.
Версия 1.3.0-альфа04
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 , б/180884668 ) - Из действия
1.2.1
:ActivityResultRegistry
теперь гарантирует, что выполняемые запросыlaunch()
будут возвращать свои результаты, даже если выunregister()
, а затем сноваregister()
с тем же ключом. ( I9ef34 , б/181267562 ) - Activity Compose больше не добавляет тестовые зависимости в путь к классам среды выполнения. ( Ifd8b3 )
- Исправлена проблема с
BackHandler
, из-за которой ранее установленная лямбдаonBack
все еще использовалась после рекомпозиции. ( 8eb5eb )
Версия 1.3.0-альфа03
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 содержит эти коммиты.
Новые функции
- Теперь есть функция Composable
registerForActivityResult
для получения результатов действий внутри составных объектов. ( Я7851 , б/172690553 )
Изменения API
-
LocalOnBackPressedDispatcherOwner
теперь имеет функцииprovides
, которые можно использовать сCompositionLocalProvider
, заменяя APIasProvidableCompositionLocal()
. ( I45d24 )
Версия 1.3.0-альфа02
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 содержит эти коммиты.
Исправления ошибок
- Исправлена проблема в Activity Compose
1.3.0-alpha01
, которая вызывала исключениеNoSuchMethodError: No static method setContent
при использовании Compose1.0.0-alpha12
. Все пользователи Compose должны использовать версию1.3.0-alpha02
и выше. ( б / 179911234 )
Изменения API
- API
BackHandler
можно использовать, чтобы позволить Composable перехватывать кнопку возврата системы. ( I58ed5 , б/172154006 )
Версия 1.3.0-альфа01
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 Compose для 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
. ( б / 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 , р/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 ). - Исправлена ложноположительная ошибка проверки, сообщающая вам использовать Fragment
1.3.0
при использовании моментального снимка, альфа-, бета-версии или RC-сборки более новой версии Fragments. ( f4a57e , б/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
, которая приводила к ложному срабатыванию при использовании фрагмента 1.3.1 или выше. ( I54da1 , б/182388985 ) -
ComponentActivity
теперь позволяет избежатьClassNotFoundException
при запускеIntent
изActivityResultContract
, который ранее содержался как дополнительный в другомIntent
. ( Ieff05 , б/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 , б/180884668 ) -
ActivityResultRegistry
теперь гарантирует, что выполняемые запросыlaunch()
вернут свои результаты, даже если выunregister()
, а затем сноваregister()
с тем же ключом. ( I9ef34 , б/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()
позволяет запускать блок без приостановки, когда контекст становится доступным, и возвращать результат. - Этот API используется
FragmentActivity
во Fragment 1.3.0 для восстановления состоянияFragmentManager
. Любые прослушиватели, добавленные в подклассыFragmentActivity
, будут запускаться после этого прослушивателя. - Этот API используется
AppCompatActivity
в AppCompat 1.3.0-alpha02 или более поздней версии. Любые прослушиватели, добавленные в подклассыAppCompatActivity
, будут запускаться после этого прослушивателя.
- Приостанавливающее расширение Kotlin
ViewTree
Support :ComponentActivity
now supports theViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
, andViewTreeSavedStateRegistryOwner
APIs added in Lifecycle2.3.0
and SavedState1.1.0
such that it will return the Activity as theLifecycleOwner
,ViewModelStoreOwner
, andSavedStateRegistryOwner
for any Views directly added to theComponentActivity
.
- reportFullyDrawn() backport - The
Activity
method ofreportFullyDrawn()
has been backported inComponentActivity
to work on all API levels, fixing a crash on API 19 and adding tracing for this method for all API levels.
Версия 1.2.0-rc01
16 декабря 2020 г.
androidx.activity:activity:1.2.0-rc01
and androidx.activity:activity-ktx:1.2.0-rc01
are released. Version 1.2.0-rc01 contains these commits.
Исправления ошибок
- The
ActivityResultRegistry
now always restores the exact state that was saved. ( Idd56b ) - Add tracing to
ComponentActivity.reportFullyDrawn
( Ic7632 )
Внешний вклад
-
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 )
Версия 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 )
Внешний вклад
- Updated the documentation for
launch()
to explicitly call out that it can throw anActivityNotFoundException
. Thanks Michał Zieliński! ( aosp/1493580 )
Версия 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 )
Изменения поведения
- 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 )
Версия 1.2.0-альфа08
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 )
Версия 1.2.0-альфа07
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 )
Внешний вклад
- Fixed an
ArrayIndexOutOfBoundsException
when parsing the results for theRequestPermission
Activity Result contract. ( I8f9e3 , b/161057605 )
Версия 1.2.0-альфа06
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
- 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 )
Версия 1.2.0-альфа05
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
- 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 )
Изменения поведения
- The
ActivityResultRegistry
now generates request codes starting at0xFFFF
rather than at0
, preventing overlap when usingstartActivityForResult()
orrequestPermissions()
in an activity. ( aosp/1302324 )
Версия 1.2.0-альфа04
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
- 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 )
Версия 1.2.0-альфа03
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
- 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 )
Версия 1.2.0-альфа02
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 )
Версия 1.2.0-альфа01
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 .
Важные изменения с версии 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.
Версия 1.1.0-rc03
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 .
Изменения зависимости
- Activity now depends on Lifecycle
2.2.0-rc03
and Lifecycle ViewModel SavedState1.0.0-rc03
.
Версия 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 .
Изменения зависимости
- Activity now depends on lifecycle
2.2.0-rc02
.
Версия 1.1.0-rc01
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 .
Версия 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 .
Изменения зависимости
- Activity now depends on SavedState 1.0.0 stable.
Версия 1.1.0-альфа03
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
.
Версия 1.1.0-альфа02
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 )
Версия 1.1.0-альфа01
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.
Версия 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 .
Версия 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 .
Версия 1.0.0-альфа08
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
Версия 1.0.0-альфа07
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 )
Версия 1.0.0-альфа06
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 )
Версия 1.0.0-альфа05
13 марта 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 )
Версия 1.0.0-альфа04
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.
Версия 1.0.0-альфа03
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 ]
Версия 1.0.0-альфа02
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 )
Версия 1.0.0-альфа01
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.