Активность
Последнее обновление | Стабильный выпуск | Релиз-кандидат | Бета-версия | Альфа-релиз |
---|---|---|---|---|
24 июля 2024 г. | 1.9.1 | - | - | 1.10.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимость от Activity, вы должны добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { def activity_version = "1.9.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Котлин
dependencies { val activity_version = "1.9.1" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см. в документации по системе отслеживания проблем .
Версия 1.10
Версия 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.1
24 июля 2024 г.
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
и androidx.activity:activity-ktx:1.9.1
выпущены. Версия 1.9.1 содержит эти коммиты .
Исправление ошибок
- Исправлена проблема с
PredictiveBackHandler
, из-за которой после восстановления системы попытка выполнитьonBackPressed
изOnBackPressedDispatcher
завершалась неудачей. ( I5f1f8 )
Версия 1.9.0
17 апреля 2024 г.
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
и androidx.activity:activity-ktx:1.9.0
выпущены. Версия 1.9.0 содержит эти коммиты .
Важные изменения с версии 1.8.0
-
ComponentActivity
теперь реализуетOnUserLeaveHintProvider
чтобы позволить компонентам выполнять обратные вызовы для событийonUserLeaveHint
. - API-интерфейсы
OnBackPressedCallback
,BackHandler
иPredictiveBackHandler
теперь предупреждают при вызовеonBackPressedDispatcher.onBackPressed()
при обработке обратного вызова, так как это всегда будет нарушать Predictive Back Animation . Более подробную информацию можно найти в руководстве по передовому опыту . - Остальные API активности были переписаны на 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-бета01
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 содержит эти коммиты .
Исправление ошибок
- Исправлено снижение производительности при запуске действия, появившееся в действии
1.9.0-alpha02
, вызванное вызовомOnBackPressedDispatcher
в рамках создания действия. ( Ie75e3 )
Версия 1.9.0-альфа03
7 февраля 2024 г.
Выпущены androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
и androidx.activity:activity-ktx:1.9.0-alpha03
. Версия 1.9.0-alpha03 содержит эти коммиты.
Предупреждение о ворсе
- API-интерфейсы
OnBackPressedCallback
,BackHandler
иPredictiveBackHandler
теперь предупреждают при вызовеonBackPressedDispatcher.onBackPressed()
при обработке обратного вызова, так как это всегда будет нарушать Predictive Back Animation . Более подробную информацию см. в руководстве по передовому опыту . ( 1e4222 , 2c950d , б/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 содержит эти коммиты.
Котлин-преобразования
-
ActivityResultRegistry
переписан на Kotlin. Это гарантирует, что обнуляемость дженериков в контракте, переданном вregister
будет правильно передана в возвращаемый вамActivityResultLauncher
. ( I121f0 ) -
ActivityResult
переписан на Kotlin. Расширения KotlinActivityResult
, поддерживающие деструктуризацию вresultCode
и поляхdata
, были перенесены изactivity-ktx
вactivity
. ( I0565a ) - Расширения Kotlin
by viewModels()
дляComponentActivity
иtrackPipAnimationHintView
были перенесены изactivity-ktx
вactivity
. Артефактactivity-ktx
теперь совершенно пуст. ( I0a444 )
Исправление ошибок
- API
enableEdgeToEdge
теперь рисует вокруг любых вырезов дисплея. ( а3644b , б/311173461 ) - Из действия
1.8.2
: исправлена дополнительная информация, передаваемая в контракт действия по выбору фотографийACTION_SYSTEM_FALLBACK_PICK_IMAGES
, чтобы правильно передать ей ключEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
вместо использования дополнительной функции с ключом"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. Если вы являетесь OEM-производителем и реализуете резервную систему Photo Picker, настоятельно рекомендуется поддерживать обе дополнительные функции для обеспечения максимально широкой совместимости. ( I96a00 )
Версия 1.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. ( Ид4615 ) -
PickVisualMediaRequest
теперь имеет тот же минимальный уровень API 19, что и контракт результата действияPickVisualMedia
. ( 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-производителем и реализуете резервную систему Photo Picker, настоятельно рекомендуется поддерживать обе дополнительные функции для обеспечения максимально широкой совместимости. ( I96a00 )
Версия 1.8.1
15 ноября 2023 г.
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
и androidx.activity:activity-ktx:1.8.1
выпущены. Версия 1.8.1 содержит эти коммиты.
Исправление ошибок
-
OnBackPressedDispatcher
теперь продолжает отправлять правильныйOnBackPressedCallback
даже после добавления новогоOnBackPressedCallback
во время обработки жеста возврата. ( Id0ff6 )
Версия 1.8.0
4 октября 2023 г.
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
и androidx.activity:activity-ktx:1.8.0
выпущены. Версия 1.8.0 содержит эти коммиты.
Важные изменения с версии 1.7.0
- Predictive Back —
OnBackPressedCallback
теперь предлагает новые обратные вызовы Predictive Back для обработки запуска жеста назад, продвижения на протяжении всего жеста и отмены жеста назад в дополнение к предыдущему обратному вызовуhandleOnBackPressed()
когда фиксируется жест назад. Сюда также входитPredictiveBackHandler
Composable для обработки событий прогнозируемых жестов назад в Activity Compose. Он предоставляет поток объектов BackEventCompat, которые необходимо собрать в предоставленной вами приостанавливающей ламбе:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
устарел в пользу API для обратной обработки. Теперь разработчикам следует использовать OnBackPressedDispatcher
, а не переопределять этот метод.
- EdgeToEdge —
ComponentActivity.enableEdgeToEdge()
был добавлен для простой настройки отображения от края до края с обратной совместимостью.
Версия 1.8.0-rc01
20 сентября 2023 г.
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
и androidx.activity:activity-ktx:1.8.0-rc01
выпущены. Версия 1.8.0-rc01 содержит эти коммиты.
Версия 1.8.0-бета01
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
. ( аосп/2722254 )
Версия 1.8.0-альфа07
23 августа 2023 г.
Выпущены androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
и androidx.activity:activity-ktx:1.8.0-alpha07
. Версия 1.8.0-alpha07 содержит эти коммиты.
Новые возможности
В Activity Compose добавлен новый
PredictiveBackHandler
Composable для обработки событий прогнозируемых жестов назад. Он предоставляетFlow
объектовBackEventCompat
, которые необходимо собрать в предоставленной вами приостанавливающей ламбе:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
Он также поставляется с предупреждением во время компиляции с помощью правила lint, чтобы гарантировать, что
Flow
вызываетcollect()
. ( Id2773 , б / 294884345 )onBackPressedDispatcher
вComponentActivity
теперь инициализируется лениво, поэтому он создается только при необходимости. ( I0bf8e )
Исправление ошибок
-
ComponentActivity
больше не будет отображать NPE на Android 13, когда он получает обратный вызовonBackPressed()
, а Activity ужеDESTROYED
. ( Idb055 , б/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
, чтобы предоставить собственную логику для обнаружения ночного режима. ( аосп/2546393 , б/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 , б/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
. Это было выпущено из внутренней ветки.
Исправление ошибок
- Из действия 1.7.1 : —
ReportFullyDrawExecuter
больше не протекает при использованииComponentActivity
сActivityScenario
. ( Id2ff2 , б/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 , б/271596918 ) -
ComponentDialog
иComponentActivity
теперь содержат общедоступный APIinitViewTreeOwners()
который будет использоваться для инициализации всех владельцев дерева представлений перед настройкой представления содержимого. ( Ibdce0 , б/261314581 )
Исправление ошибок
- Исправлена проблема, из-за которой фрагменты неправильно признавали недействительными MenuHosts и приводили к неожиданному поведению других меню в действии. ( I9404e , б/244336571 )
Другие изменения
-
ActivityResultRegister
теперь использует KotlinRandom
вместо Java. ( I4d98f , б/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
. Разработан из внутренней ветки.
Обновление зависимостей
- Из действия
1.7.0-rc01
: действие теперь зависит отLifecycle 2.6.0
.
Версия 1.8.0-альфа01
8 февраля 2023 г.
Выпущены androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
и androidx.activity:activity-ktx:1.8.0-alpha01
. Это было построено из внутренней ветки.
Новые возможности
- Класс
OnBackPressedCallback
теперь содержит новые обратные вызовы прогресса Predictive Back для обработки запуска жеста назад, выполнения на протяжении всего жеста и отмены жеста назад в дополнение к предыдущему обратному вызову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 , б/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 , б/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, реализовав резервное действие . Средство выбора фотографий будет использовать этот резервный вариант, если он доступен, прежде чем вернуться к использованиюIntent.ACTION_OPEN_DOCUMENT
, который продолжает поддерживать все устройства API 19 и более поздних версий. -
ComponentDialog
теперь реализуетSavedStateRegistryOwner
и имеет доступ к собственномуSavedStateRegistry
и устанавливаетSavedStateRegistryOwner
для своегоViewTree
. Теперь можно использовать Jetpack Compose внутриComponentDialog
, поскольку он соответствует какLifecycleOwner
, так иSavedStateRegistryOwner
, прикрепленным к окну через требования APIViewTree
. -
IntentSenderRequest.Builder.setFlags()
теперь позволяет вам устанавливать несколько флагов изIntent
, а не только один флаг.
Котлин-конвертация
Ряд классов Activity были преобразованы в Kotlin. Все преобразованные классы по-прежнему сохраняют двоичную совместимость с предыдущими версиями. Следующие классы имеют изменения, несовместимые с исходным кодом для классов, написанных на Kotlin: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
В таблице ниже представлены исходные преобразования для новой версии Activity:
Мероприятие 1.5 | Мероприятие 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry | override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher | override val onBackPressedDispatcher = onBackPressedDispatcher |
Эти классы также были преобразованы в Kotlin, но остались совместимыми с исходным кодом: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
и OnBackPressedDispatcher
.
API FullyDrawnReporter
ComponentActivity
теперь предоставляет экземпляр FullyDrawnReporter
, который позволяет нескольким компонентам сообщать, когда они готовы к взаимодействию. ComponentActivity
будет ждать завершения работы всех компонентов, прежде чем вызывать reportFullyDrawn()
от вашего имени. Эти API отвечают за требования к времени, и их не нужно вызывать как часть вызова onDraw
.
Эти API рекомендуется включать:
- Сигнализация среды выполнения Android после завершения запуска, чтобы гарантировать, что весь код, выполняемый во время многокадровой последовательности запуска, включен и имеет приоритет для фоновой компиляции.
- Сигнализация Macrobenchmark и Play Vitals, когда ваше приложение следует считать полностью прорисованным для показателей запуска, чтобы вы могли отслеживать производительность.
Были добавлены три API-интерфейса Activity Compose, чтобы сделать более удобным использование FullyDrawnReporter
из отдельных компонуемых объектов:
-
ReportDrawn
указывает, что ваш составной объект немедленно готов к взаимодействию. -
ReportDrawnWhen
принимает предикат (т. е.list.count > 0
), чтобы указать, когда ваш составной объект готов к взаимодействию. -
ReportDrawnAfter
принимает метод приостановки, который по завершении указывает, что вы готовы к взаимодействию.
Обновления зависимостей
- Активность теперь зависит от жизненного цикла
2.6.1
. ( 8fc31d ) - Активность теперь зависит от ProfileInstaller
1.3.0
. ( 83d3b1 )
Версия 1.7.0-rc01
8 марта 2023 г.
androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
и androidx.activity:activity-ktx:1.7.0-rc01
выпущены. Версия 1.7.0-rc01 содержит эти коммиты.
Обновление зависимостей
- Активность теперь зависит от
Lifecycle 2.6.0
.
Версия 1.7.0-бета02
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-бета01
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 недоступна, теперь корректно ограничивает обработку приложениями, установленными в системном образе устройства. ( Если8ае6 )
Котлин-преобразования
-
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, предоставляемую Photo Picker, устарел. Рекомендуется использовать новый 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 b/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- бета01. Версия 1.5.0-rc01 содержит эти коммиты.
Версия 1.5.0-бета01
20 апреля 2022 г.
Выпущены androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
и androidx.activity:activity-ktx:1.5.0-beta01
. Версия 1.5.0-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, введенным в рамках жизненного цикла2.5.0-alpha01
. ( IE7E00 , B/207012584 ) - Добавлен
ComponentDialog
, подклассDialog
, который включает в себяOnBackPressedDispatcher
, который будет вызван, когда кнопка «Окна» нажатится, когда диалог виден. Важно отметить, что этот подкласс также устанавливаетViewTreeOnBackPressedDispatcherOwner
, позволяя представлениям общий способ получить правильный диспетчер, независимо от того, существует ли он вComponentActivity
илиComponentDialog
. ( I8a1bc ) -
ComponentActivity
теперь реализует новый интерфейсOnNewIntentProvider
чтобы позволить любому компоненту получать эти события. ( If1f8b ) -
ComponentActivity
теперь реализует новый интерфейсOnConfigurationChangedProvider
чтобы позволить любому компоненту получать эти события. ( If623b ) -
ComponentActivity
теперь реализует новый интерфейсOnTrimMemoryProvider
чтобы позволить любому компоненту получать эти события. ( IA9295 )
Изменения API
- Конструктор без параметров для
ActivityResultContracts.CreateDocument
был устарел и заменен новым конструктором, который принимает конкретный тип MIME (например,"image/png"
), как требуетсяIntent.ACTION_CREATE_DOCUMENT
. ( I2bec6 ) -
OnBackPressedDispatcherOwner
связанный с представлением, теперь может быть получен черезViewTreeOnBackPressedDispatcherOwner
, а не полагаться на составContext
. ( I74685 )
Исправление ошибок
- Исправлена сбой при доступе к
ViewModel
в первый раз из обратного вызововregisterForActivityResult()
или обратных вызовов вLifecycleObserver
добавленный в рамкахinit
ComponentActivity
. ( IFE83F )
Версия 1.4.0
Версия 1.4.0
27 октября 2021 г.
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
, и androidx.activity:activity-ktx:1.4.0
выпускаются. Версия 1.4.0 содержит эти коммиты.
Важные изменения с версии 1.3.0
- Androidx
ComponentActivity
теперь реализует интерфейсMenuHost
. Это позволяет любому компоненту добавлять элементы меню вActionBar
, добавив в действие экземплярMenuProvider
. КаждоеMenuProvider
можно добавить с помощьюLifecycle
, который автоматически контролирует видимость этих пунктов меню на основе состоянияLifecycle
и обрабатывать удалениеMenuProvider
, когдаLifecycle
разрушен. - Класс
ActivityResultContract
был переписан в Kotlin, чтобы гарантировать, что разработчики, пишущие пользовательские контракты в Kotlin, могут определить правильную нулясь для их классов ввода и вывода. - Класс
ActivityResultContracts
и его контракты были переписаны в Котлине, чтобы обеспечить надлежащую нуль.
Версия 1.4.0-rc01
13 октября 2021 г.
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
и androidx.activity:activity-ktx:1.4.0-rc01
высвобождаются. Версия 1.4.0-rc01 содержит эти коммиты.
Исправление ошибок
-
ActivityResultRegistry
больше не вернет результат вActivityResultCallback
, когдаlaunch
вызовов бросает любоеException
. ( IF4F91 , B/200845664 )
Версия 1.4.0-бета01
29 сентября 2021 г.
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
и androidx.activity:activity-ktx:1.4.0-beta01
выпускаются. Версия 1.4.0-beta01 содержит эти коммиты.
Изменения API
- Исправлена тип для
ActivityResultContracts.OpenMultipleDocuments
иActivityResultContracts.GetMultipleContents
, которые заставили затем использовать выходной типList<? extends Uri>
при использовании кода из языка программирования Java. ( If71de ) - Общественные константы в рамках
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
иActivityResultContracts.RequestMultiplePermissions
теперь доступны при использовании Kotlin через свои нынеCompanion
объекты. ( AOSP/1832555 )
Обновления документации
- Сообщение об испаке для API, которые теперь обрабатывают API -интерфейсы результатов деятельности , а именно
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
иonRequestPermissionsResult
, все были расширены с более подробной информацией. ( CCE80F )
Версия 1.4.0-альфа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
в настоящее время содержит ошибку LintLaunchDuringComposition
Lint, которая мешает вам вызвать методlaunch
ActivityResultLauncher
как часть композиции, поскольку композиция должна быть свободна от побочного эффекта. Используйте API для обработки побочных эффектов . ( 7C2BBE , B/191347220 )
Изменения API
- Класс
ActivityResultContract
был переписан в Kotlin, чтобы гарантировать, что разработчики, пишущие пользовательские контракты в Kotlin, могут определить правильную нулясь для их классов ввода и вывода. ( I8a8f5 ) - Класс
ActivityResultContracts
и его контракты были переписаны в Котлине, чтобы обеспечить надлежащую нуль. ( 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
, который не зарегистрирован или который не был зарегистрирован. ( IDA75D , B/192567522 )
Внешний вклад
Версия 1.3.1
Версия 1.3.1
4 августа 2021 г.
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
, и androidx.activity:activity-ktx:1.3.1
выпускаются. Версия 1.3.1 содержит эти коммиты.
Обновления зависимостей
- Деятельность теперь зависит от котлина
1.5.21
. - СООБЩЕНИЕ СОЗДАНИЯ В настоящее время зависит от составления
1.0.1
.
Версия 1.3.0
Версия 1.3.0
28 июля 2021 г.
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
, и androidx.activity:activity-ktx:1.3.0
выпускаются. Версия 1.3.0 содержит эти коммиты.
Важные изменения с версии 1.2.0
- Активное сочинение артефакт - Артефакт
activity-compose
обеспечивает метод расширенияsetContent
для размещения вашего JetPack Compose UI в действии и сочинять конкретные обертки для взаимодействия с APIComponentActivity
для обработки кнопки «Система» и API -интерфейсы результатов активности. Более подробную информацию смотрите в документации . - CaptureVideo Contract -
CaptureVideo
ActivityResultContract
заменяет теперь устаревший контрактTakeVideo
и возвращает логический обозначение успеха, который работает во многих приложениях для камеры. - Отслеживание подсказки для изображения в картине -Пользователи
Activity
activity-ktx
теперь могут использовать метод расширенияtrackPipAnimationHintView
для автоматического восстановленияPictureInPictureParams
с новой позицией представления, поскольку он меняет положение относительно окна.
Версия 1.3.0-RC02
14 июля 2021 г.
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
и androidx.activity:activity-ktx:1.3.0-rc02
высвобождаются. Версия 1.3.0-RC02 содержит эти коммиты.
Исправление ошибок
- Обратные вызовы
ActivityResultRegistry
теперь должным образом сохраняются и восстанавливаются, поэтому обратные вызовы не дублируются в сохранении. ( I97816 , B/191893160 )
Версия 1.3.0-rc01
1 июля 2021 г.
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
и androidx.activity:activity-ktx:1.3.0-rc01
высвобождаются без изменений из 1.3.0-beta02
. Версия 1.3.0-rc01 содержит эти коммиты.
Версия 1.3.0-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
, чтобы зависеть от составления 1.0.0-beta09
. androidx.compose.ui:ui-test-junit4
теперь имеет зависимость от времени компиляции от activity-compose
.
Версия 1.3.0-бета01
2 июня 2021 г.
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
и androidx.activity:activity-ktx:1.3.0-beta01
выпускаются. Версия 1.3.0-beta01 содержит эти коммиты.
Изменения API
- Ранее устаревший метод
@Composable registerForActivityResult()
был удален. Пожалуйста, используйтеrememberLauncherForActivityResult()
. ( IC39D3 )
Версия 1.3.0-Alpha08
18 мая 2021 г.
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
и androidx.activity:activity-ktx:1.3.0-alpha08
. Версия 1.3.0-Alpha08 содержит эти коммиты.
Новые возможности
- Новый
CaptureVideo
ActivityResultContract
возвращает логическое значение для вашейActivityResultCallback
, что указывает, было ли ваше видео успешно сохранено в данном URI. Это заменяет устаревший контрактTakeVideo
, поскольку приложения камеры очень редко поддерживают возвращение растровой карты миниатюры, что делает результат бесполезным. ( IE21F2 , B/185938070 ) - Добавлен новый API
Activity#setPipAnimationHintView
чтобы обновить подсказку источника Pipparams, когда перемещается представление. ( I9063d )
Изменения API
- Функция
rememberLauncherForActivityResult
теперь возвращает пусковую установку, которая осуждает функциюunregister()
- регистрация и нерегистрирование пусковой установки автоматически обрабатываетсяrememberLauncherForActivityResult
. ( I2443e )
Составьте совместимость
-
androidx.activity:activity-compose:1.3.0-alpha08
совместим только с Compose Version1.0.0-beta07
и выше.
Версия 1.3.0-Alpha07
21 апреля 2021 г.
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
и androidx.activity:activity-ktx:1.3.0-alpha07
. Версия 1.3.0-Alpha07 содержит эти коммиты.
Исправление ошибок
-
rememberLauncherForActivityResult
теперь возвращает стабильную ссылку на тот же экземплярActivityResultLauncher
, даже если контракт изменяется из -за переоборудования. ( Id2d6d ) - Использование нестабильных версий фрагментов выше
1.3.0
больше не будет бросить ложную положительную ошибку ворса, говорящая вам на1.3.0
. ( AOSP/1670206 , B/184847092 )
Версия 1.3.0-Alpha06
7 апреля 2021 г.
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
и androidx.activity:activity-ktx:1.3.0-alpha06
. Версия 1.3.0-Alpha06 содержит эти коммиты.
Изменения API
- API
registerForActivityResult()
был переименован, чтобыrememberLauncherForActivityResult()
чтобы лучше указать, что возвращаемыйActivityResultLauncher
- это управляемый объект, который запоминается от вашего имени. Попытка назватьunregister
возвращаемойActivityResultLauncher
теперь вынесет ошибку. ( I2bb6d ) -
LocalOnBackPressedDispatcherOwner.current
иLocalActivityResultRegistryOwner.current
теперь возвращает нулевое значение, чтобы лучше определить, доступно ли оно в текущей композиции. API, которые требуют тех API, таких какBackHandler
иrememberLauncherForActivityResult()
, соответственно, теперь принесут более описательную ошибку, если базовый владелец не найден.NavHost
теперь работает, даже когдаOnBackPressedDispatcherOwner
не найден, в этом случае при предварительном просмотреNavHost
. ( I7d8b4 )
Исправление ошибок
-
BackHandler
теперь будет правильно перехватывать задними прессами в случаеSTOPPED
деятельности, затемSTARTED
снова, а другие обратные вызовы были добавлены с жизненным циклом. ( I71de6 , b/182284739 ) - Использование расширения метода
launch()
с помощью пользовательскогоActivityResultContract
, которое имеетUnit
ввода, больше не будет вызыватьNullPointerException
( I76282 , B/183837954 )
Версия 1.3.0-альфа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
Lint Проверка, которая привела к ложноположительному положительному при использованию фрагмента 1.3.1 или выше. ( I54da1 , b/182388985 ) - Из деятельности 1.2.2 :
ComponentActivity
теперь позволяет избежатьClassNotFoundException
при запускеIntent
отActivityResultContract
, который ранее считался дополнительным в другомIntent
. ( IEFF05 , B/182906230 )
Обновления зависимостей
- От деятельности 1.2.2 : активность теперь зависит от жизненного цикла
2.3.1
.
Версия 1.3.0-альфа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 , b/180884668 ) - Из деятельности
1.2.1
:ActivityResultRegistry
теперь гарантирует, что запросы в процессеlaunch()
будут возвращать свои результаты, даже если выunregister()
сноваregister()
с тем же ключом. ( I9ef34 , b/181267562 ) - Activity Compose больше не добавляет тестовых зависимостей к классовой дороге. ( IFD8B3 )
- Исправлена проблема с
BackHandler
, в которой ранееonBack
Lambda все еще использовалась после переоборудования. ( 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 содержит эти коммиты.
Новые возможности
- В настоящее время существует композиционная функция
registerForActivityResult
для получения результатов деятельности в рамках композибельных продуктов. ( IA7851 , B/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 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема в активности составьте
1.3.0-alpha01
, которая вызываетNoSuchMethodError: No static method setContent
Excontent Excontent при использовании Compose1.0.0-alpha12
. Все пользователи композиции должны зависеть от1.3.0-alpha02
и выше. ( B/179911234 )
Изменения API
- API
BackHandler
может использоваться для того, чтобы позволить композиции для перехвата системы обратной связи. ( I58ed5 , b/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 сочинять конкретных помощников для API-интерфейсовandroidx.activity
.-
ComponentActivity.setContent
перешел отandroidx.compose.ui.platform.setContent
вandroidx.activity.compose.setContent
. ( ICF416 )
-
Известные вопросы
- Использование Activity Compose
1.3.0-alpha01
и библиотеки, которые зависят от этого, таких какandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, приведет к исключениюNoSuchMethodError: No static method setContent
. ( B/179911234 )
Версия 1.2.4
Версия 1.2.4
21 июля 2021 г.
androidx.activity:activity:1.2.4
и androidx.activity:activity-ktx:1.2.4
выпускаются. Версия 1.2.4 содержит эти коммиты.
Исправление ошибок
- Из деятельности
1.3.0-rc02
: обратные вызовы ActivityResultregistry теперь должным образом сохраняются и восстанавливаются, поэтому обратные вызовы не дублируются в сохранении. ( I97816 , B/191893160 )
Версия 1.2.3
Версия 1.2.3
5 мая 2021 г.
androidx.activity:activity:1.2.3
и androidx.activity:activity-ktx:1.2.3
выпускаются. Версия 1.2.3 содержит эти коммиты.
Исправление ошибок
- Использование расширения метода
launch()
с помощью пользовательскогоActivityResultContract
, которое имеетUnit
ввода, больше не будет вызыватьNullPointerException
( I76282 , B/183837954 ) - Исправлена ложная ошибка положительного ворса, в котором говорилось, что вы используете фрагмент
1.3.0
при использовании моментального снимка, альфа, бета -версии или RC строительства более новой версии фрагментов. ( F4A57E , B/184847092 )
Версия 1.2.2
Версия 1.2.2
24 марта 2021 г.
androidx.activity:activity:1.2.2
и androidx.activity:activity-ktx:1.2.2
выпускаются. Версия 1.2.2 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема в
InvalidFragmentVersionForActivityResult
Lint Проверка, которая привела к ложному положительному при использованию фрагмента 1.3.1 или выше. ( I54da1 , b/182388985 ) -
ComponentActivity
теперь избегаетClassNotFoundException
при запускеIntent
отActivityResultContract
, который ранее считался дополнительным в другомIntent
. ( IEFF05 , B/182906230 )
Обновления зависимостей
- Активность теперь зависит от жизненного цикла
2.3.1
.
Версия 1.2.1
Версия 1.2.1
10 марта 2021 г.
androidx.activity:activity:1.2.1
и androidx.activity:activity-ktx:1.2.1
выпускаются. Версия 1.2.1 содержит эти коммиты.
Исправление ошибок
-
RequestMultiplePermissions
теперь всегда возвращает результаты для всех запрошенных разрешений, а не только разрешения, которые ранее не были предоставлены. ( I50bc3 , b/180884668 ) -
ActivityResultRegistry
теперь гарантирует, что в процессеlaunch()
запросы запуска () будут возвращать свои результаты, даже если выunregister()
, то сноваregister()
с тем же ключом. ( I9ef34 , b/181267562 )
Версия 1.2.0
Версия 1.2.0
10 февраля 2021 г.
androidx.activity:activity:1.2.0
и androidx.activity:activity-ktx:1.2.0
выпускаются. Версия 1.2.0 содержит эти коммиты.
Основные изменения с 1.1.0
- APIS РЕЗУЛЬТАТЫ ДЕЙСТВИТЕЛЬНОСТЬ :
ComponentActivity
теперь обеспечиваетActivityResultRegistry
, которая позволяет вам обрабатыватьstartActivityForResult()
+onActivityResult()
а такжеrequestPermissions()
+onRequestPermissionsResult()
, без переоценки методов или фрагмента, повышает безопасность типа с помощьюActivityResultContract
. Для тестирования этих потоков. Смотрите обновленную получение результата от деятельности .
ContextAware
:ComponentActivity
теперь реализуетContextAware
, позволяя вам добавить один или несколько экземпляровOnContextAvailableListener
, которые получат обратный вызов перед базовойActivity.onCreate()
.- Приостановление расширения Kotlin
withContextAvailable()
позволяет запустить блок, не связанный с SUSPENDING, когда контекст становится доступным, и вернуть результат. - Этот API используется
FragmentActivity
в фрагменте 1.3.0 для восстановления состоянияFragmentManager
. Любые слушатели, добавленные к подклассамFragmentActivity
будут работать после этого слушателя. - Этот API используется
AppCompatActivity
в AppCompat 1.3.0-Alpha02 или выше. Любые слушатели, добавленные к подклассамAppCompatActivity
будут работать после этого слушателя.
- Приостановление расширения Kotlin
Поддержка
ViewTree
:ComponentActivity
теперь поддерживаетViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
иViewTreeSavedStateRegistryOwner
APISViewModelStoreOwner
добавленные в LifeCycle2.3.0
и SavedState1.1.0
, что он вернет Activity AsLifecycleOwner
, иSavedStateRegistryOwner
для любых представлений, непосредственно добавленных вComponentActivity
.
- Отчетный отчетмон () Backport - Метод
Activity
reportFullyDrawn()
был возвращен вComponentActivity
чтобы работать на всех уровнях API, исправляя сбой на API 19 и добавляя трассировку для этого метода для всех уровней API.
Версия 1.2.0-rc01
16 декабря 2020 г.
androidx.activity:activity:1.2.0-rc01
и androidx.activity:activity-ktx:1.2.0-rc01
выпускаются. Версия 1.2.0-rc01 содержит эти коммиты.
Исправление ошибок
-
ActivityResultRegistry
теперь всегда восстанавливает точное состояние, которое было сохранено. ( Idd56b ) - Добавить трассировку в
ComponentActivity.reportFullyDrawn
.
Внешний вклад
-
ComponentActivity
теперь переопределяетreportFullyDrawn()
, позволяя его вызвать на все уровни API и исправлять сбой при вызове этого метода без соответствующего разрешения системы на устройствах API 19. Спасибо Саймон Шиллер! ( B/163239764 , #103 )
Версия 1.2.0-бета02
2 декабря 2020 г.
androidx.activity:activity:1.2.0-beta02
и androidx.activity:activity-ktx:1.2.0-beta02
выпускаются. Версия 1.2.0-beta02 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема, в которой API результата активности не будет ждать, когда будет
STARTED
жизненный цикл, прежде чем получить результаты при регистрации наLifecycle
. ( I109ea )
Внешний вклад
- Обновлено документацию для
launch()
, чтобы явно назвать, что она может броситьActivityNotFoundException
. Спасибо, Михал, Зелиньски! ( AOSP/1493580 )
Версия 1.2.0-бета01
1 октября 2020 г.
androidx.activity:activity:1.2.0-beta01
и androidx.activity:activity-ktx:1.2.0-beta01
выпускаются. Версия 1.2.0-beta01 содержит эти коммиты.
Исправление ошибок
ActivityResultRegistry
теперь случайным образом генерирует целые числа до тех пор, пока не найдет тот, который не раскрывается для использования в качествеregister()
, что предотвращает возможное переполнение целого числа, вызванное увеличением кодов запросов. ( B/168779518 )Наблюдатели
Lifecycle
должным образом удаляются при вызовеunregister()
наActivityResultLauncher
. ( B/165608393 )
Изменения поведения
-
ActivityResultRegistry
теперь бросаетIllegalStateException
когда попытка позвонитьregister()
сLifecycleOwner
, чейLifecycle
уже достиг ужеSTARTED
. ( B/165435866 )
Документация обновлена
-
ContextAware
документация ссылается наLifecycleOwner
, чтобы выделить обратные вызовыLifecycle
в качестве подходящего места для событий создания и разрушения. ( AOSP/1414152 )
Версия 1.2.0-альфа08
19 августа 2020 г.
androidx.activity:activity:1.2.0-alpha08
и androidx.activity:activity-ktx:1.2.0-alpha08
выпускаются. Версия 1.2.0-alpha08 содержит эти коммиты.
Новые возможности
-
ComponentActivity
теперь реализуетContextAware
, позволяя добавлять один или несколько экземпляровOnContextAvailableListener
, которые получат обратный вызов перед базовойActivity.onCreate()
. ( B/161390636 )- Приостановление расширения Kotlin
withContextAvailable()
позволяет запустить блок, не связанный с SUSPENDING, когда контекст становится доступным, и вернуть результат. ( I8290c ) - Этот API используется
FragmentActivity
в фрагменте 1.3.0-Alpha08 для восстановления состоянияFragmentManager
. Любые слушатели, добавленные к подклассамFragmentActivity
будут работать после этого слушателя. ( I513da ) - Этот API используется
AppCompatActivity
в AppCompat 1.3.0-Alpha02 . Любые слушатели, добавленные к подклассамAppCompatActivity
будут работать после этого слушателя. ( I513da )
- Приостановление расширения Kotlin
Исправление ошибок
- Исправлена проблема с проверкой LINT
ActivityResultFragmentVersionDetector
, которая заставила его сломаться при использовании Lint 27.1.0 или выше. ( B/162155191 )
Версия 1.2.0-альфа07
22 июля 2020 г.
androidx.activity:activity:1.2.0-alpha07
и androidx.activity:activity-ktx:1.2.0-alpha07
выпускаются. Версия 1.2.0-alpha07 содержит эти коммиты.
Новые возможности
- Добавлена новая
InvalidFragmentVersionForActivityResult
Lint Проверка, которая проверяет, что вы используете фрагмент1.3.0-alpha07
при использовании API результата активности , избегая сбоев времени выполнения из-за проблем «неверного запроса» и запросов на разрешение на разрешение на не функционирование, вызванные использованием более старых версий фрагментов. ( B/152554847 )
Внешний вклад
- Исправлено
ArrayIndexOutOfBoundsException
при анализе результатов для договора результатов деятельностиRequestPermission
. ( I8f9e3 , b/161057605 )
Версия 1.2.0-альфа06
10 июня 2020 г.
androidx.activity:activity:1.2.0-alpha06
и androidx.activity:activity-ktx:1.2.0-alpha06
выпускаются. Версия 1.2.0-alpha06 содержит эти коммиты.
Новые возможности
- Теперь вы можете уничтожить класс
ActivityResult
в Котлине, чтобы напрямую получить доступ кrequestCode
иintent
. ( B/157212935 ) -
ActivityResultLauncher
теперь позволяет вам получитьActivityResultContract
, который использовался для регистрации пусковой установки. ( B/156875743 )
Изменения API
- Перерывные изменения : метод
invoke()
наActivityResultRegistry
был переименован вonLaunch()
. ( B/157496491 ) - Контракт
OpenMultipleDocuments
теперь возвращает пустой список вместоnull
в зарегистрированный обратный вызов, если результат не возвращается. ( B/157348014 )
Версия 1.2.0-альфа05
20 мая 2020 г.
androidx.activity:activity:1.2.0-alpha05
и androidx.activity:activity-ktx:1.2.0-alpha05
выпускаются. Версия 1.2.0-alpha05 содержит эти коммиты.
Новые возможности
- Добавлена поддержка
ViewTreeViewModelStoreOwner
из LifeCycle2.3.0-alpha03
иViewTreeSavedStateRegistryOwner
из SavedState1.1.0-alpha01
при использованииView
в рамкахComponentActivity
. ( AOSP/1297993 , AOSP/1300264 )
Изменения API
- Контракт
TakePicture
теперь возвращаетboolean
указывающий на успех, а не растровуюBitmap
миниатюры, так как это очень редко поддерживалось приложениями камеры при написании изображения в предоставленныйUri
. ( B/154302879 ) - Расширения
invoke()
наActivityResultLauncher
были удалены в пользу явного использованияlaunch()
чтобы лучше указать, что это асинхронные операции. Расширения Kotlin дляlaunch
были добавлены в пакетandroidx.activity.result
дляActivityResultLauncher<Void>
иActivityResultLauncher<Unit>
, которые устраняют необходимость проходить вnull
илиUnit
, соответственно, отражая это поведение из ранее расширенияinvoke()
. ( AOSP/1304674 , AOSP/1304675 ) - Методы
IntentSenderRequest.Builder
дляsetFlagsMask()
иsetFlagsValues()
были объединены в один методsetFlags()
. ( AOSP/1302111 )
Исправление ошибок
- При регистрации
ActivityResultCallback
сLifecycleOwner
исправил проблему, в которой обратный вызов будет вызван доSTARTED
достижения штата. ( AOSP/1309744 )
Изменения поведения
-
ActivityResultRegistry
теперь генерирует коды запросов, начинающиеся с0xFFFF
а не в0
, предотвращая перекрытие при использованииstartActivityForResult()
илиrequestPermissions()
в действии. ( AOSP/1302324 )
Версия 1.2.0-альфа04
29 апреля 2020 г.
androidx.activity:activity:1.2.0-alpha04
и androidx.activity:activity-ktx:1.2.0-alpha04
выпускаются. Версия 1.2.0-alpha04 содержит эти коммиты.
Новые возможности
- Добавлен контракт, который может позвонить в StartIntEntentSenderForResult в APIS -result. ( B/153007517 )
Изменения API
- Метод
prepareCall()
был переименован вregisterForActivityResult()
как поComponentActivity
, так и в фрагменте1.3.0-alpha04
. ( AOSP/1278717 ) - Договоры
GetContents
,OpenDocuments
иRequestPermissions
были переименованы вGetMultipleContents
,OpenMultipleDocuments
иRequestMultiplePermissions
соответственно. ( AOSP/1280161 ) -
ComponentActivity
теперь реализует интерфейсActivityResultRegisteryOwner
. ( AOSP/1290888 ) - -
startActivityForResult()
/onActivityResult()
иonRequestPermissionsResult()
API наComponentActivity
были устарели. Пожалуйста, используйте API -интерфейсы результата деятельности . ( B/154751887 )
Исправление ошибок
- При использовании контрактов с
GetMultipleContents
иOpenMultipleDocuments
и выбором одного элемента, теперь он правильно возвращается к вашему обратному вызову. ( B/152941153 )
Версия 1.2.0-альфа03
1 апреля 2020 г.
androidx.activity:activity:1.2.0-alpha03
и androidx.activity:activity-ktx:1.2.0-alpha03
выпускаются. Версия 1.2.0-alpha03 содержит эти коммиты.
Новые возможности
- Добавлены
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
иCreateDocument
Contrics с набором предварительно созданных контрактов, предоставленныхActivityResultContracts
. ( AOSP/1262482 , AOSP/1266916 , AOSP/1268960 ) - API -интерфейсы результатов активности теперь поддерживают запуск деятельности для результата с дополнительным
ActivityOptionsCompat
. ( B/151860054 )
Изменения API
- Контракт
TakePicture
теперь требует вводаUri
для того, где следует хранить изображение. Предыдущий контракт, который не принимает никаких вкладов, был переименован вTakePicturePreview
. ( AOSP/1262482 ) - Метод
registerActivityResultCallback()
наActivityResultRegistry
был переименован вregister()
. ( AOSP/1267621 ) - Метод
dispose()
наActivityResultLauncher
был переименован вunregister()
, аunregisterResultCallback()
наActivityResultRegistry
, была удалена. ( AOSP/1267621 ) - Метод
createIntent()
ActivityResultContact
теперь принимаетContext
в дополнение к вводу, чтобы сделать возможным создание явных намерений. ( AOSP/1238800 ) -
ActivityResultContract
теперь может переопределитьgetSynchronousResult()
, чтобы доставить результат, не вызываяstartActivityForResult
. Это используется контрактамиRequestPermission
иRequestPermissions
чтобы правильно предоставить «предоставленный» статус, если запрашиваемые разрешения уже предоставлены. ( б/151110799 ) - Ранее доступный контракт
Dial
был удален, так как этоIntent
не предназначено для использования сstartActivityForResult()
. ( AOSP/1266916 ) - Многие из результатов деятельности, не предназначенных для расширения, теперь являются
final
. Это включает в себяgetActivityResultRegistry()
, методыprepareCall()
, все методыActivityResultRegistry
за исключениемinvoke()
, и ряд контрактов по умолчанию, которые не поддерживают дополнительные дополнительные дополнительные данные. ( B/152439361 )
Исправление ошибок
- Исправлена
NullPointerException
вActivityResultRegistry
при попытке предоставить результаты к обратному обращению, который еще не был перерегистрирован после изменения конфигурации;ActivityResultRegistry
теперь придерживается этих ожидающих результатов и доставляет их, когда обратный вызов перерегистрируется. ( B/152137004 )
Версия 1.2.0-альфа02
18 марта 2020 г.
androidx.activity:activity:1.2.0-alpha02
и androidx.activity:activity-ktx:1.2.0-alpha02
выпускаются. Версия 1.2.0-alpha02 содержит эти коммиты.
Новые возможности
- ActivityResultregistry :
ComponentActivity
теперь обеспечиваетActivityResultRegistry
onRequestPermissionsResult()
ActivityResultContract
позволяет вам справиться сstartActivityForResult()
requestPermissions()
onActivityResult()
тестирование этих потоков. Смотрите обновленную получение результата от деятельности . ( B/125158199 )
Версия 1.2.0-альфа01
4 марта 2020 г.
androidx.activity:activity:1.2.0-alpha01
и androidx.activity:activity-ktx:1.2.0-alpha01
выпускаются. Версия 1.2.0-alpha01 содержит эти коммиты.
Новые возможности
- Добавлена поддержка для API
ViewTreeLifecycleOwner.get(View)
, добавленной в жизненный цикл2.3.0-alpha01
так что он возвращает деятельность в качествеLifecycleOwner
для любых видов, которые непосредственно добавляют к деятельности. ( AOSP/1182955 )
Исправление ошибок
- Исправлена регрессия, введенная в действие
1.1.0
при запуске более старых версий платформы, гдеonBackPressed()
вызоветIllegalStateException
из -за ошибки вandroid.app.FragmentManager
. ( B/146290338 )
Версия 1.1.0
Версия 1.1.0
22 января 2020 г.
androidx.activity:activity:1.1.0
выпускается. Версия 1.1.0 содержит эти коммиты .
Важные изменения с версии 1.0.0
- Жизненный цикл ViewModel SavedState Integration :
SavedStateViewModelFactory
теперь является фабрикой по умолчанию, используемой при использованииby viewModels()
, конструкторомViewModelProvider
илиViewModelProviders.of()
сComponentActivity
или его подклассий.
Версия 1.1.0-rc03
4 декабря 2019 г.
androidx.activity:activity:1.1.0-rc03
и androidx.activity:activity-ktx:1.1.0-rc03
выпускаются. Версия 1.1.0-RC03 содержит эти коммиты .
Изменения зависимости
- Заявление теперь зависит от жизненного цикла
2.2.0-rc03
и жизненного цикла ViewModel SaveState1.0.0-rc03
.
Версия 1.1.0-rc02
7 ноября 2019 г.
androidx.activity:activity:1.1.0-rc02
и androidx.activity:activity-ktx:1.1.0-rc02
выпускаются. Версия 1.1.0-RC02 содержит эти коммиты .
Изменения зависимости
- Активность теперь зависит от жизненного цикла
2.2.0-rc02
.
Версия 1.1.0-RC01
23 октября 2019 г.
androidx.activity:activity:1.1.0-rc01
и androidx.activity:activity-ktx:1.1.0-rc01
высвобождаются без изменений из 1.1.0-beta01
. Версия 1.1.0-RC01 содержит эти коммиты .
Версия 1.1.0-бета01
9 октября 2019 г.
androidx.activity:activity:1.1.0-beta01
и androidx.activity:activity-ktx:1.1.0-beta01
выпускаются. Версия 1.1.0-beta01 содержит эти коммиты .
Изменения зависимости
- Активность теперь зависит от стабильной сохранения штата 1.0.0.
Версия 1.1.0-Alpha03
5 сентября 2019 г.
androidx.activity:activity:1.1.0-alpha03
и androidx.activity:activity-ktx:1.1.0-alpha03
выпускаются. Коммуты, включенные в эту версию, можно найти здесь .
Новые возможности
- Деятельность теперь зависит от ядра 1.1.0 стабильной.
Исправление ошибок
- Активность теперь зависит от жизненного цикла
2.2.0-alpha04
.
Версия 1.1.0-альфа02
7 августа 2019 г.
androidx.activity:activity:1.1.0-alpha02
и androidx.activity:activity-ktx:1.1.0-alpha02
выпускаются. Коммуты, включенные в эту версию, можно найти здесь .
Новые возможности
-
SavedStateViewModelFactory
теперь является фабрикой по умолчанию, используемой при использованииby viewModels()
, конструктораViewModelProvider
илиViewModelProviders.of()
сComponentActivity
( B/135716331 )
Версия 1.1.0-альфа01
2 июля 2019 г.
androidx.activity:activity:1.1.0-alpha01
и androidx.activity:activity-ktx:1.1.0-alpha01
выпускаются. Коммуты, включенные в эту версию, можно найти здесь .
Новые возможности
-
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-бета01
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
- 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
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
- 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
March 13th, 2019
androidx.activity:activity:1.0.0-alpha05
and androidx.activity:activity-ktx:1.0.0-alpha05
are released. The full list of commits included in this release can be found here .
Новые возможности
-
@ContentView
annotation lookups are now cached ( b/123709449 )
Версия 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
- 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
- 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
- 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.