Activity

Activity를 기반으로 빌드된 컴포저블 API에 액세스합니다.
최근 업데이트 현재 안정화 버전 다음 버전 후보 베타 버전 알파 버전
2021년 7월 28일 1.3.0 - - -

종속 항목 선언

Activity의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    def activity_version = "1.3.1"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Kotlin

dependencies {
    val activity_version = "1.3.1"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 의견을 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.3.0

버전 1.3.0

2021년 7월 28일

androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0androidx.activity:activity-ktx:1.3.0이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.

1.2.0 이후 중요 변경사항

  • Activity Compose 아티팩트 - activity-compose 아티팩트가 활동에서 Jetpack Compose UI를 호스팅하는 setContent 확장 메서드와 시스템 뒤로 버튼과 Activity Result API를 처리하기 위해 ComponentActivity API와 상호작용하는 Compose 특정 래퍼를 제공합니다. 자세한 내용은 문서를 참고하세요.
  • CaptureVideo 계약 - CaptureVideo ActivityResultContract가 현재 지원 중단된 TakeVideo 계약을 대체하고 여러 카메라 앱에서 작동하는 성공을 나타내는 부울을 반환합니다.
  • PIP 모드 힌트 보기 추적 - activity-ktx의 사용자가 이제 Activity에서 trackPipAnimationHintView 확장 메서드를 사용하여 창을 기준으로 위치를 변경할 때 뷰의 새 위치로 PictureInPictureParams를 자동으로 다시 빌드할 수 있습니다.

버전 1.3.0-rc02

2021년 7월 14일

androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02androidx.activity:activity-ktx:1.3.0-rc02가 출시되었습니다. 버전 1.3.0-rc02에 포함된 커밋을 확인하세요.

버그 수정

  • 이제 ActivityResultRegistry 콜백이 제대로 저장되고 복원되므로 savedState에서 콜백이 중복되지 않습니다. (I97816, b/191893160)

버전 1.3.0-rc01

2021년 7월 1일

androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01androidx.activity:activity-ktx:1.3.0-rc01 버전은 1.3.0-beta02에서 변경사항 없이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.

버전 1.3.0-beta02

2021년 6월 16일

androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02androidx.activity:activity-ktx:1.3.0-beta02가 출시되었습니다. 버전 1.3.0-beta02에 포함된 커밋을 확인하세요.

activity-compose가 Compose 1.0.0-beta09에 종속되도록 업데이트되었습니다. 이제 androidx.compose.ui:ui-test-junit4activity-compose에 컴파일 시간 종속 항목을 갖습니다.

버전 1.3.0-beta01

2021년 6월 2일

androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01androidx.activity:activity-ktx:1.3.0-beta01이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.

API 변경사항

  • 이전에 지원 중단된 @Composable registerForActivityResult() 메서드가 삭제되었습니다. rememberLauncherForActivityResult()를 사용하세요. (Ic39d3)

버전 1.3.0-alpha08

2021년 5월 18일

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가 주어진 URI에 동영상이 성공적으로 저장되었는지 나타내는 부울을 ActivityResultCallback에 반환합니다. 현재 지원 중단된 TakeVideo 계약을 대체합니다. 카메라 앱이 썸네일 비트맵 반환을 거의 지원하지 않아서 결과가 도움이 되지 않기 때문입니다. (Ie21f2, b/185938070)
  • 뷰가 이동할 때마다 PipParams의 소스 rect 힌트를 업데이트하는 새 API Activity#setPipAnimationHintView를 추가했습니다. (I9063d)

API 변경사항

  • 이제 rememberLauncherForActivityResult 함수가 unregister() 함수를 지원 중단하는 런처를 반환합니다. 런처 등록 및 등록 취소는 rememberLauncherForActivityResult에서 자동으로 처리됩니다. (I2443e)

Compose 호환성

  • androidx.activity:activity-compose:1.3.0-alpha08은 Compose 버전 1.0.0-beta07 이상과만 호환됩니다.

버전 1.3.0-alpha07

2021년 4월 21일

androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07androidx.activity:activity-ktx:1.3.0-alpha07이 출시되었습니다. 버전 1.3.0-alpha07에 포함된 커밋을 확인하세요.

버그 수정

  • 이제 rememberLauncherForActivityResult는 재구성으로 인해 계약이 변경되어도 동일한 ActivityResultLauncher 인스턴스에 안정적인 참조를 반환합니다. (Id2d6d)
  • 1.3.0 이상의 안정적이지 않은 Fragment 버전을 사용해도 1.3.0을 사용하라는 거짓양성 린트 오류가 발생하지 않습니다. (aosp/1670206, b/184847092)

버전 1.3.0-alpha06

2021년 4월 7일

androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06androidx.activity:activity-ktx:1.3.0-alpha06이 출시되었습니다. 버전 1.3.0-alpha06에 포함된 커밋을 확인하세요.

API 변경사항

  • 반환된 ActivityResultLauncher가 사용자 대신 저장된 관리 대상 객체임을 더 확실히 표현하기 위해 registerForActivityResult() API의 이름을 rememberLauncherForActivityResult()로 바꾸었습니다. 이제 unregister 호출을 시도하면 반환된 ActivityResultLauncher에서 오류가 발생합니다. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.currentLocalActivityResultRegistryOwner.current는 이제 현재 컴포지션에서 사용할 수 있는지 더 효과적으로 판단할 수 있도록 null을 허용하는 값을 반환합니다. 이제 이러한 API가 필요한 API(예: 각각 BackHandler, rememberLauncherForActivityResult())에서는 기본 소유자를 찾을 수 없는 경우 더 상세한 오류가 발생합니다. NavHost는 이제 OnBackPressedDispatcherOwner를 찾을 수 없는 경우에도 작동합니다(예: NavHost를 미리보기하는 경우). (I7d8b4)

버그 수정

  • 이제 BackHandler는 활동이 STOPPED이었다가 다시 STARTED가 되고 다른 콜백이 LifecycleOwner에 추가된 이벤트에서 뒤로 버튼 누름 이벤트를 제대로 가로챕니다. (I71de6, b/182284739)
  • Unit 입력이 있는 맞춤 ActivityResultContractlaunch() 확장 메서드를 사용하면 더 이상 NullPointerException이 발생하지 않습니다. (I76282, b/183837954)

버전 1.3.0-alpha05

2021년 3월 24일

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에 포함된 커밋을 확인하세요.

버그 수정

  • Activity 1.2.2 이상: Fragment 1.3.1 이상을 사용할 때 InvalidFragmentVersionForActivityResult 린트 검사에서 거짓양성이 발생하는 문제를 수정했습니다. (I54da1, b/182388985)
  • Activity 1.2.2 이상: 이제 ComponentActivity가 이전에 다른 Intent에서 추가 항목으로 보유된 ActivityResultContract에서 Intent를 실행할 때 ClassNotFoundException을 방지합니다. (Ieff05, b/182906230)

종속 항목 업데이트

버전 1.3.0-alpha04

2021년 3월 10일

androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04androidx.activity:activity-ktx:1.3.0-alpha04가 출시되었습니다. 버전 1.3.0-alpha04에 포함된 커밋을 확인하세요.

버그 수정

  • Activity 1.2.1 이상: 이제 RequestMultiplePermissions에서 이전에 부여되지 않은 권한만이 아닌 요청된 모든 권한의 결과를 항상 반환합니다. (I50bc3, b/180884668)
  • Activity 1.2.1 이상: 이제 unregister()를 호출하고 동일한 키로 다시 register()를 호출하더라도 진행 중인 launch() 요청이 결과를 반환하도록 ActivityResultRegistry에서 보장합니다. (I9ef34, b/181267562)
  • Activity Compose에서 런타임 클래스 경로에 더 이상 테스트 종속 항목을 추가하지 않습니다. (Ifd8b3)
  • 이전에 설정된 onBack 람다가 재구성 후에도 계속 사용되던 BackHandler 관련 문제를 해결했습니다. (8eb5eb)

버전 1.3.0-alpha03

2021년 2월 24일

androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03androidx.activity:activity-ktx:1.3.0-alpha03이 출시되었습니다. 버전 1.3.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 컴포저블 내의 활동에서 결과를 얻을 수 있는 컴포저블 registerForActivityResult 함수가 있습니다. (Ia7851, b/172690553)

API 변경사항

  • 이제 LocalOnBackPressedDispatcherOwner에는 CompositionLocalProvider와 함께 사용할 수 있는 provides 함수가 있습니다. 이 함수는 asProvidableCompositionLocal() API를 대체합니다. (I45d24)

버전 1.3.0-alpha02

2021년 2월 10일

androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02androidx.activity:activity-ktx:1.3.0-alpha02가 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.

버그 수정

  • Compose 1.0.0-alpha12를 사용할 때 NoSuchMethodError: No static method setContent 예외가 발생하는 Activity Compose 1.3.0-alpha01의 문제를 수정했습니다. 모든 Compose 사용자는 1.3.0-alpha02 이상을 사용해야 합니다. (b/179911234)

API 변경사항

  • BackHandler API를 사용하여 Composable에서 시스템 뒤로 버튼을 가로채도록 할 수 있습니다. (I58ed5, b/172154006)

버전 1.3.0-alpha01

2021년 2월 10일

androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01androidx.activity:activity-ktx:1.3.0-alpha01이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 새로운 activity-compose 아티팩트는 androidx.activity 관련 API를 위한 Jetpack Compose 전용 도우미를 제공합니다.
    • ComponentActivity.setContentandroidx.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

2021년 7월 21일

androidx.activity:activity:1.2.4androidx.activity:activity-ktx:1.2.4가 출시되었습니다. 버전 1.2.4에 포함된 커밋을 확인하세요.

버그 수정

  • Activity 1.3.0-rc02에서: 이제 ActivityResultRegistry 콜백이 제대로 저장되고 복원되므로 savedState에서 콜백이 중복되지 않습니다. (I97816, b/191893160)

버전 1.2.3

버전 1.2.3

2021년 5월 5일

androidx.activity:activity:1.2.3androidx.activity:activity-ktx:1.2.3이 출시되었습니다. 버전 1.2.3에 포함된 커밋을 확인하세요.

버그 수정

  • Unit 입력이 있는 맞춤 ActivityResultContractlaunch() 확장 메서드를 사용하면 더 이상 NullPointerException이 발생하지 않습니다. (I76282, b/183837954)
  • Fragments 새 버전의 스냅샷, 알파, 베타 또는 RC 빌드를 사용할 때 Fragment 1.3.0을 사용하라고 하는 거짓양성 린트 오류를 수정했습니다. (f4a57e, b/184847092)

버전 1.2.2

버전 1.2.2

2021년 3월 24일

androidx.activity:activity:1.2.2androidx.activity:activity-ktx:1.2.2가 출시되었습니다. 버전 1.2.2에 포함된 커밋을 확인하세요.

버그 수정

  • Fragment 1.3.1 이상을 사용할 때 InvalidFragmentVersionForActivityResult 린트 검사에서 거짓양성이 발생하는 문제를 수정했습니다. (I54da1, b/182388985)
  • 이제 ComponentActivity가 이전에 다른 Intent에서 추가 항목으로 보유된 ActivityResultContract에서 Intent를 실행할 때 ClassNotFoundException을 방지합니다. (Ieff05, b/182906230)

종속 항목 업데이트

버전 1.2.1

버전 1.2.1

2021년 3월 10일

androidx.activity:activity:1.2.1androidx.activity:activity-ktx:1.2.1이 출시되었습니다. 버전 1.2.1에 포함된 커밋을 확인하세요.

버그 수정

  • 이제 RequestMultiplePermissions는 이전에 부여되지 않은 권한만이 아닌 요청된 모든 권한의 결과를 항상 반환합니다. (I50bc3, b/180884668)
  • 이제 unregister()를 호출하고 동일한 키로 다시 register()를 호출하더라도 진행 중인 launch() 요청이 결과를 반환하도록 ActivityResultRegistry에서 보장합니다. (I9ef34, b/181267562)

버전 1.2.0

버전 1.2.0

2021년 2월 10일

androidx.activity:activity:1.2.0androidx.activity:activity-ktx:1.2.0이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.

1.1.0 이후 주요 변경사항

  • Activity Result API: 이제 ComponentActivityActivityResultRegistry를 제공하여 Activity나 Fragment에서 메서드를 재정의하지 않고 startActivityForResult()+onActivityResult()requestPermissions()+onRequestPermissionsResult() 흐름을 처리할 수 있도록 하며 ActivityResultContract를 통해 유형 안전성을 높이고 이러한 흐름을 테스트하는 후크를 제공합니다. 업데이트된 Activity에서 결과 가져오기를 참고하세요.
  • ContextAware: 이제 ComponentActivity에서 ContextAware를 구현하므로 기본 Activity.onCreate() 이전에 콜백을 수신할 OnContextAvailableListener 인스턴스를 하나 이상 추가할 수 있습니다.

    • 정지 Kotlin 확장 withContextAvailable()을 사용하면 컨텍스트를 사용할 수 있게 될 때 정지되지 않은 블록을 실행하고 결과를 반환할 수 있습니다.
    • 이 API는 Fragment 1.3.0FragmentActivity에서 FragmentManager 상태를 복원하는 데 사용합니다. FragmentActivity의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다.
    • 이 API는 AppCompat 1.3.0-alpha02 이상의 AppCompatActivity에서 사용합니다. AppCompatActivity의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다.
  • ViewTree 지원: 이제 ComponentActivity에서 Lifecycle 2.3.0SavedState 1.1.0에 추가된 ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View), ViewTreeSavedStateRegistryOwner API를 지원하며 이러한 API는 ComponentActivity에 직접 추가된 모든 View의 LifecycleOwner, ViewModelStoreOwner, SavedStateRegistryOwner로 Activity를 반환합니다.

  • reportFullyDrawn() 백포트 - reportFullyDrawn()Activity 메서드는 모든 API 수준에서 작동하도록 ComponentActivity로 백포트되었습니다. 이는 API 19에서 발생하던 비정상 종료 문제를 수정하고 모든 API 수준에서 이 메서드에 관한 추적을 추가합니다.

