Активность

Доступ к составным API, созданным на основе Activity.
Последнее обновление Стабильный выпуск Релиз-кандидат Бета-версия Альфа-релиз
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 содержит эти коммиты .

Обновление зависимостей

Версия 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 содержит эти коммиты.

Предупреждение о ворсе

Исправление ошибок

  • Если событие возврата отправляется из системы, запущенной во время уже выполняемого жеста прогнозируемого возврата, текущий выполняемый жест прогнозируемого возврата отменяется, и новое событие возврата вступает во владение, чтобы начать новый жест прогнозируемого возврата. ( 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. Расширения Kotlin ActivityResult , поддерживающие деструктуризацию в 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 )

Обновление зависимостей

Версия 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 BackOnBackPressedCallback теперь предлагает новые обратные вызовы 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 , а не переопределять этот метод.

  • EdgeToEdgeComponentActivity.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 в API enableEdgeToEdge теперь можно переопределить лямбда-параметр 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.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.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 теперь содержат общедоступный API initViewTreeOwners() который будет использоваться для инициализации всех владельцев дерева представлений перед настройкой представления содержимого. ( Ibdce0 , б/261314581 )

Исправление ошибок

  • Исправлена ​​проблема, из-за которой фрагменты неправильно признавали недействительными MenuHosts и приводили к неожиданному поведению других меню в действии. ( I9404e , б/244336571 )

Другие изменения

  • ActivityResultRegister теперь использует Kotlin Random вместо 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.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 , прикрепленным к окну через требования API ViewTree .
  • 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 принимает метод приостановки, который по завершении указывает, что вы готовы к взаимодействию.

Обновления зависимостей

Версия 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 содержит эти коммиты.

Обновление зависимостей

Версия 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 ), недоступно. API isPhotoPickerAvailable() , который определяет только систему Android, предоставляемую Photo Picker, устарел. Рекомендуется использовать новый API isPhotoPickerAvailable(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 )

Обновление зависимостей

Версия 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.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 )

Обновление зависимостей

Версия 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

  • ComponentDialogComponentDialog — это подкласс Dialog , который включает OnBackPressedDispatcher , который будет вызываться при нажатии кнопки «Назад» в системе и отображении диалогового окна. Важно отметить, что этот подкласс также устанавливает ViewTreeOnBackPressedDispatcherOwner , позволяя представлениям использовать общий способ получения правильного диспетчера, независимо от того, существует ли он в ComponentActivity или ComponentDialog .
  • Интерфейсы обратного вызова . ComponentActivity теперь реализует набор модульных интерфейсов обратного вызова, которые можно использовать вместо обратных вызовов Activity . К этим интерфейсам относятся следующие: OnNewIntentProvider , OnConfigurationChangedProvider , OnTrimMemoryProvider , OnPictureInPictureModeChangedProvider , OnMultiWindowModeChangedProvider .
  • Интеграция CreationExtrasComponentActivity теперь имеет возможность предоставлять 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 содержит эти коммиты.

Обновления зависимостей

Версия 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 в настоящее время содержит ошибку Lint LaunchDuringComposition 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 )

Внешний вклад

  • Спасибо Dmitrilc за исправление опечатки в документации ActivityResult . ( #221 )

Версия 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 в действии и сочинять конкретные обертки для взаимодействия с API ComponentActivity для обработки кнопки «Система» и 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 Version 1.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.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 , заменив API asProvidableCompositionLocal() . ( 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 при использовании Compose 1.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 )

Обновления зависимостей

Версия 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 будут работать после этого слушателя.
  • Поддержка ViewTree : ComponentActivity теперь поддерживает ViewTreeLifecycleOwner.get(View) , ViewTreeViewModelStoreOwner.get(View) и ViewTreeSavedStateRegistryOwner APIS ViewModelStoreOwner добавленные в LifeCycle 2.3.0 и SavedState 1.1.0 , что он вернет Activity As LifecycleOwner , и 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 )

