활동
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 11월 13일 | 1.9.3 | - | 1.10.0-beta01 | - |
종속 항목 선언
Activity의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def activity_version = "1.9.3" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.3" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.10
버전 1.10.0-beta01
2024년 11월 13일
androidx.activity:activity:1.10.0-beta01
, androidx.activity:activity-compose:1.10.0-beta01
, androidx.activity:activity-ktx:1.10.0-beta01
은 지난 알파 버전 이후 변경사항 없이 출시되었습니다. 버전 1.10.0-beta01에는 이 커밋이 포함되어 있습니다.
버전 1.10.0-alpha03
2024년 10월 30일
androidx.activity:activity:1.10.0-alpha03
, androidx.activity:activity-compose:1.10.0-alpha03
및 androidx.activity:activity-ktx:1.10.0-alpha03
이 출시되었습니다. 버전 1.10.0-alpha03에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 현재 범위에
Activity
를 제공하는 새로운LocalActivity
컴포지션 로컬을 추가하여 개발자가LocalContext
에서Activity
를 가져올 필요가 없게 되었습니다. 또한LocalContext
이Activity
로 잘못 변환되는 경우를 확인하는 새로운 린트 규칙이 제공됩니다. (I7746a, b/283009666)
버그 수정
- Activity
1.9.3
에서: 핸들러가 사용 중지된 후에는PredictiveBackHandler
가 더 이상 콜백을 실행하지 않습니다. 이렇게 하면 Navigation Compose의NavHost
에서IndexOutOfBoundsException
이 발생하는 문제가 해결됩니다. (I3f75e, b/365027664, b/340202286)
종속 항목 업데이트
- 이제 Activity Compose가 Compose Runtime 1.7.0 (I7746a, b/283009666)에 종속됩니다.
버전 1.10.0-alpha02
2024년 9월 4일
androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
및 androidx.activity:activity-ktx:1.10.0-alpha02
이 출시되었습니다. 버전 1.10.0-alpha02에는 이 커밋이 포함되어 있습니다.
동작 변경사항
- 사진 선택 도구를 트리거하는
PickVisualMedia
및PickMultipleVisualMedia
활동 결과 계약은 더 이상 시스템 사진 선택 도구를 사용할 수 없는 경우 Google Play 서비스에 직접 위임하지 않고 대신 공개ACTION_SYSTEM_FALLBACK_PICK_IMAGES
작업 및 관련 추가 항목을 사용하여 OEM 및 시스템 앱에 일관된 사진 선택 도구 환경을 대체로 제공합니다. 이는 최신 버전의 Google Play 서비스가 설치된 기기의 사용자 환경에는 영향을 미치지 않습니다. (I3513d)
버그 수정
- 새 플랫폼 API에 대한 액세스 수동 개요가 삭제되었습니다. AGP 7.3 이상 (예: R8 버전 3.3)에서 R8을 사용하고 있을 때와 AGP 8.1 이상 (예: D8 버전 8.1)을 사용할 때 모든 빌드에서 API 모델링을 통해 자동으로 이루어지기 때문입니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (I9496c, b/345472586)
- Activity
1.9.2
: Activity ComposePredictiveBackHandler
API가 사용 중지된 프레임에서 시스템 뒤로 동작을 계속 처리하여 Navigation Compose와 같은 라이브러리가 빈 백 스택이 있더라도 뒤로를 처리하여IndexOutOfBoundsException
이 발생할 수 있는 문제를 수정했습니다. (Ie3301, b/340202286) - 활동
1.9.1
: 시스템 뒤로를 실행한 후OnBackPressedDispatcher
에서onBackPressed
을 실행하려고 하면 실패하는PredictiveBackHandler
관련 문제를 수정했습니다. (I5f1f8)
버전 1.10.0-alpha01
2024년 6월 26일
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
및 androidx.activity:activity-ktx:1.10.0-alpha01
이 출시되었습니다. 이 버전은 내부 브랜치에서 개발되었습니다.
새로운 기능
- 이미지를 순서대로 선택하고 처음에 표시할 탭 (앨범 또는 이미지)을 선택하는 기능을 비롯하여 Android V에서 도입된 새로운
PhotoPicker
기능에 대한 지원이 추가되었습니다.
버전 1.9
버전 1.9.3
2024년 10월 16일
androidx.activity:activity:1.9.3
, androidx.activity:activity-compose:1.9.3
및 androidx.activity:activity-ktx:1.9.3
이 출시되었습니다. 버전 1.9.3에는 이 커밋이 포함되어 있습니다.
버그 수정
- 핸들러가 사용 중지된 후에는
PredictiveBackHandler
가 더 이상 콜백을 실행하지 않습니다. 이렇게 하면 Navigation Compose의NavHost
에서IndexOutOfBoundsException
이 발생하는 문제가 해결됩니다. (I3f75e, b/340202286)
버전 1.9.2
2024년 9월 4일
androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
및 androidx.activity:activity-ktx:1.9.2
이 출시되었습니다. 버전 1.9.2에는 이러한 lthcocommits가 포함되어 있습니다.
버그 수정
- Activity Compose
PredictiveBackHandler
API가 사용 중지된 프레임에서 시스템 뒤로 동작을 계속 처리하여 Navigation Compose와 같은 라이브러리가 빈 백 스택이 있더라도 뒤로를 처리하여IndexOutOfBoundsException
이 발생할 수 있는 문제를 수정했습니다. (Ie3301, b/340202286)
버전 1.9.1
2024년 7월 24일
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
및 androidx.activity:activity-ktx:1.9.1
이 출시되었습니다. 버전 1.9.1에는 이 커밋이 포함되어 있습니다.
버그 수정
- 시스템 뒤로를 실행한 후
OnBackPressedDispatcher
에서onBackPressed
을 실행하려고 하면 실패하는PredictiveBackHandler
관련 문제를 수정했습니다. (I5f1f8)
버전 1.9.0
2024년 4월 17일
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
는 구성요소가onUserLeaveHint
이벤트의 콜백을 허용하도록OnUserLeaveHintProvider
를 구현합니다. - 이제
OnBackPressedCallback
,BackHandler
,PredictiveBackHandler
API는 뒤로 탐색을 처리할 때onBackPressedDispatcher.onBackPressed()
를 호출하면 항상 뒤로 탐색 예측 애니메이션이 중단되므로 경고합니다. 자세한 내용은 권장사항 가이드를 참고하세요. - 나머지 Activity API는 Kotlin으로 다시 작성되었으며 이전에
activity-ktx
에서 사용할 수 있었던 모든 확장 프로그램은activity
로 이동했습니다. 이제activity-ktx
가 완전히 비어 있습니다.ActivityResultLauncher
를 Kotlin으로 변환하는 과정에서getContract
메서드가 이제 추상 Kotlin 속성이 되었습니다. 이는 바이너리와 호환되는 변경사항이지만ActivityResultLauncher
구현이 Kotlin으로 작성된 경우 소스와 호환되지 않습니다.
버전 1.9.0-rc01
2024년 4월 3일
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에는 이 커밋이 포함되어 있습니다.
종속 항목 업데이트
- 이제 Activity가 Profile Installer 1.3.1에 종속됩니다.
버전 1.9.0-beta01
2024년 3월 20일
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에는 이 커밋이 포함되어 있습니다.
버그 수정
- 활동 생성의 일부로
OnBackPressedDispatcher
를 호출하여 활동1.9.0-alpha02
에 도입된 활동 시작 성능 회귀 문제를 수정했습니다. (Ie75e3)
버전 1.9.0-alpha03
2024년 2월 7일
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에 포함된 커밋을 확인하세요.
린트 경고
- 이제
OnBackPressedCallback
,BackHandler
,PredictiveBackHandler
API는 뒤로 탐색을 처리할 때onBackPressedDispatcher.onBackPressed()
를 호출하면 항상 뒤로 탐색 예측 애니메이션이 중단되므로 경고합니다. 자세한 내용은 권장사항 가이드를 참고하세요. (1e4222, 2c950d, b/287505200)
버그 수정
- 이미 실행 중인 뒤로 탐색 예측 동작 중에 시스템에서 뒤로 이벤트가 전송되면 현재 실행 중인 뒤로 탐색 예측 동작이 취소되고 새 뒤로 이벤트가 이를 대신하여 새 뒤로 탐색 예측 동작을 시작합니다. (I3482e)
- 백그라운드 스레드에서
ComponentActivity
에서onBackPressedDispatcher
에 처음으로 액세스할 때 발생하는 비정상 종료 문제를 수정했습니다. 이제 모든 스레드에서onBackPressedDispatcher
에 안전하게 액세스할 수 있습니다. (I79955)
버전 1.9.0-alpha02
2024년 1월 24일
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
및 androidx.activity:activity-ktx:1.9.0-alpha02
이 출시되었습니다. 버전 1.9.0-alpha02에 포함된 커밋을 확인하세요.
Kotlin 변환
ActivityResultRegistry
가 Kotlin으로 다시 작성되었습니다. 이렇게 하면register
에 전달된 계약의 제네릭의 null 허용 여부가 반환된ActivityResultLauncher
에 올바르게 전달됩니다. (I121f0)ActivityResult
가 Kotlin으로 다시 작성되었습니다.resultCode
및data
필드로의 디스트럭처링을 지원하는ActivityResult
Kotlin 확장 프로그램이activity-ktx
에서activity
로 이동했습니다. (I0565a)ComponentActivity
및trackPipAnimationHintView
용by viewModels()
의 Kotlin 확장 프로그램이activity-ktx
에서activity
로 이동했습니다. 이제activity-ktx
아티팩트가 완전히 비어 있습니다. (I0a444)
버그 수정
- 이제
enableEdgeToEdge
API가 디스플레이 컷아웃 주위에 그립니다. (a3644b, b/311173461) - Activity
1.8.2
에서: 사진 선택 도구 활동 계약의ACTION_SYSTEM_FALLBACK_PICK_IMAGES
에 전달된 추가 항목이"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
키와 함께 추가 항목을 사용하는 대신EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
키를 올바르게 전달하도록 수정되었습니다. 시스템 대체 사진 선택 도구를 구현하는 OEM의 경우 가장 광범위한 호환성을 보장하기 위해 두 가지 추가 항목을 모두 지원하는 것이 좋습니다. (I96a00)
버전 1.9.0-alpha01
2023년 11월 29일
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
는 구성요소가onUserLeaveHint
이벤트의 콜백을 허용하도록OnUserLeaveHintProvider
를 구현합니다. (I54892)
API 변경사항
ComponentActivity
가 Kotlin으로 다시 작성되었습니다. (I14f31)ActivityResultCaller
가 Kotlin으로 다시 작성되었습니다. (Ib02e4)ActivityResultLauncher
가 Kotlin으로 다시 작성되었습니다. 이 변환의 일환으로getContract
메서드는 이제 추상 Kotlin 속성이 되었습니다. 이는 바이너리와 호환되는 변경사항이지만ActivityResultLauncher
구현이 Kotlin으로 작성된 경우 소스와 호환되지 않습니다. (Id4615)- 이제
PickVisualMediaRequest
의 최소 API 수준은PickVisualMedia
Activity Result 계약과 동일한 19입니다. (Id6e21)
종속 항목 업데이트
- 이제 Activity가 Core
1.13.0-alpha01
에 종속됩니다. (I14f31)
버전 1.8
버전 1.8.2
2023년 12월 13일
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
에 전달된 추가 항목을 수정하여"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
키와 함께 추가 항목을 사용하는 대신EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
키를 올바르게 전달합니다. 시스템 대체 사진 선택 도구를 구현하는 OEM의 경우 가장 광범위한 호환성을 보장하기 위해 두 가지 추가 항목을 모두 지원하는 것이 좋습니다. (I96a00)
버전 1.8.1
2023년 11월 15일
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
및 androidx.activity:activity-ktx:1.8.1
이 출시되었습니다. 버전 1.8.1에 포함된 커밋을 확인하세요.
버그 수정
- 이제 뒤로 동작이 처리되는 동안 새
OnBackPressedCallback
가 추가된 후에도OnBackPressedDispatcher
가 올바른OnBackPressedCallback
에 계속 전달됩니다. (Id0ff6)
버전 1.8.0
2023년 10월 4일
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
및 androidx.activity:activity-ktx:1.8.0
이 출시되었습니다. 버전 1.8.0에 포함된 커밋을 확인하세요.
1.7.0 이후 중요 변경사항
- 뒤로 탐색 예측 - 이제
OnBackPressedCallback
에는 뒤로 동작이 커밋되는 경우에 관한 이전handleOnBackPressed()
콜백 외에도, 뒤로 동작 시작, 동작 전체의 진행 상황, 취소되는 뒤로 동작에 관한 처리를 담당하는 새로운 뒤로 탐색 예측 콜백이 제공됩니다. Activity Compose에서 뒤로 탐색 예측 동작 이벤트를 처리하는PredictiveBackHandler
컴포저블도 함께 제공됩니다. 제공하는 일시중지 람바에서 수집해야 하는 BackEventCompat 객체의 Flow를 제공합니다.
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
}
}
이제 뒤로 탐색을 처리하는 API를 위해 ComponentActivity.onBackPressed()
가 지원 중단되었습니다. 이제 개발자는 이 메서드를 재정의하는 대신 OnBackPressedDispatcher
를 활용해야 합니다.
- EdgeToEdge - 하위 호환 방식으로 더 넓은 화면 디스플레이를 쉽게 설정할 수 있도록
ComponentActivity.enableEdgeToEdge()
가 추가되었습니다.
버전 1.8.0-rc01
2023년 9월 20일
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
및 androidx.activity:activity-ktx:1.8.0-rc01
이 출시되었습니다. 버전 1.8.0-rc01에 포함된 커밋을 확인하세요.
버전 1.8.0-beta01
2023년 9월 6일
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
및 androidx.activity:activity-ktx:1.8.0-beta01
이 출시되었습니다. 버전 1.8.0-beta01에 포함된 커밋을 확인하세요.
문서 개선
BackEventCompat
문서가 개선되었습니다. (aosp/2722254)
버전 1.8.0-alpha07
2023년 8월 23일
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
컴포저블이 추가되었습니다. 제공하는 정지 람바에서 수집해야 하는BackEventCompat
객체의Flow
를 제공합니다.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 } }
또한
Flow
가collect()
를 호출하도록 린트 규칙을 통한 컴파일 시간 경고도 제공됩니다. (Id2773, b/294884345)이제
ComponentActivity
의onBackPressedDispatcher
가 필요할 때만 만들어지도록 지연 초기화됩니다. (I0bf8e)
버그 수정
ComponentActivity
가onBackPressed()
콜백을 수신하고 활동이 이미DESTROYED
된 경우 Android 13에서 더 이상 NPE를 표시하지 않습니다. (Idb055, b/291869278)- 실험용
isAtLeastU()
API의 사용을 삭제했습니다. (Ie9117, b/289269026)
버전 1.8.0-alpha06
2023년 6월 21일
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
를enableEdgeToEdge
API에 전달할 때detectDarkMode
람다 매개변수를 재정의하여 야간 모드 감지를 위한 맞춤 로직을 제공할 수 있습니다. (aosp/2546393, b/278263793)
버전 1.8.0-alpha05
2023년 6월 7일
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는 프레임워크
BackEvent
클래스에서 분리된BackEvent
의 이전 버전과 호환되는BackEventCompat
클래스를 제공합니다. - 브레이킹 체인지: 이제
OnBackPressedCallback
의handleOnBackStarted
및handleOnBackProgressed
메서드가 프레임워크android.window.BackEvent
클래스가 아닌androidx.activity.BackEventCompat
인스턴스를 수신합니다.OnBackPressedDispatcher
의 상응하는@VisibleForTesting
API도 업데이트되었습니다. - 이제
OnBackPressedDispatcher
의 생성자는 사용 설정된 콜백 수가 0에서 0이 아닌 값으로 변경되거나 그 반대로 변경될 때마다 디스패처 소유자가 콜백을 수신할 수 있는 선택적Consumer<Boolean>
인스턴스를 사용합니다.
버그 수정
- Activity
1.7.2
:report
가 호출되기 전에 화면에서 벗어나면ReportDrawn
이 다운되는 문제를 수정했습니다. (Ic46f1, b/260506820)
버전 1.8.0-alpha04
2023년 5월 10일
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
및 androidx.activity:activity-ktx:1.8.0-alpha04
이 출시되었습니다. 이 버전은 내부 브랜치에서 출시되었습니다.
버그 수정
- Activity 1.7.1 이상: -
ActivityScenario
와 함께ComponentActivity
를 사용할 때 더 이상ReportFullyDrawExecuter
가 누수되지 않습니다. (Id2ff2, b/277434271)
버전 1.8.0-alpha03
2023년 4월 12일
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 변경사항
- 이제 뒤로 탐색을 처리하는 API를 위해
ComponentActivity.onBackPressed()
가 지원 중단되었습니다. 이제 개발자는 이 메서드를 재정의하는 대신OnBackPressedDispatcher
를 활용해야 합니다. (Ibce2f, b/271596918) - 이제
ComponentDialog
및ComponentActivity
에 콘텐츠 뷰를 설정하기 전에 모든 뷰 트리 소유자를 초기화하는 데 사용되는 공개 APIinitViewTreeOwners()
가 포함되어 있습니다. (Ibdce0, b/261314581)
버그 수정
- 프래그먼트가 MenuHosts를 잘못 무효화하여 활동의 다른 메뉴에 예상치 못한 동작이 발생하는 문제를 수정했습니다. (I9404e, b/244336571)
기타 변경사항
- 이제
ActivityResultRegister
에서 Java 대신 KotlinRandom
를 사용합니다. (I4d98f, b/272096025)
버전 1.8.0-alpha02
2023년 3월 8일
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
및 androidx.activity:activity-ktx:1.8.0-alpha02
이 출시되었습니다. 내부 브랜치에서 개발되었습니다.
종속 항목 업데이트
- Activity
1.7.0-rc01
이상: 이제 Activity가Lifecycle 2.6.0
에 종속됩니다.
버전 1.8.0-alpha01
2023년 2월 8일
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
, androidx.activity:activity-ktx:1.8.0-alpha01
이 출시되었습니다. 내부 브랜치에서 빌드되었습니다.
새로운 기능
- 이제
OnBackPressedCallback
클래스에는 뒤로 동작이 커밋되는 경우에 관한 이전handleOnBackPressed()
콜백 외에도, 새로운 뒤로 탐색 예측 프로세스 콜백이 포함됩니다. 이 콜백은 뒤로 동작 시작, 동작 전체의 진행 상황, 취소되는 뒤로 동작에 관한 처리를 담당합니다.
버전 1.7
버전 1.7.2
2023년 5월 24일
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
및 androidx.activity:activity-ktx:1.7.2
이 출시되었습니다. 버전 1.7.2에 포함된 커밋을 확인하세요.
버그 수정
report
이 호출되기 전에 화면에서 벗어나면ReportDrawn
가 비정상 종료되는 문제를 수정했습니다. (Ic46f1, b/260506820)
버전 1.7.1
2023년 4월 19일
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
및 androidx.activity:activity-ktx:1.7.1
이 출시되었습니다. 버전 1.7.1에 포함된 커밋을 확인하세요.
버그 수정
ActivityScenario
와 함께ComponentActivity
를 사용할 때ReportFullyDrawExecuter
가 더 이상 누수되지 않습니다. (Id2ff2, b/277434271)
버전 1.7.0
2023년 3월 22일
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 이후 중요 변경사항
PickVisualMedia
및PickMultipleVisualMedia
의 사진 선택 도구 활동 계약이 업데이트되어MediaStore.ACTION_PICK_IMAGES
를 사용할 수 없는 경우를 위한 추가 대체가 포함되었습니다. 이를 통해 OEM 및 시스템 앱(예: Google Play 서비스)은 대체 작업을 구현하여 더 다양한 Android 기기와 API 수준에서 일관된 사진 선택 도구 환경을 제공할 수 있습니다. 사진 선택 도구는 이 대체 방법을 사용할 수 있는 경우 이를 사용하고, 그다음에는 모든 API 19 이상 기기를 계속 지원하는Intent.ACTION_OPEN_DOCUMENT
를 사용합니다.- 이제
ComponentDialog
는SavedStateRegistryOwner
를 구현하고 자체SavedStateRegistry
에 액세스할 수 있으며ViewTree
에SavedStateRegistryOwner
를 설정합니다. 이제ViewTree
API 요구사항을 통해 창에 연결된LifecycleOwner
및SavedStateRegistryOwner
를 모두 충족하므로ComponentDialog
내에서 Jetpack Compose를 사용할 수 있습니다. - 이제
IntentSenderRequest.Builder.setFlags()
를 사용하면 단일 플래그뿐 아니라 여러 플래그를Intent
에서 설정할 수 있습니다.
Kotlin 변환
여러 Activity 클래스가 Kotlin으로 변환되었습니다. 변환된 모든 클래스는 이전 버전과의 바이너리 호환성을 유지합니다. 다음 클래스에는 Kotlin으로 작성된 클래스에 대해 소스와 호환되지 않는 변경사항이 있습니다. ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
다음 표에는 새 버전의 활동에 대한 소스 전환이 나와 있습니다.
활동 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
FullyDrawnReporter API
이제 ComponentActivity
는 상호작용에 사용할 준비가 되면 여러 구성요소를 보고할 수 있는 FullyDrawnReporter
인스턴스를 제공합니다. ComponentActivity
는 모든 구성요소가 완료되기를 기다린 후 자동으로 reportFullyDrawn()
을 호출합니다. 이러한 API는 타이밍 요구사항을 처리하며, onDraw
호출의 일부로 이 API를 호출할 필요가 없습니다.
이러한 API는 다음을 사용 설정하는 것이 좋습니다.
- 시작 시 Android 런타임 신호를 보내 멀티 프레임 시작 시퀀스 중에 실행되는 모든 코드를 포함하고 백그라운드 컴파일 우선순위를 지정해야 합니다.
- 시작 측정항목을 위해 애플리케이션이 완전히 그려졌다고 판단될 때 Macrobenchmark 및 Play Vitals 신호를 보내 성능을 추적할 수 있습니다.
개별 컴포저블의 FullyDrawnReporter
를 더 편리하게 사용할 수 있도록 Activity Compose API 세 개를 추가했습니다.
ReportDrawn
: 구성 가능한 함수가 즉시 상호작용할 준비가 되었음을 나타냅니다.ReportDrawnWhen
은 조건자(예:list.count > 0
)를 사용하여 컴포저블의 상호작용 준비 시기를 나타냅니다.ReportDrawnAfter
는 완료 시 상호작용할 준비가 되었음을 나타내는 정지 메서드를 사용합니다.
종속 항목 업데이트
- 이제 Activity가 Lifecycle
2.6.1
에 종속됩니다. (8fc31d) - 이제 Activity가 ProfileInstaller
1.3.0
에 종속됩니다. (83d3b1)
버전 1.7.0-rc01
2023년 3월 8일
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에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- 이제 Activity가
Lifecycle 2.6.0
에 종속됩니다.
버전 1.7.0-beta02
2023년 2월 22일
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
를 사용할 수 없는 경우 대체로 사용하는 작업 및 추가 항목은 이제 일관된 사진 선택 도구 환경을 제공하려는 OEM 및 시스템 앱에 API 안정성을 제공하는 공개 상수입니다. 이 대체 구현은 여전히 시스템 앱으로 제한됩니다. (Icd320)
버전 1.7.0-beta01
2023년 2월 8일
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
를 대체하면 기기의 시스템 이미지에 설치된 앱으로만 처리가 올바르게 제한됩니다. (If8ae6)
Kotlin 변환
- 이제
ActivityResultRegistryOwner
가 Kotlin으로 작성됩니다. 이는 Kotlin으로 작성된 클래스에는 소스와 호환되지 않는 변경사항입니다. 이제 이전activityResultRegistry
함수를 구현하는 대신getActivityResultRegistry()
속성을 재정의해야 합니다. (I0b00e) - 이제
OnBackPressedDispatcherOwner
가 Kotlin으로 작성됩니다. 이는 Kotlin으로 작성된 클래스에는 소스와 호환되지 않는 변경사항입니다. 이제 이전onBackPressedDispatcher
함수를 구현하는 대신getOnBackPressedDispatcher
속성을 재정의해야 합니다. (Ia277d) - 이제
ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
,OnBackPressedDispatcher
는 Kotlin으로 작성됩니다. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
버전 1.7.0-alpha04
2023년 1월 25일
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
활동 결과 계약에서는 이제 Android 시스템 제공 사진 선택 도구(MediaStore.ACTION_PICK_IMAGES
)를 사용할 수 없는 경우에는 Google Play 서비스 제공 사진 선택 도구를 사용합니다. Android 시스템 제공 사진 선택 도구만 감지하는isPhotoPickerAvailable()
API는 지원 중단되었습니다. 둘 중 사용할 수 있는 사진 선택 도구가 있으면 반환하는 새isPhotoPickerAvailable(Context)
API를 사용하는 것이 좋습니다. (I55be6)
버전 1.7.0-alpha03
2023년 1월 11일
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
에 액세스할 수 있으며 ViewTree에SavedStateRegistryOwner
를 설정합니다. 이제 ViewTree API 요구사항을 통해 창에 연결된LifecycleOwner
및SavedStateRegistryOwner
를 모두 충족하므로ComponentDialog
내에서 Jetpack Compose를 사용할 수 있습니다. (Idca17, I73468 b/261162296)
API 변경사항
reportFullyDrawn
을 호출할 준비가 된 활동을 즉시 표시하는ReportDrawn
컴포저블을 추가했습니다. (Ic5b14, b/259687964)
Kotlin 변환
ActvitiyResultCallback
및OnBackPressedCallback
클래스는 모두 소스 및 바이너리 호환성을 유지하면서 Kotlin으로 변환되었습니다. (Ifc5e5, Ide1b0, b/257291701)
버전 1.7.0-alpha02
2022년 10월 24일
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
, androidx.activity:activity-ktx:1.7.0-alpha02
가 출시되었습니다. 버전 1.7.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- Activity
1.6.1
에서:maxItems
의 기본값을 사용할 때 Android R 기기에서PickMultipleVisualMedia
활동 결과 계약이 실행되지 않는 문제가 해결되었습니다. (Ie2776, b/249182130)
버전 1.7.0-alpha01
2022년 10월 5일
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에 포함된 커밋을 확인하세요.
FullyDrawnReporter API
이제 ComponentActivity
는 상호작용에 사용할 준비가 되면 여러 구성요소를 보고할 수 있는 FullyDrawnReporter
인스턴스를 제공합니다. ComponentActivity
는 모든 구성요소가 완료되기를 기다린 후 자동으로 reportFullyDrawn()
을 호출합니다. 이러한 API는 타이밍 요구사항을 처리하며, onDraw
호출의 일부로 이 API를 호출할 필요가 없습니다.
이러한 API는 다음을 사용 설정하는 것이 좋습니다.
- 시작 시 Android 런타임 신호를 보내 멀티 프레임 시작 시퀀스 중에 실행되는 모든 코드를 포함하고 백그라운드 컴파일 우선순위를 지정해야 합니다.
- 시작 측정항목을 위해 애플리케이션이 완전히 그려졌다고 판단될 때 Macrobenchmark 및 Play Vitals 신호를 보내 성능을 추적할 수 있습니다.
개별 컴포저블의 FullyDrawnReporter
를 더 편리하게 사용할 수 있도록 Activity Compose API 두 개를 추가했습니다.
ReportDrawnWhen
은 조건자(예:list.count > 0
)를 사용하여 컴포저블의 상호작용 준비 시기를 나타냅니다.ReportDrawnAfter
는 완료 시 상호작용할 준비가 되었음을 나타내는 정지 메서드를 사용합니다.
버전 1.6.1
버전 1.6.1
2022년 10월 24일
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
, androidx.activity:activity-ktx:1.6.1
이 출시되었습니다. 버전 1.6.1에 포함된 커밋을 확인하세요.
버그 수정
maxItems
의 기본값을 사용할 때 Android R 기기에서PickMultipleVisualMedia
활동 결과 계약이 실행되지 않는 문제가 해결되었습니다. (Ie2776, b/249182130)
버전 1.6.0
버전 1.6.0
2022년 9월 21일
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
를 사용합니다.- Android 13의
OnBackInvokedCallback
을ComponentActivity
및ComponentDialog
에서 제공하는OnBackPressedDispatchers
에 통합했습니다. 이에 따라 뒤로 탐색 예측 동작을 사용 설정할 경우OnBackPressedDispatcher
에서 빌드된 모든 API가 정상적으로 작동합니다.
버전 1.6.0-rc02
2022년 9월 7일
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
는PRIORITY_OVERLAY
대신PRIORITY_DEFAULT
로OnBackInvokedCallback
을 등록합니다. (I3901f) - 이제
ComponentActivity
를 확장하는 클래스는 항상onMultiWindowModeChanged()
콜백 두 개가 모두 전달됩니다. (Ic4d85) launch
호출에서Exception
이 발생했고 콜백이LifecycleOwner
없이 등록된 경우ActivityResultRegistry
는 더 이상ActivityResultCallback
에 결과를 반환하지 않습니다. (Ia7ff7, b/238350794)ComponentActivity
는 이제 활동에서 super 함수를 호출할 필요 없이 메뉴 호출을 올바르게 전달합니다. (Ie33c5, b/238057118)
종속 항목 업데이트
- 이제
Activity
라이브러리는 Lifecycle2.5.1
에 종속됩니다. (If6697)
버전 1.6.0-rc01
2022년 8월 24일
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
를 초기화해도 33 이전의 SDK 버전을 사용할 때 더 이상ClassVerificationError
가 발생하지 않습니다. (Ic32e1)- 이제
ComponentActivity
의onPictureInPictureModeChanged()
콜백을 재정의하는 클래스는 항상 콜백을 전달합니다. (Ib7fdb)
버전 1.6.0-beta01
2022년 8월 10일
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 변경사항
null
을 전달하면 항상 비정상 종료가 발생했으므로ComponentActivity
에서 지원 중단된startActivityForResult
및startIntentSenderForResult
메서드를@NonNull
로 표시했습니다. (Id2a25, b/231476082)
버그 수정
- Activity
1.5.1
에서:launch
호출에서Exception
이 발생했고 콜백이LifecycleOwner
없이 등록된 경우ActivityResultRegistry
는 더 이상ActivityResultCallback
에 결과를 반환하지 않습니다. (Ia7ff7, b/238350794) - Activity
1.5.1
에서: 이제ComponentActivity
이 super 함수를 호출하지 않고도 메뉴 호출을onPrepareOptionMenu()
,onCreateOptionsMenu()
,onOptionsItemSelected()
재정의로 올바르게 전달합니다. (Ie33c5, b/238057118)
종속 항목 업데이트
- Activity
1.5.1
에서: 이제Activity
라이브러리가Lifecycle
버전2.5.1
에 종속됩니다. (If6697)
버전 1.6.0-alpha05
2022년 6월 15일
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 변경사항
- 이제 Tiramisu 베타 3 SDK에 맞는
minCompileSdk
는 33입니다.
버그 수정
- Android 10 이하를 실행하는 기기에서 이제
ACTION_OPEN_DOCUMENT
를 사용할 수 있도록PickVisualMedia
ActivityResultContract
에 SDK 확장 프로그램 검사를 실행할 때 기존의 기기에서 발생하던 비정상 종료 문제를 수정했습니다.
버전 1.6.0-alpha04
2022년 5월 18일
androidx.activity:activity:1.6.0-alpha04
및 androidx.activity:activity-ktx:1.6.0-alpha04
가 출시되었습니다.
버그 수정
- 빌더 또는 최상위 Kotlin 함수를 통해 요청을 만들려고 하면 스택 오버플로가 발생하는
PickVisualMediaRequest
의 오류를 수정했습니다. - Android 13 개발자 베타 2의
OnBackInvokedCallback
을ComponentDialog
에서 제공하는OnBackPressedDispatcher
에 통합했습니다. 이에 따라 뒤로 탐색 예측 동작을 사용 설정할 경우OnBackPressedDispatcher
에서 빌드된 모든 API가 정상적으로 작동합니다.
버전 1.6.0-alpha03
2022년 4월 27일
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 개발자 베타 1 SDK에서만 컴파일됩니다.
새로운 기능
ActivityResultContracts.PickVisualMedia
및ActivityResultContracts.PickMultipleVisualMedia
를 추가하여 이전 버전과 호환되는 계약을 제공함으로써 사진 선택 도구가 제공되면MediaStore.ACTION_PICK_IMAGES
를 사용하고, 제공되지 않으면Intent.ACTION_OPEN_DOCUMENT
를 사용합니다.- Android 13 개발자 베타 1의
OnBackInvokedCallback
을ComponentActivity
에서 제공하는OnBackPressedDispatcher
에 통합했습니다. 이에 따라 뒤로 탐색 예측 동작을 사용 설정할 경우OnBackPressedDispatcher
에서 빌드된 모든 API가 정상적으로 작동합니다.
버전 1.6.0-alpha01
2022년 3월 23일
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 개발자 프리뷰 2 SDK에서만 컴파일됩니다.
새로운 기능
- Android 13 개발자 프리뷰 2의 변경사항이
ComponentActivity
에 통합되었습니다.
버전 1.5.1
버전 1.5.1
2022년 7월 27일
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
, androidx.activity:activity-ktx:1.5.1
이 출시되었습니다. 버전 1.5.1에 포함된 커밋을 확인하세요.
버그 수정
launch()
호출에서Exception
이 발생했고 콜백이LifecycleOwner
없이 등록된 경우ActivityResultRegistry
는 더 이상ActivityResultCallback
에 결과를 반환하지 않습니다. (Ia7ff7, b/238350794)이제
ComponentActivity
가 super 함수를 호출하지 않고도 메뉴 호출을onPrepareOptionMenu()
,onCreateOptionsMenu()
,onOptionsItemSelected()
재정의로 올바르게 전달합니다. (Ie33c5, b/238057118)
종속 항목 업데이트
- 이제
Activity
라이브러리가 Lifecycle2.5.1
에 종속됩니다. (If6697)
버전 1.5.0
버전 1.5.0
2022년 6월 29일
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
, androidx.activity:activity-ktx:1.5.0
이 출시되었습니다. 버전 1.5.0에 포함된 커밋을 확인하세요.
1.4.0 이후 중요 변경사항
- ComponentDialog:
ComponentDialog
는 시스템 뒤로 버튼을 누르고 대화상자가 표시될 때 호출되는OnBackPressedDispatcher
가 포함된Dialog
의 서브클래스입니다. 무엇보다도 이 서브클래스는ViewTreeOnBackPressedDispatcherOwner
도 설정하기 때문에 뷰에서ComponentActivity
와ComponentDialog
중 어디에 있어도 상관없이 올바른 디스패처를 검색할 수 있는 일반적인 방법이 제공됩니다. - 콜백 인터페이스: 이제
ComponentActivity
가Activity
콜백 대신 사용할 수 있는 모듈식 콜백 인터페이스 집합을 구현합니다. 이러한 인터페이스에는OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
가 포함됩니다. - CreationExtras 통합: 이제
ComponentActivity
에서 Lifecycle2.5.0
의CreationExtras
를 통해 스테이트리스(Stateless)ViewModelProvider.Factory
를 제공할 수 있습니다.
기타 변경사항
ActivityResultContracts.CreateDocument
의 no 매개변수 생성자가 지원 중단되고 새 생성자로 대체되었습니다. 새 생성자는Intent.ACTION_CREATE_DOCUMENT
에 필요한 구체적인 MIME 유형(예: 'image/png')을 사용합니다.
버전 1.5.0-rc01
2022년 5월 11일
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
, androidx.activity:activity-ktx:1.5.0-rc01
이 1.5.0-beta01에서 변경사항 없이 출시되었습니다. 버전 1.5.0-rc01에 포함된 커밋을 확인하세요.
버전 1.5.0-beta01
2022년 4월 20일
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에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- 이제 Activity가 Lifecycle
2.4.0-beta01
에 종속됩니다.
버전 1.5.0-alpha05
2022년 4월 6일
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
, androidx.activity:activity-ktx:1.5.0-alpha05
가 출시되었습니다. 버전 1.5.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
- 이제
ComponentActivity
의onPanelClosed()
가 superonPanelClosed()
도 호출하며, 이를 통해onContextMenuClosed
메서드가 호출되지 않는 문제를 수정했습니다. (Ib6f77)
버전 1.5.0-alpha04
2022년 3월 23일
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
가SavedStateRegistryOwner
로 초기화된 경우에도CreationExtras
사용을 지원합니다. 추가 인수가 제공되면 초기화된 인수는 무시됩니다. (I6c43b, b/224844583)
버전 1.5.0-alpha03
2022년 2월 23일
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 변경사항
- 이제 활동
by viewModels()
함수에CreationExtras
를 전달할 수 있습니다. (I6a3e6, b/217600303)
버전 1.5.0-alpha02
2022년 2월 9일
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
는 이제 모든 구성요소가 PIP 모드 변경 이벤트를 수신할 수 있도록OnPictureInPictureModeChangedProvider
인터페이스를 구현합니다. (I9f567)ComponentActivity
는 이제 모든 구성요소가 멀티 윈도우 모드 변경 이벤트를 수신할 수 있도록OnMultiWindowModeChangedProvider
인터페이스를 구현합니다. (I62d91)
버전 1.5.0-alpha01
2022년 1월 26일
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
가 이제 Lifecycle2.5.0-alpha01
의 일부로 도입된 ViewModel CreationExtras와 통합됩니다. (Ie7e00, b/207012584)ComponentDialog
를 추가했습니다. 이는 대화상자가 표시될 때 시스템 뒤로 버튼을 누르면 호출되는OnBackPressedDispatcher
를 포함하는Dialog
의 서브클래스입니다. 무엇보다도 이 서브클래스는ViewTreeOnBackPressedDispatcherOwner
도 설정하기 때문에 뷰에서ComponentActivity
와ComponentDialog
중 어디에 있어도 상관없이 올바른 디스패처를 검색할 수 있는 일반적인 방법이 제공됩니다. (I8a1bc)ComponentActivity
가 이제 모든 구성요소가 이러한 이벤트를 수신할 수 있도록 새로운OnNewIntentProvider
인터페이스를 구현합니다. (If1f8b)ComponentActivity
가 이제 모든 구성요소가 이러한 이벤트를 수신할 수 있도록 새로운OnConfigurationChangedProvider
인터페이스를 구현합니다. (If623b)ComponentActivity
가 이제 모든 구성요소가 이러한 이벤트를 수신할 수 있도록 새로운OnTrimMemoryProvider
인터페이스를 구현합니다. (Ia9295)
API 변경사항
ActivityResultContracts.CreateDocument
의 no 매개변수 생성자가 지원 중단되고 새 생성자로 대체되었습니다. 새 생성자는Intent.ACTION_CREATE_DOCUMENT
에서 필요한 구체적인 MIME 유형(예:"image/png"
)을 사용합니다. (I2bec6)- 이제 View와 연결된
OnBackPressedDispatcherOwner
를Context
변환에 의존하지 않고ViewTreeOnBackPressedDispatcherOwner
를 통해 검색할 수 있습니다. (I74685)
버그 수정
registerForActivityResult()
콜백에서 또는ComponentActivity
의init
일부로 추가된LifecycleObserver
콜백에서 맨 처음ViewModel
에 액세스할 때 발생하는 비정상 종료 문제를 수정했습니다. (Ife83f)
버전 1.4.0
버전 1.4.0
2021년 10월 27일
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
인터페이스를 구현합니다. 이를 통해 모든 구성요소에서MenuProvider
인스턴스를 활동에 추가하여ActionBar
에 메뉴 항목을 추가할 수 있습니다. 각MenuProvider
를Lifecycle
과 함께 선택적으로 추가할 수 있습니다. 그러면Lifecycle
상태에 따라 관련 메뉴 항목의 공개 상태가 자동으로 제어되고Lifecycle
이 소멸되었을 때MenuProvider
삭제가 처리됩니다. - Kotlin에서
ActivityResultContract
클래스를 다시 작성하여 Kotlin으로 맞춤 계약을 작성하는 개발자가 입력 및 출력 클래스의 null 허용 여부를 올바르게 정의할 수 있도록 했습니다. ActivityResultContracts
클래스와 클래스의 계약이 null 허용 여부를 적절하게 보장하도록 Kotlin으로 다시 작성하였습니다.
버전 1.4.0-rc01
2021년 10월 13일
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에 포함된 커밋을 확인하세요.
버그 수정
launch
호출에서Exception
이 발생하면ActivityResultRegistry
는 더 이상ActivityResultCallback
에 결과를 반환하지 않습니다. (If4f91, b/200845664)
버전 1.4.0-beta01
2021년 9월 29일
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 변경사항
- 자바 프로그래밍 언어에서
코드를 사용할 때
List<? extends Uri>
출력 유형을 사용하게 했던ActivityResultContracts.OpenMultipleDocuments
및ActivityResultContracts.GetMultipleContents
의 유형이 수정되었습니다. (If71de) ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
및ActivityResultContracts.RequestMultiplePermissions
클래스 내 공개 상수는 이제 공개Companion
객체를 통해 Kotlin을 사용할 때 액세스할 수 있습니다. (aosp/1832555)
문서 업데이트
- 이제 Activity Result API에서 처리되는 API의 지원 중단 메시지, 즉
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
,onRequestPermissionsResult
가 모두 자세하게 확장되었습니다. (cce80f)
버전 1.4.0-alpha02
2021년 9월 15일
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
아티팩트에 컴포지션의 일부로ActivityResultLauncher
의launch
메서드를 호출하지 못하게 하는LaunchDuringComposition
린트 오류가 포함됩니다. 부작용 처리를 위한 API를 사용합니다. (7c2bbe, b/191347220)
API 변경사항
- Kotlin에서
ActivityResultContract
클래스를 다시 작성하여 Kotlin으로 맞춤 계약을 작성하는 개발자가 입력 및 출력 클래스의 null 허용 여부를 올바르게 정의할 수 있도록 했습니다. (I8a8f5) ActivityResultContracts
클래스와 클래스의 계약이 적절한 null 허용 여부를 보장하기 위해 Kotlin으로 다시 작성하였습니다. (I69802)
버전 1.4.0-alpha01
2021년 9월 1일
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
인터페이스를 구현합니다. 이를 통해 모든 구성요소에서MenuProvider
인스턴스를 활동에 추가하여ActionBar
에 메뉴 항목을 추가할 수 있습니다. 각MenuProvider
를Lifecycle
과 함께 선택적으로 추가할 수 있습니다. 그러면Lifecycle
상태에 따라 관련 메뉴 항목의 공개 상태가 자동으로 제어되고Lifecycle
이 소멸되었을 때MenuProvider
삭제가 처리됩니다. (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)
}
동작 변경사항
- 등록되지 않았거나 등록 취소된
ActivityResultLauncher
에서launch()
를 호출하려고 하면 이제ActivityResultRegistry
에서IllegalStateException
이 발생합니다. (Ida75d, b/192567522)
외부 기여
버전 1.3.1
버전 1.3.1
2021년 8월 4일
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
및 androidx.activity:activity-ktx:1.3.1
이 출시되었습니다. 버전 1.3.1에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- 이제 Activity가 Kotlin
1.5.21
에 종속됩니다. - 이제 Activity Compose가 Compose
1.0.1
에 종속됩니다.
버전 1.3.0
버전 1.3.0
2021년 7월 28일
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
및 androidx.activity:activity-ktx:1.3.0
이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
1.2.0 이후 중요 변경사항
- Activity Compose 아티팩트 -
activity-compose
아티팩트가 활동에서 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-rc02
및 androidx.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-rc01
및 androidx.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-beta02
및 androidx.activity:activity-ktx:1.3.0-beta02
가 출시되었습니다. 버전 1.3.0-beta02에 포함된 커밋을 확인하세요.
activity-compose
가 Compose 1.0.0-beta09
에 종속되도록 업데이트되었습니다. 이제 androidx.compose.ui:ui-test-junit4
는 activity-compose
에 컴파일 시간 종속 항목을 갖습니다.
버전 1.3.0-beta01
2021년 6월 2일
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
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-alpha07
및 androidx.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-alpha06
및 androidx.activity:activity-ktx:1.3.0-alpha06
이 출시되었습니다. 버전 1.3.0-alpha06에 포함된 커밋을 확인하세요.
API 변경사항
- 반환된
ActivityResultLauncher
가 사용자 대신 저장된 관리 대상 객체임을 더 확실히 표현하기 위해registerForActivityResult()
API의 이름을rememberLauncherForActivityResult()
로 바꾸었습니다. 이제unregister
호출을 시도하면 반환된ActivityResultLauncher
에서 오류가 발생합니다. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
와LocalActivityResultRegistryOwner.current
는 이제 현재 컴포지션에서 사용할 수 있는지 더 효과적으로 판단할 수 있도록 null을 허용하는 값을 반환합니다. 이제 이러한 API가 필요한 각각의 API(예:BackHandler
,rememberLauncherForActivityResult()
)에서는 기본 소유자를 찾을 수 없는 경우 더 상세한 오류가 발생합니다.NavHost
는 이제OnBackPressedDispatcherOwner
를 찾을 수 없는 경우에도 작동합니다(예:NavHost
를 미리보기하는 경우). (I7d8b4)
버그 수정
- 이제
BackHandler
는 활동이STOPPED
이었다가 다시STARTED
가 되고 다른 콜백이 LifecycleOwner에 추가된 이벤트에서 뒤로 버튼 누름을 제대로 가로챕니다. (I71de6, b/182284739) Unit
입력이 있는 맞춤ActivityResultContract
로launch()
확장 메서드를 사용하면 더 이상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)
종속 항목 업데이트
- Activity 1.2.2 이상: Activity가 이제 Lifecycle
2.3.1
에 종속됩니다.
버전 1.3.0-alpha04
2021년 3월 10일
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에 포함된 커밋을 확인하세요.
버그 수정
- 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-alpha03
및 androidx.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-alpha02
및 androidx.activity:activity-ktx:1.3.0-alpha02
가 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- Compose
1.0.0-alpha12
를 사용할 때NoSuchMethodError: No static method setContent
예외가 발생하는 Activity Compose1.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-alpha01
및 androidx.activity:activity-ktx:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 새로운
activity-compose
아티팩트는androidx.activity
관련 API를 위한 Jetpack Compose 전용 도우미를 제공합니다.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
2021년 7월 21일
androidx.activity:activity:1.2.4
및 androidx.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.3
및 androidx.activity:activity-ktx:1.2.3
이 출시되었습니다. 버전 1.2.3에 포함된 커밋을 확인하세요.
버그 수정
Unit
입력이 있는 맞춤ActivityResultContract
로launch()
확장 메서드를 사용하면 더 이상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.2
및 androidx.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)
종속 항목 업데이트
- 이제 Activity가 Lifecycle
2.3.1
에 종속됩니다.
버전 1.2.1
버전 1.2.1
2021년 3월 10일
androidx.activity:activity:1.2.1
및 androidx.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.0
및 androidx.activity:activity-ktx:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 주요 변경사항
- Activity Result API: 이제
ComponentActivity
는ActivityResultRegistry
를 제공하여 Activity나 Fragment에서 메서드를 재정의하지 않고startActivityForResult()
+onActivityResult()
와requestPermissions()
+onRequestPermissionsResult()
흐름을 처리할 수 있도록 하며ActivityResultContract
를 통해 유형 안전성을 높이고 이러한 흐름을 테스트하는 후크를 제공합니다. 업데이트된 Activity에서 결과 가져오기를 참고하세요.
ContextAware
: 이제ComponentActivity
에서ContextAware
를 구현하므로 기본Activity.onCreate()
이전에 콜백을 수신할OnContextAvailableListener
인스턴스를 하나 이상 추가할 수 있습니다.- 정지 Kotlin 확장
withContextAvailable()
을 사용하면 컨텍스트를 사용할 수 있게 될 때 정지되지 않은 블록을 실행하고 결과를 반환할 수 있습니다. - 이 API는 Fragment 1.3.0의
FragmentActivity
에서FragmentManager
상태를 복원하는 데 사용합니다.FragmentActivity
의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. - 이 API는 AppCompat 1.3.0-alpha02 이상의
AppCompatActivity
에서 사용합니다.AppCompatActivity
의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다.
- 정지 Kotlin 확장
ViewTree
지원: 이제ComponentActivity
에서 Lifecycle2.3.0
과 SavedState1.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-rc01
및 androidx.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-beta02
및 androidx.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-beta01
및 androidx.activity:activity-ktx:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
버그 수정
ActivityResultRegistry
는 이제 요청 코드register()
로 사용하기 위해 할당되지 않은 정수를 찾을 때까지 정수를 무작위로 생성합니다. 따라서 요청 코드 증가로 인해 발생할 수 있는 정수 오버플로가 방지됩니다. (b/168779518)ActivityResultLauncher
에서unregister()
를 호출할 때Lifecycle
관찰자가 올바로 삭제됩니다. (b/165608393)
동작 변경사항
Lifecycle
이 이미STARTED
에 도달한LifecycleOwner
로register()
를 호출하려고 하면 이제ActivityResultRegistry
에서IllegalStateException
이 발생합니다. (b/165435866)
문서가 업데이트됨
ContextAware
문서가LifecycleOwner
에 연결되어Lifecycle
콜백을 생성 및 폐기 이벤트에 적절한 위치로 강조표시합니다. (aosp/1414152)
버전 1.2.0-alpha08
2020년 8월 19일
androidx.activity:activity:1.2.0-alpha08
및 androidx.activity:activity-ktx:1.2.0-alpha08
이 출시되었습니다. 버전 1.2.0-alpha08에 포함된 커밋을 확인하세요.
새로운 기능
- 이제
ComponentActivity
는ContextAware
를 구현하므로 기본Activity.onCreate()
이전에 콜백을 수신할OnContextAvailableListener
인스턴스를 하나 이상 추가할 수 있습니다. (b/161390636)- 정지 Kotlin 확장
withContextAvailable()
을 사용하면 컨텍스트를 사용할 수 있게 될 때 정지되지 않은 블록을 실행하고 결과를 반환할 수 있습니다. (I8290c) - 이 API는 Fragment 1.3.0-alpha08의
FragmentActivity
에서FragmentManager
상태를 복원하는 데 사용됩니다.FragmentActivity
의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. (I513da) - 이 API는 AppCompat 1.3.0-alpha02의
AppCompatActivity
에서 사용됩니다.AppCompatActivity
의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. (I513da)
- 정지 Kotlin 확장
버그 수정
- Lint 27.1.0 이상을 사용할 때
ActivityResultFragmentVersionDetector
린트 검사가 중단되는 문제가 수정되었습니다. (b/162155191)
버전 1.2.0-alpha07
2020년 7월 22일
androidx.activity:activity:1.2.0-alpha07
및 androidx.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-alpha06
및 androidx.activity:activity-ktx:1.2.0-alpha06
이 출시되었습니다. 버전 1.2.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 Kotlin에서
ActivityResult
클래스의 구조를 해체하여requestCode
및intent
에 직접 액세스할 수 있습니다. (b/157212935) - 이제
ActivityResultLauncher
를 사용하여 런처를 등록하는 데 사용된ActivityResultContract
를 가져올 수 있습니다. (b/156875743)
API 변경사항
- 브레이킹 체인지:
ActivityResultRegistry
의invoke()
메서드 이름이onLaunch()
로 변경되었습니다. (b/157496491) - 이제 결과가 반환되지 않으면
OpenMultipleDocuments
계약이 등록된 콜백에null
대신 빈 목록을 반환합니다. (b/157348014)
버전 1.2.0-alpha05
2020년 5월 20일
androidx.activity:activity:1.2.0-alpha05
및 androidx.activity:activity-ktx:1.2.0-alpha05
가 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
ComponentActivity
내에서View
를 사용할 때 수명 주기2.3.0-alpha03
의ViewTreeViewModelStoreOwner
및 SavedState1.1.0-alpha01
의ViewTreeSavedStateRegistryOwner
지원이 추가되었습니다. (aosp/1297993, aosp/1300264)
API 변경사항
- 이제
TakePicture
계약이 제공된Uri
에 이미지를 작성할 때 카메라 앱에서 거의 지원되지 않았던 미리보기 이미지Bitmap
대신 성공을 나타내는boolean
을 반환합니다. (b/154302879) - 명시적으로
launch()
를 사용하여 비동기 작업임을 더 잘 나타내기 위해ActivityResultLauncher
의invoke()
확장이 삭제되었습니다.launch
의 Kotlin 확장이null
또는Unit
을 전달할 필요성을 제거하는ActivityResultLauncher<Void>
및ActivityResultLauncher<Unit>
의androidx.activity.result
패키지에 각각 추가되어 이전invoke()
확장에서 동작을 미러링합니다. (aosp/1304674, aosp/1304675) setFlagsMask()
및setFlagsValues()
의IntentSenderRequest.Builder
메서드가 단일setFlags()
메서드로 결합되었습니다. (aosp/1302111)
버그 수정
LifecycleOwner
에ActivityResultCallback
을 등록할 때 상태가STARTED
에 도달하기 전에 콜백이 트리거되는 문제가 수정되었습니다. (aosp/1309744)
동작 변경사항
- 이제
ActivityResultRegistry
는0
에서가 아닌0xFFFF
에서 시작하는 요청 코드를 생성하므로 활동에서startActivityForResult()
또는requestPermissions()
를 사용할 때 중복을 방지합니다. (aosp/1302324)
버전 1.2.0-alpha04
2020년 4월 29일
androidx.activity:activity:1.2.0-alpha04
및 androidx.activity:activity-ktx:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- ActivityResult API에 startIntentSenderForResult를 호출할 수 있는 계약이 추가되었습니다. (b/153007517)
API 변경사항
prepareCall()
메서드의 이름이 여기ComponentActivity
와 Fragment1.3.0-alpha04
에서 모두registerForActivityResult()
로 변경되었습니다. (aosp/1278717)GetContents
,OpenDocuments
,RequestPermissions
계약의 이름이 각각GetMultipleContents
,OpenMultipleDocuments
,RequestMultiplePermissions
로 변경되었습니다. (aosp/1280161)- 이제
ComponentActivity
가ActivityResultRegisteryOwner
인터페이스를 구현합니다. (aosp/1290888) ComponentActivity
의startActivityForResult()
/onActivityResult()
및onRequestPermissionsResult()
API가 지원 중단되었습니다. Activity Result API를 사용하세요. (b/154751887)
버그 수정
GetMultipleContents
및OpenMultipleDocuments
계약을 사용하고 단일 항목을 선택하면 이제 콜백으로 올바르게 반환됩니다. (b/152941153)
버전 1.2.0-alpha03
2020년 4월 1일
androidx.activity:activity:1.2.0-alpha03
및 androidx.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) ActivityResultRegistry
의registerActivityResultCallback()
메서드 이름이register()
로 변경되었습니다. (aosp/1267621)ActivityResultLauncher
의dispose()
메서드 이름이unregister()
로 변경되었고ActivityResultRegistry
의unregisterResultCallback()
가 삭제되었습니다. (aosp/1267621)- 이제
ActivityResultContact
의createIntent()
메서드는 입력과 함께Context
를 받아 명시적 인텐트를 만들 수 있습니다. (aosp/1238800) - 이제
ActivityResultContract
이getSynchronousResult()
를 재정의하여startActivityForResult
를 호출하지 않고 결과를 전달할 수 있습니다. 요청된 권한이 이미 부여된 경우RequestPermission
및RequestPermissions
계약에서 '부여됨' 상태를 올바르게 전달하는 데 사용됩니다. (b/151110799) - 이전에 사용 가능한
Dial
계약이 삭제되었습니다.Intent
가startActivityForResult()
와 함께 사용되도록 되어있지 않기 때문입니다. (aosp/1266916) - 이제 확장되지 않은 많은 Activity Result API 다수가
final
입니다. 여기에는getActivityResultRegistry()
,prepareCall()
메서드,invoke()
를 제외한 모든ActivityResultRegistry
메서드, 선택적 추가 항목을 지원하지 않는 여러 기본 계약이 포함됩니다. (b/152439361)
버그 수정
- 구성 변경 후 아직 재등록되지 않은 콜백에 결과를 전달하려고 할 때
ActivityResultRegistry
의NullPointerException
이 수정되었습니다. 이제ActivityResultRegistry
가 대기 중인 결과를 보류하고 콜백이 다시 등록되면 결과를 전달합니다. (b/152137004)
버전 1.2.0-alpha02
2020년 3월 18일
androidx.activity:activity:1.2.0-alpha02
및 androidx.activity:activity-ktx:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- ActivityResultRegistry: 이제
ComponentActivity
가ActivityResultRegistry
를 제공하여 활동 또는 프래그먼트 내 메서드를 재정의하지 않고도startActivityForResult()
+onActivityResult()
뿐 아니라requestPermissions()
+onRequestPermissionsResult()
플로우를 처리하도록 지원하고,ActivityResultContract
를 통해 유형 안정성을 높이고, 이러한 플로우 테스트에 후크를 제공합니다. 업데이트된 Activity에서 결과 가져오기를 참고하세요. (b/125158199 참조)
버전 1.2.0-alpha01
2020년 3월 4일
androidx.activity:activity:1.2.0-alpha01
및 androidx.activity:activity-ktx:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 모든 뷰에 관해
LifecycleOwner
가 Activity에 직접 추가될 때 Activity를 반환하도록 Lifecycle2.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-rc03
및 androidx.activity:activity-ktx:1.1.0-rc03
이 출시되었습니다. 버전 1.1.0-rc03에 포함된 커밋을 확인하세요.
종속 항목 변경사항
- 이제 Activity가 Lifecycle
2.2.0-rc03
및 Lifecycle ViewModel SavedState1.0.0-rc03
에 종속됩니다.
버전 1.1.0-rc02
2019년 11월 7일
androidx.activity:activity:1.1.0-rc02
및 androidx.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-rc01
및 androidx.activity:activity-ktx:1.1.0-rc01
이 1.1.0-beta01
에서 변경사항 없이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
버전 1.1.0-beta01
2019년 10월 9일
androidx.activity:activity:1.1.0-beta01
및 androidx.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-alpha03
및 androidx.activity:activity-ktx:1.1.0-alpha03
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 이제 Activity가 Core 1.1.0 안정화 버전에 종속됩니다.
버그 수정
- 이제 Activity가 Lifecycle
2.2.0-alpha04
에 종속됩니다.
버전 1.1.0-alpha02
2019년 8월 7일
androidx.activity:activity:1.1.0-alpha02
및 androidx.activity:activity-ktx:1.1.0-alpha02
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 이제
SavedStateViewModelFactory
가ComponentActivity
와 함께by viewModels()
,ViewModelProvider
생성자,ViewModelProviders.of()
를 사용할 때 사용되는 기본 팩터리입니다. (b/135716331 참조)
버전 1.1.0-alpha01
2019년 7월 2일
androidx.activity:activity:1.1.0-alpha01
및 androidx.activity:activity-ktx:1.1.0-alpha01
가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 이제
activity
가 Lifecycle2.2.0-alpha02
에 종속됩니다. (aosp/1007817 참조) activity-ktx
에lifecycle-runtime-ktx
에 관한 종속 항목이 추가되었습니다. 따라서activity-ktx
또는activity-ktx
에 종속되는 라이브러리(예:fragment-ktx
)를 사용할 때 더 이상 종속 항목에 명시적으로 추가할 필요가 없습니다. (aosp/987162)
버전 1.0.0
버전 1.0.0
2019년 9월 5일
androidx.activity:activity:1.0.0
및 androidx.activity:activity-ktx:1.0.0
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
1.0.0의 주요 기능
- ComponentActivity:
ComponentActivity
는 Fragment1.1.0
의FragmentActivity
에 관해 그리고 확장하여 AppCompat1.1.0
의AppCompatActivity
에 관해 새로운 기본 클래스 역할을 합니다. - activity-ktx:
activity-ktx
모듈에는 ViewModel에 액세스하기 위한by viewModels
Kotlin 속성 확장을 포함합니다. Fragment1.1.0
의fragment-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-rc01
및 androidx.activity:activity-ktx:1.0.0-rc01
이 1.0.0-beta01
에서 변경사항 없이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버전 1.0.0-beta01
2019년 6월 5일
androidx.activity::activity:1.0.0-beta01
및 androidx.activity:activity-ktx:1.0.0-beta01
이 1.0.0-alpha08
에서 변경사항 없이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버전 1.0.0-alpha08
2019년 5월 7일
androidx.activity:activity:1.0.0-alpha08
및 androidx.activity:activity-ktx:1.0.0-alpha08
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
API 변경사항
- 브레이킹 체인지: 이전에 지원 중단된
ComponentActivity
에 관한addOnBackPressedCallback
및removeOnBackPressedCallback
메서드를 삭제했습니다. (aosp/953857 참조) - 이제
OnBackPressedCallback
의setEnabled()
및isEnabled()
메서드가 최종입니다. (b/131416833 참조) - 이제
OnBackPressedCallback
의remove()
메서드가 최종입니다. (aosp/952720 참조) - 이제
OnBackPressedDispatcher
에 공개 생성자가 있으므로 테스트 등을 위해 자체 인스턴스를 생성할 수 있습니다. (aosp/953431 참조) - 이제
ComponentActivity
의onBackPressed()
가@MainThread
로 명시적으로 표시됩니다. (aosp/952721 참조)
버그 수정
LifecycleOwner
와 함께 추가된OnBackPressedCalback
의handleOnBackPressed()
메서드 내에서remove()
를 호출할 때 발생하는ConcurrentModificationException
을 수정했습니다. (b/131765095 참조)
버전 1.0.0-alpha07
2019년 4월 25일
androidx.activity:activity:1.0.0-alpha07
및 androidx.activity:activity-ktx:1.0.0-alpha07
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
API 변경사항
이 릴리스에서는 onBackPressed()
처리에 상당한 변경사항이 있습니다. 자세한 내용은 업데이트된 맞춤형 뒤로 기능 문서를 참고하세요.
OnBackPressedCallback
및OnBackPressedDispatcher
의 메서드가@MainThread
로 표시되었습니다. (aosp/943813 참조)handleOnBackPressed()
메서드가 더 이상boolean
을 반환하지 않습니다. 대신OnBackPressedCallback
은 이제 추상 클래스이며 사용 설정하거나 사용 중지할 수 있습니다. 새isEnabled()
메서드가 true를 반환하는 경우에만handleOnBackPressed()
가 호출됩니다. 이 경우 뒤로 버튼을 반드시 처리해야 합니다. (aosp/944518 참조)OnBackPressedDispatcher
의addCallback
메서드가 더 이상Cancellable
인스턴스를 반환하지 않습니다. 이제OnBackPressedCallback
에 이 기능을 처리하는remove()
메서드가 포함되어 있으므로handleOnBackPressed()
중에remove()
를 호출할 수 있습니다. (aosp/944519 및 aosp/946316 참조)- 이제
activity-ktx
에는handleOnBackPressed()
를 구현하고isEnabled
및remove()
에 액세스할 수 있는 람다를 허용하는addCallback
을 위한 수신기 범위 지정 콜백이 포함되어 있습니다. (aosp/944520 참조)
버전 1.0.0-alpha06
2019년 4월 3일
androidx.activity:activity:1.0.0-alpha06
및 androidx.activity:activity-ktx:1.0.0-alpha06
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
API 변경사항
- 이제 ComponentActivity에는
@LayoutRes int
를 사용하는 두 번째 생성자가 포함되어 있으며 이 생성자는@ContentView
로 AppCompatActivity 클래스에 주석을 다는 이전 동작을 대체합니다. 이 접근 방법은 앱과 라이브러리 모듈 모두에서 적용됩니다. (b/128352521 참조) - ComponentActivity의
OnBackPressedCallback
관련 API가 지원 중단되고getOnBackPressedDispatcher()
를 통해 검색 가능한 새OnBackPressedDispatcher
로 대체되었습니다. (aosp/922523 참조) - 새
OnBackPressedCallback
을OnBackPressedDispatcher
에 추가하는 메서드가 이제Cancellable
객체를 반환하므로OnBackPressedDispatcher
를 명시적으로 참조할 필요 없이 콜백을 삭제할 수 있습니다. (aosp/922523 참조) OnBackPressedCallback
을 연결된LifecycleOwner
와 함께 추가하면 이제 Lifecycle이 시작되고 중지될 때OnBackPressedCallback
이 추가 및 삭제됩니다. (aosp/922523 참조)
버전 1.0.0-alpha05
2019년 3월 13일
androidx.activity:activity:1.0.0-alpha05
및 androidx.activity:activity-ktx:1.0.0-alpha05
가 출시되었습니다. 이 출시에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.
새로운 기능
- 이제
@ContentView
주석 조회가 캐시됩니다. (b/123709449 참조)
버전 1.0.0-alpha04
2019년 1월 30일
androidx.activity:activity 1.0.0-alpha04
및 androidx.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
에서는 기존 FragmentActivity
및 AppCompatActivity
의 새로운 기본 클래스로 ComponentActivity
를 도입합니다.
새로운 기능
- 이제
addOnBackPressedCallback
을 통해OnBackPressedCallback
을 등록하여 활동에서 메서드를 재정의하지 않고도onBackPressed()
콜백을 수신할 수 있습니다. ComponentActivity
에서ViewModel
을 검색하기 위한 새by viewModels()
Kotlin 속성 위임을 추가했습니다.- 대기 중인 입력 이벤트(예: 클릭)가 이제
onStop()
에서 취소됩니다.
API 변경사항
LifecycleOwner
및ViewModelStoreOwner
구현이FragmentActivity
에서ComponentActivity
로 이동했습니다.onRetainCustomNonConfigurationInstance
가 지원 중단되었습니다. 구성 변경 이후에도 효력을 유지해야 하는 객체를 저장하려면ViewModel
을 사용하세요.