활동
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2025년 10월 22일 | 1.11.0 | - | 1.12.0-beta01 | - |
종속 항목 선언
Activity의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def activity_version = "1.11.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.11.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.12
버전 1.12.0-beta01
2025년 10월 22일
androidx.activity:activity:1.12.0-beta01, androidx.activity:activity-compose:1.12.0-beta01 및 androidx.activity:activity-ktx:1.12.0-beta01이 출시되었습니다. 버전 1.12.0-beta01에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 런타임 동작 변경사항 및 이전을 관리하기 위한 실험용
ActivityFlagsAPI 도입 첫 번째 플래그는OnBackPressedCallback의 안정적인 순서를 지원하여 수명 주기 변경 전반에서 뒤로 탐색을 더 예측 가능하게 만듭니다. 개발자는ActivityFlags.isOnBackPressedLifecycleOrderMaintained = false를 설정하여 선택 해제할 수 있습니다. (I06bdf, Id08bb, I439aa, b/422730945, b/450533622)
종속 항목 업데이트
- 수명 주기 종속 항목을 2.9.4로 업데이트 (Ic9fb2)
버전 1.12.0-alpha09
2025년 9월 24일
androidx.activity:activity:1.12.0-alpha09, androidx.activity:activity-compose:1.12.0-alpha09 및 androidx.activity:activity-ktx:1.12.0-alpha09이 출시되었습니다. 버전 1.12.0-alpha09에는 이러한 커밋이 포함되어 있습니다.
종속 항목 변경사항
- 이제 Activity가 Navigation Event 1.0.0-alpha08에 종속됩니다.
버전 1.12.0-alpha08
2025년 9월 10일
androidx.activity:activity:1.12.0-alpha08, androidx.activity:activity-compose:1.12.0-alpha08 및 androidx.activity:activity-ktx:1.12.0-alpha08이 출시되었습니다. 버전 1.12.0-alpha08에는 이 커밋이 포함되어 있습니다.
종속 항목 업데이트
- 이제 Activity가 Navigation Event 1.0.0-alpha08에 종속됩니다.
버전 1.12.0-alpha07
2025년 8월 27일
androidx.activity:activity:1.12.0-alpha07, androidx.activity:activity-compose:1.12.0-alpha07 및 androidx.activity:activity-ktx:1.12.0-alpha07이 출시되었습니다. 버전 1.12.0-alpha07에는 이 커밋이 포함되어 있습니다.
버그 수정
- API 35에서 보이지 않는 뷰로 인해 예기치 않은 측정 인셋이 발생하는
EdgeToEdge문제가 수정되었습니다. (If49ff)
종속 항목 업데이트
- 이제 Activity가 Navigation Event
1.0.0-alpha07에 종속됩니다.
버전 1.12.0-alpha06
2025년 8월 13일
androidx.activity:activity:1.12.0-alpha06, androidx.activity:activity-compose:1.12.0-alpha06 및 androidx.activity:activity-ktx:1.12.0-alpha06이 출시되었습니다. 버전 1.12.0-alpha06에는 이 커밋이 포함되어 있습니다.
MinSdk 업데이트
- AndroidX의 기본
minSdk이 API 21에서 API 23으로 이동했습니다 (Ibdfca, b/380448311, b/435705964, b/435705223).
문서 업데이트
- 사용 중지된 동일한 프레임에서 동작을 처리할 수 있는 알려진 타이밍 문제를 설명하도록
PredictiveBackHandler의 KDocs를 업데이트했습니다. (I5be5c, b/431534103) enabled플래그를 사용한 무조건적 컴포지션을 추천하는 것 외에도 '마지막으로 구성된 항목이 우선' 동작을 명시적으로 설명하도록BackHandler및PredictiveBackHandler의 KDocs를 업데이트했습니다. (I7ab94)
종속 항목 업데이트
- 이제 Activity가 Navigation Event
1.0.0-alpha06에 종속됩니다.
버전 1.12.0-alpha05
2025년 7월 30일
androidx.activity:activity:1.12.0-alpha05, androidx.activity:activity-compose:1.12.0-alpha05 및 androidx.activity:activity-ktx:1.12.0-alpha05이 출시되었습니다. 버전 1.12.0-alpha05에는 이 커밋이 포함되어 있습니다.
종속 항목 업데이트
- 이제 Activity가 Navigation Event
1.0.0-alpha05에 종속됩니다.
버전 1.12.0-alpha04
2025년 7월 2일
androidx.activity:activity:1.12.0-alpha04, androidx.activity:activity-compose:1.12.0-alpha04 및 androidx.activity:activity-ktx:1.12.0-alpha04이 출시되었습니다. 버전 1.12.0-alpha04에는 이 커밋이 포함되어 있습니다.
종속 항목 변경사항
- 이제 Activity가 NavigationEvent Alpha04에 종속됩니다.
버전 1.12.0-alpha03
2025년 6월 18일
androidx.activity:activity:1.12.0-alpha03, androidx.activity:activity-compose:1.12.0-alpha03 및 androidx.activity:activity-ktx:1.12.0-alpha03이 출시되었습니다. 버전 1.12.0-alpha03에는 이 커밋이 포함되어 있습니다.
버그 수정
이제
OnBackPressedDispatcher와NavigationEventDispatcher가 모두ComponentActivity에서 지연 초기화됩니다. (I710e6)다음과 같은 문제를 일으키는
OnBackPressedDistpatcher문제를 해결했습니다.OnBackPressedCallback의 최신 디스패처만 사용 설정된 상태에 관한 알림을 받도록 추가되었습니다 (b/418715930).- 수명 주기를 사용하는
addCallback함수를 사용할 때OnBackPressedDispatcher가 잘못된 콜백을 삭제합니다. (b/422714753) OnBackPressedDispatcher.remove()는 등록된OnBackPressedCallback의 모든 인스턴스를 삭제하지 않습니다. (b/423024414)
버전 1.12.0-alpha02
2025년 6월 4일
androidx.activity:activity:1.12.0-alpha02, androidx.activity:activity-compose:1.12.0-alpha02 및 androidx.activity:activity-ktx:1.12.0-alpha02이 출시되었습니다. 버전 1.12.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
버그 수정
- NavigationEvent
1.0.0-alpha02: 닫을 수 있는 항목의 내부 목록을 동시에 수정하여NavigationEventCallback.remove()가 호출될 때 발생할 수 있는ConcurrentModificationException가 수정되었습니다. (I63066)
버전 1.12.0-alpha01
2025년 5월 20일
androidx.activity:activity:1.12.0-alpha01, androidx.activity:activity-compose:1.12.0-alpha01 및 androidx.activity:activity-ktx:1.12.0-alpha01이 출시되었습니다. 버전 1.12.0-alpha01에는 이 커밋이 포함되어 있습니다.
새로운 기능
ComponentActivity및ComponentDialog이NavigationEventDispatcherOwnerAPI를 통해 NavigationEvent1.0.0-alpha01와 통합되었습니다. 이제navigationEventDispatcher필드를 통해ComponentActivity에서NavigationEventDispatcher를 검색할 수 있습니다.OnBackPressedDispatcher이 새 라이브러리 위에 다시 작성되었으므로 이전의 모든 사용이 계속 올바르게 작동해야 합니다. 앞으로는NavigationEventDispatcher및NavigationEventCallback을 사용해야 합니다. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)
버전 1.11
버전 1.11.0
2025년 9월 10일
androidx.activity:activity:1.11.0, androidx.activity:activity-compose:1.11.0 및 androidx.activity:activity-ktx:1.11.0이 출시되었습니다. 버전 1.11.0에는 이러한 커밋이 포함되어 있습니다.
1.10.0 이후 중요 변경사항:
- 애플리케이션이 지원되는 HDR 유형과 같은 미디어 기능을 지정할 수 있도록
PickVisualMediaRequest에MediaCapabilitiesAPI가 추가되었습니다. - 이제 활동이 API 36으로 컴파일됩니다.
버전 1.11.0-rc01
2025년 4월 23일
androidx.activity:activity:1.11.0-rc01, androidx.activity:activity-compose:1.11.0-rc01 및 androidx.activity:activity-ktx:1.11.0-rc01이 출시되었습니다. 버전 1.11.0-rc01에는 이러한 커밋이 포함되어 있습니다.
버전 1.11.0-beta01
2025년 4월 9일
androidx.activity:activity:1.11.0-beta01, androidx.activity:activity-compose:1.11.0-beta01 및 androidx.activity:activity-ktx:1.11.0-beta01이 출시되었습니다. 버전 1.11.0-beta01에는 이 커밋이 포함되어 있습니다.
버전 1.11.0-alpha02
2025년 3월 26일
androidx.activity:activity:1.11.0-alpha02, androidx.activity:activity-compose:1.11.0-alpha02 및 androidx.activity:activity-ktx:1.11.0-alpha02이 출시되었습니다. 버전 1.11.0-alpha02에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Android 16 베타03의 새로운
EDGE_NONE및frameTimeMillis을OnBackPressedCallback의handleOnBackStarted및handleOnBackProgressed함수에서 제공하는BackEventCompat에 통합했습니다.
종속 항목 업데이트
- 이제 활동이 API 36으로 컴파일됩니다. (I510e8, b/301910674)
버전 1.11.0-alpha01
2025년 3월 12일
androidx.activity:activity:1.11.0-alpha01, androidx.activity:activity-compose:1.11.0-alpha01 및 androidx.activity:activity-ktx:1.11.0-alpha01이 출시되었습니다. 버전 1.11.0-alpha01에는 이 커밋이 포함되어 있습니다.
새로운 기능
- 애플리케이션이 지원되는 HDR 유형과 같은 미디어 기능을 지정할 수 있도록
PickVisualMediaRequest에MediaCapabilitiesAPI가 추가되었습니다. (Ic3ee7)
버전 1.10
버전 1.10.1
2025년 2월 26일
androidx.activity:activity:1.10.1, androidx.activity:activity-compose:1.10.1 및 androidx.activity:activity-ktx:1.10.1이 출시되었습니다. 버전 1.10.1에는 이러한 커밋이 포함되어 있습니다.
버그 수정
- 이제
ViewTreeOnBackPressedDispatcherOwners및FullyDrawnReporterOwners는ViewOverlay와 같은 뷰의 분리된 상위 요소를 통해 해결할 수 있습니다. 분리된 뷰 상위에 관한 자세한 내용은 핵심 출시 노트 또는ViewTree.setViewTreeDisjointParent의 문서를 참고하세요. (Ie7750)
버전 1.10.0
2025년 1월 15일
androidx.activity:activity:1.10.0, androidx.activity:activity-compose:1.10.0 및 androidx.activity:activity-ktx:1.10.0이 출시되었습니다. 버전 1.10.0에는 이러한 커밋이 포함되어 있습니다.
1.9.0 이후 중요 변경사항
PhotoPicker에서는 이제 순서대로 이미지를 선택하고 앨범 또는 이미지 중 어떤 탭을 처음에 표시할지 선택할 수 있습니다.- 사진 선택 도구를 트리거하는
PickVisualMedia및PickMultipleVisualMedia활동 결과 계약은 시스템 사진 선택 도구를 사용할 수 없는 경우 더 이상 Google Play 서비스에 직접 위임하지 않지만 공개ACTION_SYSTEM_FALLBACK_PICK_IMAGES작업 및 관련 추가 기능을 사용하여 OEM 및 시스템 앱에 일관된 사진 선택 도구 환경을 대체로 제공합니다. - 현재 범위에
Activity를 제공하는 새로운LocalActivity컴포지션 로컬로, 개발자가LocalContext에서Activity를 가져올 필요가 없습니다.
버전 1.10.0-rc01
2024년 12월 11일
androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01 및 androidx.activity:activity-ktx:1.10.0-rc01이 출시되었습니다. 버전 1.10.0-rc01에는 이러한 커밋이 포함되어 있습니다.
버그 수정
PredictiveBackHandler가 현재 활성 상태일 때 사용 설정 상태를 변경하면 콜백이 즉시 단락되는 문제를 수정했습니다. 이제 사용 설정 상태 변경과 관계없이 현재 콜백이 완료됩니다. (Ib8719)
버전 1.10.0-beta01
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)
종속 항목 업데이트
- 이제 활동 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)
버그 수정
- AGP 7.3 이상 (예: R8 버전 3.3)을 사용하여 R8을 사용하는 경우 API 모델링을 통해 자동으로 발생하고 AGP 8.1 이상 (예: D8 버전 8.1)을 사용하는 모든 빌드에 대해 새 플랫폼 API에 대한 액세스의 수동 윤곽선이 삭제되었습니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (I9496c, b/345472586)
- Activity
1.9.2에서: Activity ComposePredictiveBackHandlerAPI가 사용 중지된 프레임에서 시스템 뒤로 동작을 계속 처리하여 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
PredictiveBackHandlerAPI가 사용 중지된 프레임에서 시스템 뒤로 동작을 계속 처리하여 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,PredictiveBackHandlerAPI는 뒤로 탐색을 처리할 때onBackPressedDispatcher.onBackPressed()를 호출하면 경고를 표시합니다. 이는 항상 뒤로 탐색 예측 애니메이션을 중단하기 때문입니다. 자세한 내용은 권장사항 가이드를 참고하세요. - 나머지 활동 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가 프로필 설치 프로그램 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,PredictiveBackHandlerAPI는 뒤로 탐색을 처리할 때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필드로의 구조 분해를 지원하는ActivityResultKotlin 확장 프로그램이activity-ktx에서activity로 이동했습니다. (I0565a)ComponentActivity및trackPipAnimationHintView의by viewModels()Kotlin 확장 프로그램이activity-ktx에서activity로 이동했습니다.activity-ktx아티팩트가 이제 완전히 비어 있습니다. (I0a444)
버그 수정
- 이제
enableEdgeToEdgeAPI가 디스플레이 컷아웃 주위에 그려집니다. (a3644b, b/311173461) - Activity
1.8.2에서:"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"키가 있는 추가 항목을 사용하는 대신EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX키를 올바르게 전달하도록 사진 선택 도구 활동 계약의ACTION_SYSTEM_FALLBACK_PICK_IMAGES에 전달된 추가 항목을 수정했습니다. 시스템 대체 사진 선택 도구를 구현하는 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활동 결과 계약과 동일한 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에 포함된 커밋을 확인하세요.
버그 수정
"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"키가 있는 추가 항목을 사용하는 대신EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX키를 올바르게 전달하도록 사진 선택 도구 활동 계약의ACTION_SYSTEM_FALLBACK_PICK_IMAGES에 전달된 추가 항목을 수정했습니다. 시스템 대체 사진 선택 도구를 구현하는 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에 포함된 커밋을 확인하세요.
버그 수정
- 이제
OnBackPressedDispatcher는 뒤로 동작이 처리되는 동안 새OnBackPressedCallback가 추가된 후에도 올바른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()콜백 외에도, 새로운 뒤로 탐색 예측 콜백을 제공합니다. 이 콜백은 뒤로 동작 시작, 동작 전체의 진행 상황, 취소되는 뒤로 동작에 관한 처리를 담당합니다. 또한 활동 Compose에서 뒤로 탐색 예측 동작 이벤트를 처리하는PredictiveBackHandler컴포저블도 함께 제공됩니다. 제공하는 일시 중단 람다에서 수집해야 하는 BackEventCompat 객체의 흐름을 제공합니다.
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
이제 ComponentActivity.onBackPressed()가 뒤로 이동을 처리하는 API로 대체되어 지원 중단되었습니다. 이제 개발자는 이 메서드를 재정의하는 대신 OnBackPressedDispatcher를 활용해야 합니다.
- EdgeToEdge - 하위 호환 방식으로 더 넓은 화면 디스플레이를 쉽게 설정할 수 있도록
ComponentActivity.enableEdgeToEdge()가 추가되었습니다.
버전 1.8.0-rc01
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에 포함된 커밋을 확인하세요.
새로운 기능
활동 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를enableEdgeToEdgeAPI에 전달할 때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 변경사항
- 이제 활동은 프레임워크
BackEvent클래스에서 분리된BackEvent의 이전 버전과 호환되는 버전 역할을 하는BackEventCompat클래스를 제공합니다. - 브레이킹 체인지: 이제
OnBackPressedCallback의handleOnBackStarted및handleOnBackProgressed메서드가 프레임워크android.window.BackEvent클래스가 아닌androidx.activity.BackEventCompat인스턴스를 수신합니다.OnBackPressedDispatcher의 해당@VisibleForTestingAPI도 업데이트되었습니다. - 이제
OnBackPressedDispatcher생성자는 선택적Consumer<Boolean>인스턴스를 사용하므로 디스패처 소유자는 사용 설정된 콜백 수가 0에서 0이 아닌 수로 변경되거나 그 반대로 변경될 때마다 콜백을 받을 수 있습니다.
버그 수정
- 활동
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 변경사항
- 이제
ComponentActivity.onBackPressed()가 뒤로 이동을 처리하는 API로 대체되어 지원 중단되었습니다. 이제 개발자는 이 메서드를 재정의하는 대신OnBackPressedDispatcher를 활용해야 합니다. (Ibce2f, b/271596918) - 이제
ComponentDialog및ComponentActivity에는 콘텐츠 뷰를 설정하기 전에 모든 뷰 트리 소유자를 초기화하는 데 사용되는 공개 APIinitViewTreeOwners()가 포함됩니다. (Ibdce0, b/261314581)
버그 수정
- 프래그먼트가 MenuHost를 잘못 무효화하여 활동의 다른 메뉴에 예기치 않은 동작이 발생하는 문제를 수정했습니다. (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를 설정합니다. 이제ViewTreeAPI 요구사항을 통해 창에 연결된LifecycleOwner및SavedStateRegistryOwner를 모두 충족하므로ComponentDialog내에서 Jetpack Compose를 사용할 수 있습니다. - 이제
IntentSenderRequest.Builder.setFlags()를 사용하면 단일 플래그뿐 아니라 여러 플래그를Intent에서 설정할 수 있습니다.
Kotlin 변환
여러 활동 클래스가 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 변경사항
MediaStore.ACTION_PICK_IMAGES를 사용할 수 없을 때 대체로PickVisualMedia및PickMultipleVisualMedia계약에서 사용하는 작업과 추가 기능은 이제 일관된 사진 선택 도구 환경을 제공하려는 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를 사용할 수 있도록PickVisualMediaActivityResultContract에 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를 처리하기 위해ComponentActivityAPI와 상호작용하는 Compose 특정 래퍼를 제공합니다. 자세한 내용은 문서를 참고하세요. - CaptureVideo 계약 -
CaptureVideoActivityResultContract가 현재 지원 중단된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에 포함된 커밋을 확인하세요.
새로운 기능
- 새
CaptureVideoActivityResultContract가 주어진 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 변경사항
BackHandlerAPI를 사용하여 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),ViewTreeSavedStateRegistryOwnerAPI를 지원하며 이러한 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 viewModelsKotlin 속성 확장을 포함합니다. 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을 사용하세요.