버전 1.2.0-rc01

2020년 12월 16일

androidx.activity:activity:1.2.0-rc01androidx.activity:activity-ktx:1.2.0-rc01이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • 이제 ActivityResultRegistry는 저장된 정확한 상태를 항상 복원합니다. (Idd56b)
  • ComponentActivity.reportFullyDrawn에 트레이싱을 추가합니다. (Ic7632)

외부 기여

  • ComponentActivity는 이제 모든 API 수준에서 호출되도록 reportFullyDrawn()을 재정의하며 API 19 기기에서 적절한 시스템 권한 없이 이 메서드를 호출할 때 발생하는 비정상 종료를 해결합니다. 사이먼 쉴러님께 감사드립니다. (b/163239764, #103)

버전 1.2.0-beta02

2020년 12월 2일

androidx.activity:activity:1.2.0-beta02androidx.activity:activity-ktx:1.2.0-beta02가 출시되었습니다. 버전 1.2.0-beta02에 포함된 커밋을 확인하세요.

버그 수정

  • Lifecycle에 등록한 경우 Activity Result API가 결과를 전달하기 전에 Lifecycle의 STARTED까지 기다리지 않는 문제를 수정했습니다. (I109ea)

외부 기여

  • launch()ActivityNotFoundException을 발생시킬 수 있음을 명시적으로 알릴 수 있도록 문서를 업데이트했습니다. 미할 지엘린스키님께 감사드립니다. (aosp/1493580)

버전 1.2.0-beta01

2020년 10월 1일

androidx.activity:activity:1.2.0-beta01androidx.activity:activity-ktx:1.2.0-beta01이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.

버그 수정

  • ActivityResultRegistry는 이제 요청 코드 register()로 사용하기 위해 할당되지 않은 정수를 찾을 때까지 정수를 무작위로 생성합니다. 따라서 요청 코드 증가로 인해 발생할 수 있는 정수 오버플로가 방지됩니다. (b/168779518)

  • ActivityResultLauncher에서 unregister()를 호출할 때 Lifecycle 관찰자가 올바로 삭제됩니다. (b/165608393)

동작 변경사항

  • Lifecycle이 이미 STARTED에 도달한 LifecycleOwnerregister()를 호출하려고 하면 이제 ActivityResultRegistry에서 IllegalStateException이 발생합니다. (b/165435866)

문서가 업데이트됨

  • ContextAware 문서가 LifecycleOwner에 연결되어 Lifecycle 콜백을 생성 및 폐기 이벤트에 적절한 위치로 강조표시합니다. (aosp/1414152)

버전 1.2.0-alpha08

2020년 8월 19일

androidx.activity:activity:1.2.0-alpha08androidx.activity:activity-ktx:1.2.0-alpha08이 출시되었습니다. 버전 1.2.0-alpha08에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 ComponentActivityContextAware를 구현하므로 기본 Activity.onCreate() 이전에 콜백을 수신할 OnContextAvailableListener 인스턴스를 하나 이상 추가할 수 있습니다. (b/161390636)
    • 정지 Kotlin 확장 withContextAvailable()을 사용하면 컨텍스트를 사용할 수 있게 될 때 정지되지 않은 블록을 실행하고 결과를 반환할 수 있습니다. (I8290c)
    • 이 API는 Fragment 1.3.0-alpha08FragmentActivity에서 FragmentManager 상태를 복원하는 데 사용됩니다. FragmentActivity의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. (I513da)
    • 이 API는 AppCompat 1.3.0-alpha02AppCompatActivity에서 사용됩니다. AppCompatActivity의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. (I513da)

버그 수정

  • Lint 27.1.0 이상을 사용할 때 ActivityResultFragmentVersionDetector 린트 검사가 중단되는 문제가 수정되었습니다. (b/162155191)

버전 1.2.0-alpha07

2020년 7월 22일

androidx.activity:activity:1.2.0-alpha07androidx.activity:activity-ktx:1.2.0-alpha07가 출시되었습니다. 버전 1.2.0-alpha07에 포함된 커밋을 확인하세요.

새로운 기능

  • Activity Result API 사용 시, Fragment 1.3.0-alpha07을 사용하는지 확인하는 새로운 InvalidFragmentVersionForActivityResult 린트 검사가 추가되어 '유효하지 않은 요청 코드' 발생으로 인한 런타임 비정상 종료와 이전 버전의 Fragment 사용으로 발생하는 작동하지 않는 권한 요청을 방지합니다. (b/152554847)

외부 기여

  • RequestPermission 활동 결과 계약의 결과를 파싱할 때 발생하는 ArrayIndexOutOfBoundsException을 수정했습니다. (I8f9e3, b/161057605)

버전 1.2.0-alpha06

2020년 6월 10일

androidx.activity:activity:1.2.0-alpha06androidx.activity:activity-ktx:1.2.0-alpha06가 출시되었습니다. 버전 1.2.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 Kotlin에서 ActivityResult 클래스의 구조를 해체하여 requestCodeintent에 직접 액세스할 수 있습니다. (b/157212935)
  • 이제 ActivityResultLauncher를 사용하여 런처를 등록하는 데 사용된 ActivityResultContract를 가져올 수 있습니다. (b/156875743)

API 변경사항

  • 브레이킹 체인지: ActivityResultRegistryinvoke() 메서드 이름이 onLaunch()로 변경되었습니다. (b/157496491)
  • 이제 결과가 반환되지 않으면 OpenMultipleDocuments 계약이 등록된 콜백에 null 대신 빈 목록을 반환합니다. (b/157348014)

버전 1.2.0-alpha05

2020년 5월 20일

androidx.activity:activity:1.2.0-alpha05androidx.activity:activity-ktx:1.2.0-alpha05가 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

API 변경사항

  • 이제 TakePicture 계약이 제공된 Uri에 이미지를 작성할 때 카메라 앱에서 거의 지원되지 않았던 미리보기 이미지 Bitmap 대신 성공을 나타내는 boolean을 반환합니다. (b/154302879)
  • 명시적으로 launch()를 사용하여 비동기 작업임을 더 잘 나타내기 위해 ActivityResultLauncherinvoke() 확장이 삭제되었습니다. launch의 Kotlin 확장이 null 또는 Unit을 전달할 필요성을 제거하는 ActivityResultLauncher<Void>ActivityResultLauncher<Unit>androidx.activity.result 패키지에 각각 추가되어 이전 invoke() 확장에서 동작을 미러링합니다. (aosp/1304674, aosp/1304675)
  • setFlagsMask()setFlagsValues()IntentSenderRequest.Builder 메서드가 단일 setFlags() 메서드로 결합되었습니다. (aosp/1302111)

버그 수정

  • LifecycleOwnerActivityResultCallback을 등록할 때 상태가 STARTED에 도달하기 전에 콜백이 트리거되는 문제가 수정되었습니다. (aosp/1309744)

동작 변경사항

  • 이제 ActivityResultRegistry0에서가 아닌 0xFFFF에서 시작하는 요청 코드를 생성하므로 활동에서 startActivityForResult() 또는 requestPermissions()를 사용할 때 중복을 방지합니다. (aosp/1302324)

버전 1.2.0-alpha04

2020년 4월 29일

androidx.activity:activity:1.2.0-alpha04androidx.activity:activity-ktx:1.2.0-alpha04가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • ActivityResult API에 startIntentSenderForResult를 호출할 수 있는 계약이 추가되었습니다. (b/153007517)

API 변경사항

  • prepareCall() 메서드의 이름이 여기 ComponentActivityFragment 1.3.0-alpha04에서 모두 registerForActivityResult()로 변경되었습니다. (aosp/1278717)
  • GetContents, OpenDocuments, RequestPermissions 계약의 이름이 각각 GetMultipleContents, OpenMultipleDocuments, RequestMultiplePermissions로 변경되었습니다. (aosp/1280161)
  • 이제 ComponentActivityActivityResultRegisteryOwner 인터페이스를 구현합니다. (aosp/1290888)
  • ComponentActivitystartActivityForResult()/onActivityResult()onRequestPermissionsResult() API가 지원 중단되었습니다. Activity Result API를 사용하세요. (b/154751887)

버그 수정

  • GetMultipleContentsOpenMultipleDocuments 계약을 사용하고 단일 항목을 선택하면 이제 콜백으로 올바르게 반환됩니다. (b/152941153)

버전 1.2.0-alpha03

2020년 4월 1일

androidx.activity:activity:1.2.0-alpha03androidx.activity:activity-ktx:1.2.0-alpha03가 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • ActivityResultContracts에 의해 제공되는 사전 빌드 계약 세트에 TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree, CreateDocument 계약이 추가되었습니다. (aosp/1262482, aosp/1266916, aosp/1268960)
  • 이제 Activity Result API에서 선택적인 ActivityOptionsCompat를 통해 결과에 대한 활동 실행을 지원합니다. (b/151860054)

API 변경사항

  • 이제 TakePicture 계약은 이미지 저장 위치에 대한 Uri 입력을 받습니다. 어떠한 입력도 받지 않는 이전 계약의 이름이 TakePicturePreview로 변경되었습니다. (aosp/1262482)
  • ActivityResultRegistryregisterActivityResultCallback() 메서드 이름이 register()로 변경되었습니다. (aosp/1267621)
  • ActivityResultLauncherdispose() 메서드 이름이 unregister()로 변경되었고 ActivityResultRegistryunregisterResultCallback()가 삭제되었습니다. (aosp/1267621)
  • 이제 ActivityResultContactcreateIntent() 메서드는 입력과 함께 Context를 받아 명시적 인텐트를 만들 수 있습니다. (aosp/1238800)
  • 이제 ActivityResultContractgetSynchronousResult()를 재정의하여 startActivityForResult를 호출하지 않고 결과를 전달할 수 있습니다. 요청된 권한이 이미 부여된 경우 RequestPermissionRequestPermissions 계약에서 '부여됨' 상태를 올바르게 전달하는 데 사용됩니다. (b/151110799)
  • 이전에 사용 가능한 Dial 계약이 삭제되었습니다. IntentstartActivityForResult()와 함께 사용되도록 되어있지 않기 때문입니다. (aosp/1266916)
  • 이제 확장되지 않은 많은 Activity Result API 다수가 final입니다. 여기에는 getActivityResultRegistry(), prepareCall() 메서드, invoke()를 제외한 모든 ActivityResultRegistry 메서드, 선택적 추가 항목을 지원하지 않는 여러 기본 계약이 포함됩니다. (b/152439361)

버그 수정

  • 구성 변경 후 아직 재등록되지 않은 콜백에 결과를 전달하려고 할 때 ActivityResultRegistryNullPointerException이 수정되었습니다. 이제 ActivityResultRegistry가 대기 중인 결과를 보류하고 콜백이 다시 등록되면 결과를 전달합니다. (b/152137004)

버전 1.2.0-alpha02

2020년 3월 18일

androidx.activity:activity:1.2.0-alpha02androidx.activity:activity-ktx:1.2.0-alpha02가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • ActivityResultRegistry: 이제 ComponentActivityActivityResultRegistry를 제공하여 활동 또는 프래그먼트 내 메서드를 재정의하지 않고도 startActivityForResult()+onActivityResult()뿐 아니라 requestPermissions()+onRequestPermissionsResult() 플로우를 처리하도록 지원하고, ActivityResultContract를 통해 유형 안정성을 높이고, 이러한 플로우 테스트에 후크를 제공합니다. 업데이트된 Activity에서 결과 가져오기를 참고하세요. (b/125158199 참조)

버전 1.2.0-alpha01

2020년 3월 4일

androidx.activity:activity:1.2.0-alpha01androidx.activity:activity-ktx:1.2.0-alpha01가 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 모든 뷰에 대해 LifecycleOwner이 활동에 추가될 때 활동을 반환하도록 수명 주기 2.3.0-alpha01에 추가된 ViewTreeLifecycleOwner.get(View) API에 대한 지원이 추가되었습니다. (aosp/1182955)

버그 수정

  • android.app.FragmentManager 내 버그로 인해 onBackPressed()에서 IllegalStateException을 일으키는 이전 버전의 플랫폼에서 실행 시 활동 1.1.0에 도입되던 회귀 문제를 수정했습니다. (b/146290338)

버전 1.1.0

버전 1.1.0

2020년 1월 22일

androidx.activity:activity:1.1.0가 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.

1.0.0 이후 중요 변경사항

  • Lifecycle ViewModel SavedState 통합: by viewModels(), ViewModelProvider 생성자 또는 ViewModelProviders.of()ComponentActivity 또는 그 서브클래스와 함께 사용할 때 SavedStateViewModelFactory가 이제 기본 팩토리로 사용됩니다.

버전 1.1.0-rc03

2019년 12월 4일

androidx.activity:activity:1.1.0-rc03androidx.activity:activity-ktx:1.1.0-rc03가 출시되었습니다. 버전 1.1.0-rc03에 포함된 커밋을 확인하세요.

종속성 변경사항

  • 이제 Activity가 Lifecycle 2.2.0-rc03 및 Lifecycle ViewModel SavedState 1.0.0-rc03에 종속됩니다.

버전 1.1.0-rc02

2019년 11월 7일

androidx.activity:activity:1.1.0-rc02androidx.activity:activity-ktx:1.1.0-rc02가 출시되었습니다. 버전 1.1.0-rc02에 포함된 커밋을 확인하세요.

종속성 변경사항

  • 이제 Activity가 Lifecycle 2.2.0-rc02에 종속됩니다.

버전 1.1.0-rc01

2019년 10월 23일

androidx.activity:activity:1.1.0-rc01androidx.activity:activity-ktx:1.1.0-rc011.1.0-beta01에서 변경사항 없이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.

버전 1.1.0-beta01

2019년 10월 9일

androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01가 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.

종속성 변경사항

  • 이제 Activity가 SavedState 1.0.0 공개 버전에 종속됩니다.

버전 1.1.0-alpha03

2019년 9월 5일

androidx.activity:activity:1.1.0-alpha03androidx.activity:activity-ktx:1.1.0-alpha03가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • 이제 Activity가 Core 1.1.0 공개 버전에 종속됩니다.

버그 수정

버전 1.1.0-alpha02

2019년 8월 7일

androidx.activity:activity:1.1.0-alpha02androidx.activity:activity-ktx:1.1.0-alpha02가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • 이제 SavedStateViewModelFactoryComponentActivity와 함께 by viewModels(), ViewModelProvider 생성자, ViewModelProviders.of()를 사용할 때 사용되는 기본 팩터리입니다. (b/135716331 참조)

버전 1.1.0-alpha01

2019년 7월 2일

androidx.activity:activity:1.1.0-alpha01androidx.activity:activity-ktx:1.1.0-alpha01가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • 이제 activity가 Lifecycle 2.2.0-alpha02에 종속됩니다. (aosp/1007817 참조)
  • activity-ktxlifecycle-runtime-ktx 종속 항목이 추가되었습니다. 따라서 activity-ktx 또는 activity-ktx에 종속되는 라이브러리(예: fragment-ktx)를 사용할 때 더 이상 종속 항목에 명시적으로 추가할 필요가 없습니다. (aosp/987162 참조)

버전 1.0.0

버전 1.0.0

2019년 9월 5일

androidx.activity:activity:1.0.0androidx.activity:activity-ktx:1.0.0가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

1.0.0의 주요 기능

  • ComponentActivity: ComponentActivityFragment 1.1.0FragmentActivity에 관해 그리고 확장하여 AppCompat 1.1.0AppCompatActivity에 관해 새로운 기본 클래스 역할을 합니다.
  • activity-ktx: activity-ktx 모듈에는 ViewModel에 액세스하기 위한 by viewModels Kotlin 속성 확장을 포함합니다. Fragment 1.1.0fragment-ktx를 포함하면 이 모듈이 자동으로 포함됩니다.
  • OnBackPressedDispatcher: onBackPressed()를 재정의하는 대신 구성 가능한 다른 방법으로, 이제 시스템의 뒤로 버튼 이벤트를 가로채도록 LifecycleOwner에서(예: Fragment) OnBackPressedCallback을 등록할 수 있습니다. 수신기 버전 addCallback이 포함된 람다가 activity-ktx에 추가되었습니다. 자세한 내용은 맞춤형 뒤로 탐색 기능 제공 문서를 참고하세요.
  • onRetainCustomNonConfigurationInstance 지원 중단: onRetainCustomNonConfigurationInstance() 및 관련 getLastCustomNonConfigurationInstance() API가 지원 중단되었습니다. 비구성 상태를 저장하는 데 ViewModel을 사용하여 것이 좋습니다. 보관된 객체의 소유권을 명확히 하고 활동이 최종적으로 제거되는 경우 리소스를 지우기 위한 onCleared() 콜백을 제공하는 ViewModelStoreOwner에 적합한 구성 가능한 솔루션을 제공합니다.

버전 1.0.0-rc01

2019년 7월 2일

androidx.activity:activity:1.0.0-rc01androidx.activity:activity-ktx:1.0.0-rc011.0.0-beta01에서 변경사항 없이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

버전 1.0.0-beta01

2019년 6월 5일

androidx.activity::activity:1.0.0-beta01androidx.activity:activity-ktx:1.0.0-beta011.0.0-alpha08에서 변경사항 없이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

버전 1.0.0-alpha08

2019년 5월 7일

androidx.activity:activity:1.0.0-alpha08androidx.activity:activity-ktx:1.0.0-alpha08가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • 브레이킹 체인지: 이전에 지원 중단된 ComponentActivity에 관한 addOnBackPressedCallbackremoveOnBackPressedCallback 메서드를 삭제했습니다. (aosp/953857 참조)
  • 이제 OnBackPressedCallbacksetEnabled()isEnabled() 메서드가 최종입니다. (b/131416833 참조)
  • 이제 OnBackPressedCallbackremove() 메서드가 최종입니다. (aosp/952720 참조)
  • 이제 OnBackPressedDispatcher에 공개 생성자가 있으므로 테스트 등을 위해 자체 인스턴스를 생성할 수 있습니다. (aosp/953431 참조)
  • 이제 ComponentActivityonBackPressed()@MainThread로 명시적으로 표시됩니다. (aosp/952721 참조)

버그 수정

  • LifecycleOwner와 함께 추가된 OnBackPressedCalbackhandleOnBackPressed() 메서드 내에서 remove()를 호출할 때 발생하는 ConcurrentModificationException을 수정했습니다. (b/131765095 참조)

버전 1.0.0-alpha07

2019년 4월 25일

androidx.activity:activity:1.0.0-alpha07androidx.activity:activity-ktx:1.0.0-alpha07가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

이 릴리스에서는 onBackPressed() 처리에 상당한 변경사항이 있습니다. 자세한 내용은 맞춤형 뒤로 탐색의 업데이트 문서를 참고하세요.

  • OnBackPressedCallbackOnBackPressedDispatcher의 메서드가 @MainThread로 표시되었습니다. (aosp/943813 참조)
  • handleOnBackPressed() 메서드가 더 이상 boolean을 반환하지 않습니다. 대신 OnBackPressedCallback은 이제 추상 클래스이며 사용 설정하거나 사용 중지할 수 있습니다. 새 isEnabled() 메서드가 true를 반환하는 경우에만 handleOnBackPressed()가 호출됩니다. 이 경우 뒤로 버튼을 반드시 처리해야 합니다. (aosp/944518 참조)
  • OnBackPressedDispatcheraddCallback 메서드가 더 이상 Cancellable 인스턴스를 반환하지 않습니다. 이제 OnBackPressedCallback에 이 기능을 처리하는 remove() 메서드가 포함되어 있으므로 handleOnBackPressed() 중에 remove()를 호출할 수 있습니다. (aosp/944519aosp/946316 참조)
  • 이제 activity-ktx에는 handleOnBackPressed()를 구현하고 isEnabledremove()에 액세스할 수 있는 람다를 허용하는 addCallback을 위한 수신기 범위 지정 콜백이 포함되어 있습니다. (aosp/944520 참조)

버전 1.0.0-alpha06

2019년 4월 3일

androidx.activity:activity:1.0.0-alpha06androidx.activity:activity-ktx:1.0.0-alpha06가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • 이제 ComponentActivity에는 @LayoutRes int를 사용하는 두 번째 생성자가 포함되어 있으며 이 생성자는 @ContentView로 AppCompatActivity 클래스에 주석을 다는 이전 동작을 대체합니다. 이 접근 방법은 앱과 라이브러리 모듈 모두에서 적용됩니다. (b/128352521 참조)
  • ComponentActivity의 OnBackPressedCallback 관련 API가 지원 중단되고 getOnBackPressedDispatcher()를 통해 검색 가능한 새 OnBackPressedDispatcher로 대체되었습니다. (aosp/922523 참조)
  • OnBackPressedCallbackOnBackPressedDispatcher에 추가하는 메서드가 이제 Cancellable 객체를 반환하므로 OnBackPressedDispatcher를 명시적으로 참조할 필요 없이 콜백을 삭제할 수 있습니다. (aosp/922523 참조)
  • OnBackPressedCallback을 연결된 LifecycleOwner와 함께 추가하면 이제 Lifecycle이 시작되고 중지될 때 OnBackPressedCallback이 추가 및 삭제됩니다. (aosp/922523 참조)

버전 1.0.0-alpha05

2019년 3월 13일

androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05가 출시되었습니다. 이 출시에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.

새로운 기능

  • 이제 @ContentView 주석 조회가 캐시됩니다. (b/123709449 참조)

버전 1.0.0-alpha04

2019년 1월 30일

androidx.activity:activity 1.0.0-alpha04androidx.activity:activity-ktx 1.0.0-alpha04가 출시되었습니다.

새로운 기능

  • setContentView()를 사용하는 대신 확장할 레이아웃 XML 파일을 나타낼 수 있는 @ContentView 클래스 주석을 사용하도록 지원을 추가했습니다. (aosp/837619 참조)

API 변경사항

  • getViewModelStore()는 재정의해서는 안 되며 향후 릴리스에서 완료될 예정이라는 메모가 추가되었습니다. 현재 이 메서드를 재정의하고 있다면 기능 요청을 제출하세요. (aosp/837619 참조)

버그 수정

  • activity 모듈은 이제 activity-ktx 모듈의 종속성에 맞추기 위해 ViewModel 버전 2.1.0-alpha02에 종속됩니다.

버전 1.0.0-alpha03

2018년 12월 17일

androidx.activity 1.0.0-alpha03이 출시되었습니다.

새로운 기능

  • ComponentActivity는 이제 BundleSavedStateRegistryOwner를 구현하며 새로 출시된 SavedState 라이브러리에 종속됩니다. [aosp/815133 참조]
  • ComponentActivity는 이제 InputMethodManager가 마지막 포커스 뷰를 유출시키는 Android 프레임워크 버그를 해결합니다. [b/37122102]

버전 1.0.0-alpha02

2018년 12월 3일

API 변경사항

  • getLifecycle()은 재정의해서는 안 되며 향후 출시에서 final이 될 예정이라는 메모가 추가되었습니다. 현재 이 메서드를 재정의하려면 기능 요청을 제출하세요. (aosp/815834 참조)

버전 1.0.0-alpha01

2018년 11월 5일

androidx.activity 1.0.0-alpha01에서는 기존 FragmentActivityAppCompatActivity의 새로운 기본 클래스로 ComponentActivity를 도입합니다.

새로운 기능

  • 이제 addOnBackPressedCallback을 통해 OnBackPressedCallback을 등록하여 활동에서 메서드를 재정의하지 않고도 onBackPressed() 콜백을 수신할 수 있습니다.
  • ComponentActivity에서 ViewModel을 검색하기 위한 새 by viewModels() Kotlin 속성 위임을 추가했습니다.
  • 대기 중인 입력 이벤트(예: 클릭)가 이제 onStop()에서 취소됩니다.

API 변경사항

  • LifecycleOwnerViewModelStoreOwner 구현이 FragmentActivity에서 ComponentActivity로 이동했습니다.
  • onRetainCustomNonConfigurationInstance가 지원 중단되었습니다. 구성 변경 이후에도 효력을 유지해야 하는 객체를 저장하려면 ViewModel을 사용하세요.