Исправление ошибок

  • Исправлена ​​проблема с проверкой 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 содержит эти коммиты.

Новые возможности

Изменения 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 SaveState 1.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 стабильной.

Исправление ошибок

Версия 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 Lifecycle 2.2.0-alpha02 . ( aosp/1007817 )
  • activity-ktx added a dependency on lifecycle-runtime-ktx ; you no longer need to explicitly add it to your dependencies when using activity-ktx or libraries that depend on activity-ktx (such as fragment-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 for FragmentActivity in Fragment 1.1.0 and, by extension, AppCompatActivity in AppCompat 1.1.0 .
  • activity-ktx : The activity-ktx module includes a by viewModels Kotlin property extension for accessing ViewModels. This module is automatically included when you include fragment-ktx from Fragment 1.1.0 .
  • OnBackPressedDispatcher : As a composable alternative to overriding onBackPressed() , you can now register a OnBackPressedCallback from any LifecycleOwner (such as a fragment) to intercept system back button events. A lambda with receiver version addCallback has been added to activity-ktx . See Provide custom back navigation documentation for more details.
  • onRetainCustomNonConfigurationInstance deprecation : the onRetainCustomNonConfigurationInstance() and the related getLastCustomNonConfigurationInstance() APIs have been deprecated. It is strongly recommended to use ViewModels to store non-configuration state as they offer a composable solution suitable for any ViewModelStoreOwner that makes the ownership of the retained objects clear and provides an onCleared() 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 and removeOnBackPressedCallback methods on ComponentActivity have been removed. aosp/953857
  • The setEnabled() and isEnabled() methods of OnBackPressedCallback are now final. b/131416833
  • The remove() method of OnBackPressedCallback is now final. aosp/952720
  • OnBackPressedDispatcher now has public constructors, allowing you to construct your own instances for testing, etc. aosp/953431
  • onBackPressed() for ComponentActivity is now explicitly marked as @MainThread aosp/952721

Исправление ошибок

  • Fixed a ConcurrentModificationException when calling remove() from within the handleOnBackPressed() method of a OnBackPressedCalback that was added with a LifecycleOwner . 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 and OnBackPressedDispatcher have been marked as @MainThread . ( aosp/943813 )
  • The handleOnBackPressed() method no longer returns a boolean . Instead, OnBackPressedCallback is now an abstract class that can be enabled or disabled - only when the new isEnabled() method returns true will handleOnBackPressed() be called, in which you must handle the back button. ( aosp/944518 )
  • The addCallback methods of OnBackPressedDispatcher no longer return a Cancellable instance. OnBackPressedCallback now contain a remove() method that fulfill this functionality, allowing you to call remove() during handleOnBackPressed() . ( aosp/944519 ) ( aosp/946316 )
  • activity-ktx now contains a receiver scoped callback for addCallback that accepts a lamdba that implements handleOnBackPressed() and has access to isEnabled and remove() ( 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 new OnBackPressedDispatcher , retrievable via getOnBackPressedDispatcher() . ( aosp/922523 )
  • Methods to add a new OnBackPressedCallback to the OnBackPressedDispatcher now return a Cancellable object, allowing removal of the callback without requiring an explicit reference to the OnBackPressedDispatcher . ( aosp/922523 )
  • Adding a OnBackPressedCallback with an associated LifecycleOwner now results in adding and removing the OnBackPressedCallback 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 using setContentView() . ( 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 the activity-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 made final 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 via addOnBackPressedCallback to receive onBackPressed() callbacks without needing to override the method in your activity.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModel s from a ComponentActivity .
  • Pending input events (such as clicks) are now canceled in onStop() .

Изменения API

  • The implementation of LifecycleOwner and ViewModelStoreOwner have been moved from FragmentActivity to ComponentActivity .
  • onRetainCustomNonConfigurationInstance has been deprecated. Use a ViewModel for storing objects that need to survive configuration changes.