กิจกรรม
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 23 กันยายน 2026 | 1.13.0 | - | - | 1.14.0-alpha03 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Activity คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ
แอปหรือโมดูล
ดึงดูด
dependencies { def activity_version = "1.13.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.13.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยให้ Jetpack ทำงานได้ดีขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดู ปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของ Issue Tracker
เวอร์ชัน 1.14
เวอร์ชัน 1.14.0-alpha03
23 กันยายน 2026
androidx.activity:activity:1.14.0-alpha03, androidx.activity:activity-compose:1.14.0-alpha03 และ androidx.activity:activity-ktx:1.14.0-alpha03 จะเปิดตัว เวอร์ชัน 1.14.0-alpha03 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- ใช้
WindowCompat#enableEdgeToEdge(Window)แทนEdgeToEdge#enable()(Ibff3e) - ระบบเลิกใช้งานการโอเวอร์โหลดช่องข้อความ Material 2 ที่ยอมรับพารามิเตอร์
value, onValueChangeแล้ว โปรดเปลี่ยนไปใช้โอเวอร์โหลดที่ใช้TextFieldStateเพื่อยกสถานะ (I6b841, b/556234973)
การแก้ไขข้อบกพร่อง
- อัปเดตทรัพยากร Dependency ของ
androidx.lifecycle:lifecycle-runtimeเป็น 2.10.0 แล้ว ต้องใช้เวอร์ชันนี้เพื่อให้การตรวจสอบ Lint ของรันไทม์วงจรการใช้งานแบบรวมทำงานร่วมกับ AGP เวอร์ชัน 9.5.0-alpha04 ขึ้นไปได้ (I99bfd, b/556807521) ComponentActivityใหม่defaultViewModelArgsรองรับการกำหนดค่าการบูตโดยตรงแล้วเช่นกัน (I10a08)
เวอร์ชัน 1.14.0-alpha02
9 กันยายน 2026
androidx.activity:activity:1.14.0-alpha02, androidx.activity:activity-compose:1.14.0-alpha02 และ androidx.activity:activity-ktx:1.14.0-alpha02 จะเปิดตัว เวอร์ชัน 1.14.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
compileSdkสำหรับไลบรารี Compose ที่อัปเดตเป็น 37.1 ซึ่งจะต้องอัปเดตcompileSdkสำหรับแอปและไลบรารีทั้งหมดที่ใช้ Compose (I05b0f)
เวอร์ชัน 1.14.0-alpha01
26 สิงหาคม 2026
androidx.activity:activity:1.14.0-alpha01, androidx.activity:activity-compose:1.14.0-alpha01 และ androidx.activity:activity-ktx:1.14.0-alpha01 จะเปิดตัว เวอร์ชัน 1.14.0-alpha01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ระบบจะไม่เพิ่มส่วนเสริมของ Intent ลงใน
defaultViewModelCreationExtrasสำหรับกิจกรรมที่ส่งออกโดยอัตโนมัติอีกต่อไป นักพัฒนาแอปของกิจกรรมที่ส่งออกสามารถลบล้างdefaultViewModelArgsเพื่อระบุส่วนเสริมของ Intent ที่ตรวจสอบแล้วอย่างชัดเจน (Id0cb6, b/213646066) - ตอนนี้ Activity มีฟังก์ชันจากโรงงาน
NavigationEventDispatcherOwnerและOnBackPressedDispatcherOwnerสำหรับสร้างอินสแตนซ์ของคอมโพเนนต์ที่เกี่ยวข้องได้อย่างง่ายดาย (I1d259, Iadd5c) - ตอนนี้
OnBackPressedDispatcherมีส่วนขยายasNavigationEventDispatcherที่ช่วยให้แปลงเป็นNavigationEventDispatcherได้อย่างง่ายดาย (Id11cf)
เวอร์ชัน 1.13
เวอร์ชัน 1.13.0
11 มีนาคม 2026
androidx.activity:activity:1.13.0, androidx.activity:activity-compose:1.13.0 และ androidx.activity:activity-ktx:1.13.0 จะเปิดตัว เวอร์ชัน 1.13.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.12.0
ComponentActivityได้ใช้OnPictureInPictureUiStateChangedProviderอินเทอร์เฟซแล้ว ซึ่งหมายความว่าตอนนี้สามารถผสานรวมกับอาร์ติแฟกต์core:core-pipใหม่ที่อนุญาตให้คอมโพเนนต์ใดก็ตามรับเหตุการณ์การเปลี่ยนแปลงสถานะ UI ของโหมดภาพซ้อนภาพได้- ตอนนี้จะมีการเรียกใช้
EdgeToEdgeอีกครั้งเมื่อมีการเปลี่ยนแปลงการกำหนดค่าเพื่อให้แน่ใจว่าสีแถบสถานะของระบบได้รับการอัปเดตอย่างถูกต้อง
เวอร์ชัน 1.13.0-rc01
25 กุมภาพันธ์ 2026
androidx.activity:activity:1.13.0-rc01, androidx.activity:activity-compose:1.13.0-rc01 และ androidx.activity:activity-ktx:1.13.0-rc01 จะเปิดตัว เวอร์ชัน 1.13.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- จากกิจกรรม 1.12.4: ตอนนี้
ActivityResultContractsรูปภาพและวิดีโอจะเปิดตัวอย่างถูกต้องเมื่อใช้ในอุปกรณ์ที่มีการแก้ไขด้านความปลอดภัยของ URI ล่าสุด (I61201, b/433708587)
เวอร์ชัน 1.13.0-alpha01
14 มกราคม 2026
androidx.activity:activity:1.13.0-alpha01, androidx.activity:activity-compose:1.13.0-alpha01 และ androidx.activity:activity-ktx:1.13.0-alpha01 จะเปิดตัว เวอร์ชัน 1.13.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้จะมีการเรียกใช้
EdgeToEdgeอีกครั้งเมื่อมีการเปลี่ยนแปลงการกำหนดค่าเพื่อให้แน่ใจว่าสีแถบสถานะของระบบได้รับการอัปเดตอย่างถูกต้อง (Id1381, b/364713509)
การเปลี่ยนแปลง API
ComponentActivityตอนนี้ใช้OnPictureInPictureUiStateChangedProviderอินเทอร์เฟซแล้ว ซึ่งหมายความว่าตอนนี้สามารถผสานรวมกับอาร์ติแฟกต์core:core-pipใหม่ที่อนุญาตให้คอมโพเนนต์ใดๆ รับเหตุการณ์การเปลี่ยนแปลงสถานะ UI ของโหมดภาพซ้อนภาพได้ (I4df5c, b/441310308)
การแก้ไขข้อบกพร่อง
- จาก Activity 1.12.2: แก้ไขปัญหาที่การตั้งค่า
isEnabledในOnBackPressedCallbackที่รับรู้ถึงวงจรจะลบล้างสถานะLifecycleซึ่งอาจทำให้เกิดข้อขัดข้อง (I7d898, b/461999811)
เวอร์ชัน 1.12
เวอร์ชัน 1.12.4
11 กุมภาพันธ์ 2026
androidx.activity:activity:1.12.4, androidx.activity:activity-compose:1.12.4 และ androidx.activity:activity-ktx:1.12.4 จะเปิดตัว เวอร์ชัน 1.12.4 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
ActivityResultContractsรูปภาพและวิดีโอจะเปิดขึ้นอย่างถูกต้องเมื่อใช้ในอุปกรณ์ที่มีการแก้ไขด้านความปลอดภัยของ URI ล่าสุด (I61201, b/433708587)
เวอร์ชัน 1.12.3
28 มกราคม 2026
androidx.activity:activity:1.12.3, androidx.activity:activity-compose:1.12.3 และ androidx.activity:activity-ktx:1.12.3 จะเปิดตัว เวอร์ชัน 1.12.3 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.12.2
17 ธันวาคม 2025
androidx.activity:activity:1.12.2, androidx.activity:activity-compose:1.12.2 และ androidx.activity:activity-ktx:1.12.2 จะเปิดตัว เวอร์ชัน 1.12.2 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การตั้งค่า isEnabled ด้วยตนเองใน
OnBackPressedCallbackที่รับรู้ถึงวงจรจะลบล้างสถานะวงจร ซึ่งอาจทำให้เกิดข้อขัดข้อง (I7d898, b/461999811)
เวอร์ชัน 1.12.1
3 ธันวาคม 2025
androidx.activity:activity:1.12.1, androidx.activity:activity-compose:1.12.1 และ androidx.activity:activity-ktx:1.12.1 จะเปิดตัว เวอร์ชัน 1.12.1 มีการคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ Navigation Event 1.0.1
เวอร์ชัน 1.12.0
19 พฤศจิกายน 2025
androidx.activity:activity:1.12.0, androidx.activity:activity-compose:1.12.0 และ androidx.activity:activity-ktx:1.12.0 จะเปิดตัว เวอร์ชัน 1.12.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.11.0
- ตอนนี้
Androidx Activityไลบรารีจะขึ้นอยู่กับNavigationEventไลบรารีใหม่แล้ว ซึ่งรวมถึงการรองรับNavigationEventDispatcherในComponentActivityและComponentDialogนอกจากนี้ เรายังเขียนOnBackPressedAPI ใหม่โดยอิงตามNavigationEventAPI เพื่อให้มั่นใจว่า API จะมีความเข้ากันได้แบบย้อนหลังกับไลบรารีก่อนหน้า
เวอร์ชัน 1.12.0-rc01
5 พฤศจิกายน 2025
androidx.activity:activity:1.12.0-rc01, androidx.activity:activity-compose:1.12.0-rc01 และ androidx.activity:activity-ktx:1.12.0-rc01 จะเปิดตัว เวอร์ชัน 1.12.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อผิดพลาดขณะรันไทม์สำหรับ
BackHandlerและPredictiveBackHandlerในแอปที่ใช้คลาส Activity ที่กำหนดเอง ตอนนี้ Composable เหล่านี้จะกลับไปใช้LocalOnBackPressedDispatcherOwnerอย่างปลอดภัยในขณะที่ยังคงลำดับการเรียกใช้ในแอปที่รองรับNavigationEventDispatcherOwner(I43873)
เวอร์ชัน 1.12.0-beta01
22 ตุลาคม 2025
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)
การอัปเดตทรัพยากร Dependency
- อัปเดตทรัพยากร Dependency ของวงจรลูกค้าเป็น 2.9.4 (Ic9fb2)
เวอร์ชัน 1.12.0-alpha09
24 กันยายน 2025
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 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับ Navigation Event 1.0.0-alpha08
เวอร์ชัน 1.12.0-alpha08
10 กันยายน 2025
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 มีการเปลี่ยนแปลงเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับ Navigation Event 1.0.0-alpha08
เวอร์ชัน 1.12.0-alpha07
27 สิงหาคม 2025
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 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับ
EdgeToEdgeใน API 35 ซึ่งการดูที่มองไม่เห็นทำให้เกิดการแทรกการวัดที่ไม่คาดคิด (If49ff)
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับเหตุการณ์การนำทาง
1.0.0-alpha07
เวอร์ชัน 1.12.0-alpha06
13 สิงหาคม 2025
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
minSdkเริ่มต้นสำหรับ AndroidX ได้ย้ายจาก API 21 ไปยัง API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
การอัปเดตเอกสารประกอบ
- อัปเดต KDocs สำหรับ
PredictiveBackHandlerเพื่อระบุปัญหาด้านเวลาที่ทราบ ซึ่งอาจประมวลผลท่าทางสัมผัสในเฟรมเดียวกันกับที่ปิดใช้ (I5be5c, b/431534103) - อัปเดตเอกสารประกอบของ
BackHandlerและPredictiveBackHandlerเพื่อระบุลักษณะการทำงาน "การเขียนครั้งสุดท้ายชนะ" อย่างชัดเจน นอกเหนือจากการแนะนำการเขียนแบบไม่มีเงื่อนไขด้วยแฟล็กenabled(I7ab94)
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับเหตุการณ์การนำทาง
1.0.0-alpha06
เวอร์ชัน 1.12.0-alpha05
30 กรกฎาคม 2025
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 มีการเปลี่ยนแปลงเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับเหตุการณ์การนำทาง
1.0.0-alpha05
เวอร์ชัน 1.12.0-alpha04
2 กรกฎาคม 2025
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 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ NavigationEvent Alpha04
เวอร์ชัน 1.12.0-alpha03
18 มิถุนายน 2025
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) OnBackPressedDispatcherจะนำการเรียกกลับที่ไม่ถูกต้องออกเมื่อใช้ฟังก์ชันaddCallbackที่ใช้รอบอายุ (b/422714753)OnBackPressedDispatcher.remove()จะไม่นำOnBackPressedCallbackที่ลงทะเบียนไว้ทั้งหมดออก (b/423024414)
- เฉพาะผู้จัดส่งล่าสุดเท่านั้นที่
เวอร์ชัน 1.12.0-alpha02
4 มิถุนายน 2025
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: แก้ไขConcurrentModificationExceptionที่อาจเกิดขึ้นเมื่อมีการเรียกใช้NavigationEventCallback.remove()เนื่องจากการแก้ไขรายการภายในของรายการที่ปิดได้พร้อมกัน (I63066)
เวอร์ชัน 1.12.0-alpha01
20 พฤษภาคม 2025
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ได้รับการผสานรวมกับ NavigationEvent1.0.0-alpha01ผ่านNavigationEventDispatcherOwnerAPI ตอนนี้คุณดึงข้อมูล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
10 กันยายน 2025
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
- เพิ่ม
MediaCapabilitiesAPI ลงในPickVisualMediaRequestเพื่อให้แอปพลิเคชันระบุความสามารถของสื่อ เช่น ประเภท HDR ที่รองรับ - ตอนนี้กิจกรรมจะคอมไพล์ด้วย API 36
เวอร์ชัน 1.11.0-rc01
23 เมษายน 2025
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
9 เมษายน 2025
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
26 มีนาคม 2025
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
- ผสานรวม
EDGE_NONEและframeTimeMillisใหม่จาก Android 16 Beta03 เข้ากับBackEventCompatที่OnBackPressedCallbackมอบให้ รวมถึงฟังก์ชันhandleOnBackStartedและhandleOnBackProgressed
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะคอมไพล์ด้วย API 36 (I510e8, b/301910674)
เวอร์ชัน 1.11.0-alpha01
12 มีนาคม 2025
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 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
MediaCapabilitiesAPI ลงในPickVisualMediaRequestเพื่อให้แอปพลิเคชันระบุความสามารถของสื่อ เช่น ประเภท HDR ที่รองรับ (Ic3ee7)
เวอร์ชัน 1.10
เวอร์ชัน 1.10.1
26 กุมภาพันธ์ 2025
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
15 มกราคม 2025
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และPickMultipleVisualMediaActivity Result ที่ทริกเกอร์เครื่องมือเลือกรูปภาพจะไม่มอบสิทธิ์ให้ บริการ Google Play โดยตรงอีกต่อไปหากเครื่องมือเลือกรูปภาพของระบบไม่พร้อมใช้งาน แต่จะใช้การดำเนินการACTION_SYSTEM_FALLBACK_PICK_IMAGESสาธารณะและส่วนเสริมที่เกี่ยวข้องเพื่อมอบประสบการณ์การใช้งานเครื่องมือเลือกรูปภาพที่สอดคล้องกันแก่ OEM และแอปของระบบเป็นตัวเลือกสำรอง LocalActivityองค์ประกอบใหม่ของ ในเครื่องที่ให้Activityสำหรับขอบเขตปัจจุบัน ซึ่งช่วยให้นักพัฒนาแอปไม่ต้องขอActivityจากLocalContext
เวอร์ชัน 1.10.0-rc01
11 ธันวาคม 2024
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
13 พฤศจิกายน 2024
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
30 ตุลาคม 2024
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
- เพิ่มองค์ประกอบ
LocalActivityใหม่ในเครื่องที่ให้Activityสำหรับขอบเขตปัจจุบัน ซึ่งช่วยให้นักพัฒนาแอปไม่ต้องรับActivityจากLocalContextนอกจากนี้ ยังมาพร้อมกับกฎการตรวจสอบใหม่ที่จะตรวจสอบเมื่อมีการแคสต์LocalContextไปยังActivityอย่างไม่ถูกต้อง (I7746a, b/283009666)
การแก้ไขข้อบกพร่อง
- จากกิจกรรม
1.9.3:PredictiveBackHandlerจะไม่เริ่มทำงาน Callback อีกต่อไปหลังจากปิดใช้งานตัวแฮนเดิลแล้ว ซึ่งจะแก้ไขปัญหาที่NavHostจาก Navigation Compose จะแสดงIndexOutOfBoundsException(I3f75e, b/365027664, b/340202286)
การอัปเดตทรัพยากร Dependency
- ตอนนี้ Activity Compose ขึ้นอยู่กับ Compose Runtime 1.7.0 (I7746a, b/283009666)
เวอร์ชัน 1.10.0-alpha02
4 กันยายน 2024
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และPickMultipleVisualMediaActivity Result ที่ทริกเกอร์เครื่องมือเลือกรูปภาพจะไม่มอบสิทธิ์ให้ บริการ Google Play โดยตรงอีกต่อไปหากเครื่องมือเลือกรูปภาพของระบบไม่พร้อมใช้งาน แต่จะใช้การดำเนินการACTION_SYSTEM_FALLBACK_PICK_IMAGESสาธารณะและส่วนเสริมที่เกี่ยวข้องเพื่อมอบประสบการณ์การใช้งานเครื่องมือเลือกรูปภาพที่สอดคล้องกันแก่ OEM และแอปของระบบเป็นตัวเลือกสำรอง การดำเนินการนี้ไม่ควรส่งผลต่อประสบการณ์ของผู้ใช้สำหรับอุปกรณ์ที่มีบริการ Google Play เวอร์ชันล่าสุด (I3513d)
การแก้ไขข้อบกพร่อง
- นำการระบุการเข้าถึง API ของแพลตฟอร์มใหม่ด้วยตนเองออก เนื่องจากระบบจะดำเนินการนี้โดยอัตโนมัติผ่านการสร้างโมเดล API เมื่อใช้ R8 กับ AGP 7.3 ขึ้นไป (เช่น R8 เวอร์ชัน 3.3) และสำหรับการสร้างทั้งหมดเมื่อใช้ AGP 8.1 ขึ้นไป (เช่น D8 เวอร์ชัน 8.1) เราขอแนะนำให้ลูกค้าที่ไม่ได้ใช้ AGP อัปเดตเป็น D8 เวอร์ชัน 8.1 ขึ้นไป ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม (I9496c, b/345472586)
- จากกิจกรรม
1.9.2: แก้ไขปัญหาที่ API กิจกรรม ComposePredictiveBackHandlerจะยังคงจัดการท่าทางสัมผัสย้อนกลับของระบบในเฟรมที่ปิดใช้งาน ซึ่งอาจส่งผลให้ไลบรารี เช่น Navigation Compose จัดการการย้อนกลับแม้จะมี Back Stack ว่างเปล่า ส่งผลให้เกิดIndexOutOfBoundsException(Ie3301, b/340202286) - จากกิจกรรม
1.9.1: แก้ไขปัญหาเกี่ยวกับPredictiveBackHandlerที่หลังจากทำการสำรองข้อมูลระบบแล้ว การพยายามทำonBackPressedจากOnBackPressedDispatcherจะไม่สำเร็จ (I5f1f8)
เวอร์ชัน 1.10.0-alpha01
26 มิถุนายน 2024
androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01 และ androidx.activity:activity-ktx:1.10.0-alpha01 จะเปิดตัว เวอร์ชันนี้พัฒนาในสาขาภายใน
ฟีเจอร์ใหม่
- เพิ่มการรองรับฟีเจอร์ใหม่ของ
PhotoPickerที่เปิดตัวใน Android V รวมถึงความสามารถในการเลือกรูปภาพตามลำดับและเลือกแท็บ (อัลบั้มหรือรูปภาพ) ที่ควรแสดงในตอนแรก
เวอร์ชัน 1.9
เวอร์ชัน 1.9.3
16 ตุลาคม 2024
androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3 และ androidx.activity:activity-ktx:1.9.3 จะเปิดตัว เวอร์ชัน 1.9.3 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
PredictiveBackHandlerจะไม่เรียกใช้การเรียกกลับอีกต่อไปหลังจากที่ปิดใช้แฮนเดิลแล้ว ซึ่งจะแก้ไขปัญหาที่NavHostจาก Navigation Compose จะแสดงIndexOutOfBoundsException(I3f75e, b/340202286)
เวอร์ชัน 1.9.2
4 กันยายน 2024
androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2 และ androidx.activity:activity-ktx:1.9.2 จะเปิดตัว เวอร์ชัน 1.9.2 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ API ของ Activity Compose
PredictiveBackHandlerจะยังคงจัดการท่าทางสัมผัสย้อนกลับของระบบในเฟรมที่ปิดใช้ ซึ่งอาจส่งผลให้ไลบรารี เช่น Navigation Compose จัดการการย้อนกลับแม้จะมี Back Stack ว่างเปล่า ซึ่งส่งผลให้เกิดIndexOutOfBoundsException(Ie3301, b/340202286)
เวอร์ชัน 1.9.1
24 กรกฎาคม 2024
androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1 และ androidx.activity:activity-ktx:1.9.1 จะเปิดตัว เวอร์ชัน 1.9.1 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับ
PredictiveBackHandlerซึ่งหลังจากทำการสำรองข้อมูลระบบแล้ว การพยายามทำonBackPressedจากOnBackPressedDispatcherจะไม่สำเร็จ (I5f1f8)
เวอร์ชัน 1.9.0
17 เมษายน 2024
androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0 และ androidx.activity:activity-ktx:1.9.0 จะเปิดตัว เวอร์ชัน 1.9.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.8.0
ComponentActivityตอนนี้ได้ใช้OnUserLeaveHintProviderเพื่อให้คอมโพเนนต์สามารถเรียกกลับสำหรับเหตุการณ์onUserLeaveHintได้แล้ว- ตอนนี้ API
OnBackPressedCallback,BackHandlerและPredictiveBackHandlerจะแสดงคำเตือนเมื่อเรียกonBackPressedDispatcher.onBackPressed()ขณะจัดการการย้อนกลับ เนื่องจากจะทำให้ภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้ใช้งานไม่ได้เสมอ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือแนวทางปฏิบัติแนะนำ - เราได้เขียน Activity API ที่เหลือใหม่ใน Kotlin และย้ายส่วนขยายทั้งหมดที่เคยมีใน
activity-ktxไปยังactivityตอนนี้activity-ktxว่างเปล่าแล้ว- ในส่วนของการแปลง
ActivityResultLauncherเป็น Kotlin ตอนนี้เมธอดgetContractเป็นพร็อพเพอร์ตี้ Kotlin แบบแอบสแทรกต์แล้ว การเปลี่ยนแปลงนี้เข้ากันได้กับไบนารี แต่จะทำให้แหล่งที่มาใช้งานไม่ได้หากการใช้งานActivityResultLauncherเขียนด้วย Kotlin
- ในส่วนของการแปลง
เวอร์ชัน 1.9.0-rc01
3 เมษายน 2024
androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01 และ androidx.activity:activity-ktx:1.9.0-rc01 จะเปิดตัว เวอร์ชัน 1.9.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับ Profile Installer 1.3.1
เวอร์ชัน 1.9.0-beta01
20 มีนาคม 2024
androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01 และ androidx.activity:activity-ktx:1.9.0-beta01 จะเปิดตัว เวอร์ชัน 1.9.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขประสิทธิภาพการเริ่มต้นกิจกรรมที่ลดลงซึ่งเกิดขึ้นใน Activity
1.9.0-alpha02อันเนื่องมาจากการเรียกใช้OnBackPressedDispatcherซึ่งเป็นส่วนหนึ่งของการสร้าง Activity (Ie75e3)
เวอร์ชัน 1.9.0-alpha03
7 กุมภาพันธ์ 2024
androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03 และ androidx.activity:activity-ktx:1.9.0-alpha03 จะเปิดตัว เวอร์ชัน 1.9.0-alpha03 มีคอมมิตเหล่านี้
คำเตือนจากเครื่องมือวิเคราะห์ซอร์สโค้ด
- ตอนนี้ API
OnBackPressedCallback,BackHandlerและPredictiveBackHandlerจะแสดงคำเตือนเมื่อเรียกonBackPressedDispatcher.onBackPressed()ขณะจัดการการย้อนกลับ เนื่องจากจะทำให้ภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้ใช้งานไม่ได้เสมอ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือแนวทางปฏิบัติแนะนำ (1e4222, 2c950d, b/287505200)
การแก้ไขข้อบกพร่อง
- หากมีการส่งเหตุการณ์ย้อนกลับจากระบบที่เริ่มต้นในระหว่างท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ที่กำลังทำงานอยู่ ระบบจะยกเลิกท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ที่กำลังทำงานอยู่และเหตุการณ์ย้อนกลับใหม่จะเข้ามาแทนที่เพื่อเริ่มท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ใหม่ (I3482e)
- แก้ไขข้อขัดข้องเมื่อเข้าถึง
onBackPressedDispatcherจากComponentActivityเป็นครั้งแรกจากเธรดเบื้องหลัง ตอนนี้คุณเข้าถึงonBackPressedDispatcherในเธรดใดก็ได้ได้อย่างปลอดภัยแล้ว (I79955)
เวอร์ชัน 1.9.0-alpha02
24 มกราคม 2024
androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02 และ androidx.activity:activity-ktx:1.9.0-alpha02 จะเปิดตัว เวอร์ชัน 1.9.0-alpha02 มีคอมมิตเหล่านี้
Conversion ของ Kotlin
ActivityResultRegistryได้รับการเขียนใหม่ใน Kotlin วิธีนี้ช่วยให้มั่นใจได้ว่าระบบจะส่งค่าความสามารถในการเว้นว่างของ Generics ในสัญญาที่ส่งไปยังregisterไปยังActivityResultLauncherที่ส่งคืนให้คุณอย่างถูกต้อง (I121f0)ActivityResultได้รับการเขียนใหม่ใน Kotlin เราได้ย้ายActivityResultส่วนขยาย Kotlin ที่รองรับการแยกโครงสร้างลงในช่องresultCodeและdataจากactivity-ktxไปยังactivityแล้ว (I0565a)- เราได้ย้ายส่วนขยาย Kotlin ของ
by viewModels()สำหรับComponentActivityและtrackPipAnimationHintViewจากactivity-ktxไปยังactivityแล้ว ตอนนี้อาร์ติแฟกต์activity-ktxว่างเปล่าโดยสมบูรณ์แล้ว (I0a444)
การแก้ไขข้อบกพร่อง
- ตอนนี้
enableEdgeToEdgeAPI จะวาดรอบรอยบากของจอแสดงผล (a3644b, b/311173461) - จากกิจกรรม
1.8.2: แก้ไขส่วนที่ส่งไปยังACTION_SYSTEM_FALLBACK_PICK_IMAGESของสัญญาการใช้งานกิจกรรมเครื่องมือเลือกรูปภาพเพื่อส่งคีย์EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXอย่างถูกต้อง แทนที่จะใช้ส่วนที่มีคีย์"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"ขอแนะนำอย่างยิ่งหากคุณเป็น OEM ที่ใช้เครื่องมือเลือกรูปภาพสำรองของระบบเพื่อรองรับทั้ง 2 อย่างเพื่อให้มั่นใจว่ามีความเข้ากันได้ในวงกว้างที่สุด (I96a00)
เวอร์ชัน 1.9.0-alpha01
29 พฤศจิกายน 2023
androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01 และ androidx.activity:activity-ktx:1.9.0-alpha01 จะเปิดตัว เวอร์ชัน 1.9.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
ComponentActivityตอนนี้ใช้OnUserLeaveHintProviderเพื่ออนุญาตให้คอมโพเนนต์เรียกกลับสำหรับเหตุการณ์onUserLeaveHint(I54892)
การเปลี่ยนแปลง API
ComponentActivityได้รับการเขียนใหม่ใน Kotlin (I14f31)ActivityResultCallerได้รับการเขียนใหม่ใน Kotlin (Ib02e4)ActivityResultLauncherได้รับการเขียนใหม่ใน Kotlin ในการแปลงดังกล่าวgetContractเมธอดได้กลายเป็นพร็อพเพอร์ตี้ Kotlin แบบนามธรรมแล้ว การเปลี่ยนแปลงนี้เข้ากันได้กับไบนารี แต่จะทำให้แหล่งที่มาใช้งานไม่ได้หากการใช้งานActivityResultLauncherเขียนด้วย Kotlin (Id4615)PickVisualMediaRequestมีระดับ API ขั้นต่ำเดียวกันที่ 19 เหมือนกับสัญญาผลลัพธ์ของกิจกรรมPickVisualMediaแล้ว (Id6e21)
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับ Core
1.13.0-alpha01(I14f31)
เวอร์ชัน 1.8
เวอร์ชัน 1.8.2
13 ธันวาคม 2023
androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2 และ androidx.activity:activity-ktx:1.8.2 จะเปิดตัว เวอร์ชัน 1.8.2 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขส่วนที่ส่งไปยัง
ACTION_SYSTEM_FALLBACK_PICK_IMAGESของสัญญา Photo Picker Activity เพื่อส่งคีย์EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXอย่างถูกต้อง แทนที่จะใช้ส่วนที่มีคีย์"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"ขอแนะนำอย่างยิ่งหากคุณเป็น OEM ที่ใช้เครื่องมือเลือกรูปภาพสำรองของระบบเพื่อรองรับทั้ง 2 อย่างเพื่อให้มั่นใจว่ามีความเข้ากันได้ในวงกว้างที่สุด (I96a00)
เวอร์ชัน 1.8.1
15 พฤศจิกายน 2023
androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1 และ androidx.activity:activity-ktx:1.8.1 จะเปิดตัว เวอร์ชัน 1.8.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
OnBackPressedDispatcherจะยังคงส่งไปยังOnBackPressedCallbackที่ถูกต้องต่อไปแม้ว่าจะมีการเพิ่มOnBackPressedCallbackใหม่ในขณะที่ระบบกำลังจัดการท่าทางสัมผัสย้อนกลับ (Id0ff6)
เวอร์ชัน 1.8.0
4 ตุลาคม 2023
androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0 และ androidx.activity:activity-ktx:1.8.0 จะเปิดตัว เวอร์ชัน 1.8.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.7.0
- การย้อนกลับที่คาดการณ์ได้ -
OnBackPressedCallbackมีการเรียกกลับของการย้อนกลับที่คาดการณ์ได้แบบใหม่สำหรับการจัดการท่าทางสัมผัสการย้อนกลับที่เริ่มต้น ความคืบหน้าตลอดท่าทางสัมผัส และการยกเลิกท่าทางสัมผัสการย้อนกลับ นอกเหนือจากการเรียกกลับhandleOnBackPressed()ก่อนหน้าสำหรับเมื่อยืนยันท่าทางสัมผัสการย้อนกลับ นอกจากนี้ ยังมาพร้อมกับPredictiveBackHandlerComposable เพื่อจัดการเหตุการณ์ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ใน Activity Compose โดยจะแสดง Flow ของออบเจ็กต์ BackEventCompat ที่ต้องรวบรวมใน Lambda ที่ระงับที่คุณระบุ
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed() เลิกใช้งานแล้วเพื่อรองรับ API สำหรับการจัดการการย้อนกลับ ตอนนี้ นักพัฒนาแอปควรใช้ OnBackPressedDispatcher แทนที่จะลบล้างเมธอดนี้
- EdgeToEdge -
ComponentActivity.enableEdgeToEdge()ได้รับการเพิ่มเข้ามาเพื่อให้ตั้งค่าการแสดงผลแบบขอบจรดขอบได้อย่างง่ายดายในลักษณะที่เข้ากันได้แบบย้อนหลัง
เวอร์ชัน 1.8.0-rc01
20 กันยายน 2023
androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01 และ androidx.activity:activity-ktx:1.8.0-rc01 จะเปิดตัว เวอร์ชัน 1.8.0-rc01 มีคอมมิตเหล่านี้
เวอร์ชัน 1.8.0-beta01
6 กันยายน 2023
androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01 และ androidx.activity:activity-ktx:1.8.0-beta01 จะเปิดตัว เวอร์ชัน 1.8.0-beta01 มีคอมมิตเหล่านี้
การปรับปรุงเอกสารประกอบ
- ปรับปรุงเอกสารประกอบของ
BackEventCompat(aosp/2722254)
เวอร์ชัน 1.8.0-alpha07
23 สิงหาคม 2023
androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07 และ androidx.activity:activity-ktx:1.8.0-alpha07 จะเปิดตัว เวอร์ชัน 1.8.0-alpha07 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
Activity Compose ได้เพิ่ม
PredictiveBackHandlerComposable ใหม่เพื่อจัดการเหตุการณ์ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ โดยจะแสดงFlowของออบเจ็กต์BackEventCompatที่ต้องรวบรวมใน Lambda ที่ระงับที่คุณระบุPredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }นอกจากนี้ ยังมาพร้อมคำเตือนขณะคอมไพล์ผ่านกฎ Lint เพื่อให้มั่นใจว่ามีการเรียกใช้
Flowcollect()(Id2773, b/294884345)ตอนนี้ระบบจะเริ่มต้น
onBackPressedDispatcherในComponentActivityแบบเลซี่ เพื่อให้สร้างได้เฉพาะเมื่อจำเป็นเท่านั้น (I0bf8e)
การแก้ไขข้อบกพร่อง
ComponentActivityจะไม่แสดง NPE ใน Android 13 อีกต่อไปเมื่อได้รับonBackPressed()Callback และ Activity ได้รับการDESTROYEDแล้ว (Idb055, b/291869278)- นำการใช้งาน
isAtLeastU()API เวอร์ชันทดลอง (Ie9117, b/289269026) ออกแล้ว
เวอร์ชัน 1.8.0-alpha06
21 มิถุนายน 2023
androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06 และ androidx.activity:activity-ktx:1.8.0-alpha06 จะเปิดตัว เวอร์ชัน 1.8.0-alpha06 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
OnBackPressedDispatcherจะยกเลิกการเรียกกลับที่นำออกระหว่างท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้อย่างถูกต้องแล้ว (I3f90f)
การเปลี่ยนแปลง API
- เมื่อส่ง
SystemBarStyle.autoไปยังenableEdgeToEdgeAPI ตอนนี้คุณสามารถลบล้างพารามิเตอร์detectDarkModeLambda เพื่อระบุตรรกะที่กำหนดเองสำหรับการตรวจจับโหมดกลางคืนได้แล้ว (aosp/2546393, b/278263793)
เวอร์ชัน 1.8.0-alpha05
7 มิถุนายน 2023
androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05 และ androidx.activity:activity-ktx:1.8.0-alpha05 จะเปิดตัว เวอร์ชันนี้พัฒนาในสาขาภายใน
การเปลี่ยนแปลง API
- ตอนนี้ Activity มี
BackEventCompatคลาสที่ทำหน้าที่เป็นเวอร์ชันที่เข้ากันได้แบบย้อนหลังของBackEventซึ่งแยกออกจากคลาสBackEventของเฟรมเวิร์ก - การเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้อง: ตอนนี้เมธอด
handleOnBackStartedและhandleOnBackProgressedของOnBackPressedCallbackจะรับอินสแตนซ์androidx.activity.BackEventCompatแทนคลาสandroid.window.BackEventของเฟรมเวิร์ก นอกจากนี้ เรายังได้อัปเดต@VisibleForTestingAPI ที่เทียบเท่าในOnBackPressedDispatcherด้วย - ตอนนี้ตัวสร้างสำหรับ
OnBackPressedDispatcherจะใช้อินสแตนซ์Consumer<Boolean>ที่ไม่บังคับ ซึ่งช่วยให้เจ้าของ Dispatcher ได้รับการเรียกกลับเมื่อใดก็ตามที่จำนวนการเรียกกลับที่เปิดใช้เปลี่ยนจาก 0 เป็นค่าที่ไม่ใช่ 0 หรือในทางกลับกัน
การแก้ไขข้อบกพร่อง
- จากกิจกรรม
1.7.2: แก้ไขปัญหาReportDrawnขัดข้องเมื่อออกจากหน้าจอก่อนเรียกใช้report(Ic46f1, b/260506820)
เวอร์ชัน 1.8.0-alpha04
10 พฤษภาคม 2023
androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04 และ androidx.activity:activity-ktx:1.8.0-alpha04 จะเปิดตัว ซึ่งเผยแพร่จากสาขาภายใน
การแก้ไขข้อบกพร่อง
- จากกิจกรรม 1.7.1: -
ReportFullyDrawExecuterจะไม่รั่วไหลอีกต่อไปเมื่อใช้ComponentActivityกับActivityScenario(Id2ff2, b/277434271)
เวอร์ชัน 1.8.0-alpha03
12 เมษายน 2023
androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03 และ androidx.activity:activity-ktx:1.8.0-alpha03 จะเปิดตัว ซึ่งเผยแพร่จากสาขาภายใน
ฟีเจอร์ใหม่
- เพิ่ม
ComponentActivity.setUpEdgeToEdge()เพื่อให้ตั้งค่าจอแสดงผลแบบขอบจรดขอบได้อย่างง่ายดายในลักษณะที่เข้ากันได้แบบย้อนหลัง
การเปลี่ยนแปลง API
- ตอนนี้เราได้เลิกใช้งาน
ComponentActivity.onBackPressed()แล้วเพื่อหันไปใช้ API สำหรับการจัดการการย้อนกลับแทน ตอนนี้ นักพัฒนาแอปควรใช้OnBackPressedDispatcherแทนที่จะลบล้างเมธอดนี้ (Ibce2f, b/271596918) ComponentDialogและComponentActivityมี API สาธารณะinitViewTreeOwners()ที่ใช้ในการเริ่มต้นเจ้าของแผนผังมุมมองทั้งหมดก่อนที่จะตั้งค่ามุมมองเนื้อหา (Ibdce0, b/261314581)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ Fragment ทำให้ MenuHost ไม่ถูกต้องอย่างไม่ถูกต้องและทำให้เมนูอื่นๆ ในกิจกรรมมีลักษณะการทำงานที่ไม่คาดคิด (I9404e, b/244336571)
การเปลี่ยนแปลงอื่นๆ
- ตอนนี้
ActivityResultRegisterใช้ KotlinRandomแทน Java แล้ว (I4d98f, b/272096025)
เวอร์ชัน 1.8.0-alpha02
8 มีนาคม 2023
androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02 และ androidx.activity:activity-ktx:1.8.0-alpha02 จะเปิดตัว พัฒนาจากสาขาภายใน
การอัปเดตทรัพยากร Dependency
- จากกิจกรรม
1.7.0-rc01: ตอนนี้กิจกรรมจะขึ้นอยู่กับLifecycle 2.6.0
เวอร์ชัน 1.8.0-alpha01
8 กุมภาพันธ์ 2023
androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01 และ androidx.activity:activity-ktx:1.8.0-alpha01 จะเปิดตัว ซึ่งสร้างจากสาขาภายใน
ฟีเจอร์ใหม่
- ตอนนี้คลาส
OnBackPressedCallbackมีการเรียกกลับความคืบหน้าของการย้อนกลับที่คาดการณ์ได้ใหม่สำหรับการจัดการท่าทางสัมผัสการย้อนกลับที่เริ่มต้น ความคืบหน้าตลอดท่าทางสัมผัส และการยกเลิกท่าทางสัมผัสการย้อนกลับ นอกเหนือจากการเรียกกลับhandleOnBackPressed()ก่อนหน้าสำหรับเมื่อมีการยืนยันท่าทางสัมผัสการย้อนกลับ
เวอร์ชัน 1.7
เวอร์ชัน 1.7.2
24 พฤษภาคม 2023
androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2 และ androidx.activity:activity-ktx:1.7.2 จะเปิดตัว เวอร์ชัน 1.7.2 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหา
ReportDrawnขัดข้องเมื่อออกจากหน้าจอก่อนเรียกใช้report(Ic46f1, b/260506820)
เวอร์ชัน 1.7.1
19 เมษายน 2023
androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1 และ androidx.activity:activity-ktx:1.7.1 จะเปิดตัว เวอร์ชัน 1.7.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
ReportFullyDrawExecuterจะไม่รั่วไหลอีกต่อไปเมื่อใช้ComponentActivityกับActivityScenario(Id2ff2, b/277434271)
เวอร์ชัน 1.7.0
22 มีนาคม 2023
androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 และ androidx.activity:activity-ktx:1.7.0 จะเปิดตัว เวอร์ชัน 1.7.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.6.0
- สัญญาของกิจกรรมเครื่องมือเลือกรูปภาพใน
PickVisualMediaและPickMultipleVisualMediaได้รับการอัปเดตให้มีตัวเลือกสำรองเพิ่มเติมในกรณีที่MediaStore.ACTION_PICK_IMAGESไม่พร้อมใช้งาน ซึ่งจะช่วยให้ OEM และแอปของระบบ เช่น บริการ Google Play สามารถมอบประสบการณ์การใช้งานเครื่องมือเลือกรูปภาพที่สอดคล้องกันในอุปกรณ์ Android และระดับ API ที่หลากหลายยิ่งขึ้นได้โดยการใช้การดำเนินการสำรอง เครื่องมือเลือกรูปภาพจะใช้การสำรองนี้หากมีก่อนที่จะกลับไปใช้Intent.ACTION_OPEN_DOCUMENTซึ่งยังคงรองรับอุปกรณ์ทั้งหมดที่ใช้ API 19 ขึ้นไป - ตอนนี้
ComponentDialogใช้SavedStateRegistryOwnerและมีสิทธิ์เข้าถึงSavedStateRegistryของตนเอง รวมถึงตั้งค่าSavedStateRegistryOwnerสำหรับViewTreeตอนนี้คุณสามารถใช้ Jetpack Compose ภายในComponentDialogได้แล้ว เนื่องจากเป็นไปตามข้อกำหนดทั้งLifecycleOwnerและSavedStateRegistryOwnerที่แนบมากับหน้าต่างผ่านข้อกำหนดของViewTreeAPI IntentSenderRequest.Builder.setFlags()ตอนนี้ให้คุณตั้งค่าสถานะหลายรายการจากIntentได้แล้ว แทนที่จะตั้งค่าสถานะได้เพียงรายการเดียว
การแปลง Kotlin
มีการแปลงคลาส Activity จำนวนหนึ่งเป็น Kotlin คลาสที่แปลงแล้วทั้งหมดจะยังคงความเข้ากันได้แบบไบนารีกับเวอร์ชันก่อนหน้า คลาสต่อไปนี้มีการเปลี่ยนแปลงที่แหล่งที่มาใช้ร่วมกันไม่ได้สำหรับคลาสที่เขียนใน Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner
ตารางด้านล่างแสดง Conversion แหล่งที่มาสําหรับกิจกรรมเวอร์ชันใหม่
| กิจกรรม 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 APIs
ComponentActivity มีอินสแตนซ์ FullyDrawnReporter ที่ช่วยให้คอมโพเนนต์หลายรายการรายงานได้เมื่อพร้อมสำหรับการโต้ตอบ ComponentActivity จะรอให้คอมโพเนนต์ทั้งหมดเสร็จสมบูรณ์ก่อนที่จะเรียกใช้ reportFullyDrawn() ในนามของคุณ API เหล่านี้จะจัดการข้อกำหนดด้านเวลาให้คุณ และไม่จำเป็นต้องเรียกใช้เป็นส่วนหนึ่งของการเรียก onDraw
เราขอแนะนำให้เปิดใช้ API ต่อไปนี้
- ส่งสัญญาณไปยัง Android Runtime เมื่อการเริ่มต้นเสร็จสมบูรณ์ เพื่อให้มั่นใจว่าโค้ดทั้งหมดที่ทำงานระหว่างลำดับการเริ่มต้นแบบหลายเฟรมจะรวมอยู่ด้วยและได้รับการจัดลำดับความสำคัญสำหรับการคอมไพล์เบื้องหลัง
- การส่งสัญญาณ Macrobenchmark และ Play Vitals เมื่อควรพิจารณาว่าแอปพลิเคชันแสดงผลอย่างเต็มรูปแบบสำหรับเมตริกการเริ่มต้น เพื่อให้คุณติดตามประสิทธิภาพได้
เราได้เพิ่ม Activity Compose API 3 รายการเพื่อให้ใช้ FullyDrawnReporter จาก Composable แต่ละรายการได้สะดวกยิ่งขึ้น ดังนี้
ReportDrawnแสดงว่า Composable พร้อมสำหรับการโต้ตอบทันทีReportDrawnWhenรับค่าภาคแสดง (เช่นlist.count > 0) เพื่อระบุว่า Composable พร้อมสำหรับการโต้ตอบเมื่อใดReportDrawnAfterจะใช้วิธีการระงับซึ่งเมื่อเสร็จสมบูรณ์แล้วจะบ่งบอกว่าคุณพร้อมโต้ตอบ
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ วงจร
2.6.1(8fc31d) - ตอนนี้กิจกรรมจะขึ้นอยู่กับ ProfileInstaller
1.3.0(83d3b1)
เวอร์ชัน 1.7.0-rc01
8 มีนาคม 2023
androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01 และ androidx.activity:activity-ktx:1.7.0-rc01 จะเปิดตัว เวอร์ชัน 1.7.0-rc01 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมจะขึ้นอยู่กับ
Lifecycle 2.6.0
เวอร์ชัน 1.7.0-beta02
22 กุมภาพันธ์ 2023
androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02 และ androidx.activity:activity-ktx:1.7.0-beta02 จะเปิดตัว เวอร์ชัน 1.7.0-beta02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้การดำเนินการและข้อมูลพิเศษที่สัญญา
PickVisualMediaและPickMultipleVisualMediaใช้เป็นข้อมูลสำรองเมื่อMediaStore.ACTION_PICK_IMAGESไม่พร้อมใช้งานเป็นค่าคงที่สาธารณะที่ให้ความเสถียรของ API แก่ OEM และแอปของระบบที่ต้องการมอบประสบการณ์การใช้งานเครื่องมือเลือกรูปภาพที่สอดคล้องกัน การใช้งานการสำรองข้อมูลนี้ยังคงจำกัดไว้เฉพาะแอปของระบบเท่านั้น (Icd320)
เวอร์ชัน 1.7.0-beta01
8 กุมภาพันธ์ 2023
androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01 และ androidx.activity:activity-ktx:1.7.0-beta01 จะเปิดตัว เวอร์ชัน 1.7.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
IntentSenderRequest.Builder.setFlags()ตอนนี้อนุญาตให้คุณตั้งค่าหลายแฟล็กจากIntentได้แล้ว ไม่ใช่แค่แฟล็กเดียว (Iac04c)
การแก้ไขข้อบกพร่อง
- ตอนนี้การสำรองข้อมูลสำหรับ
PickVisualMediaเมื่อเครื่องมือเลือกรูปภาพของเฟรมเวิร์กไม่พร้อมใช้งานจะจำกัดการจัดการอย่างถูกต้องเฉพาะแอปที่ติดตั้งในอิมเมจระบบของอุปกรณ์ (If8ae6)
Conversion ของ 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
25 มกราคม 2023
androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04 และ androidx.activity:activity-ktx:1.7.0-alpha04 จะเปิดตัว เวอร์ชัน 1.7.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้สัญญาผลลัพธ์ของกิจกรรม
PickVisualMediaและPickMultipleVisualMediaจะใช้เครื่องมือเลือกรูปภาพที่ให้บริการโดยบริการ Google Play ในกรณีที่เครื่องมือเลือกรูปภาพที่ระบบ Android จัดหาให้ (เช่นMediaStore.ACTION_PICK_IMAGES) ไม่พร้อมใช้งานisPhotoPickerAvailable()API ที่ตรวจหาเฉพาะเครื่องมือเลือกรูปภาพที่ระบบ Android จัดให้ได้ถูกเลิกใช้งานแล้ว ขอแนะนำให้ใช้isPhotoPickerAvailable(Context)API ใหม่ ซึ่งจะแสดงผลหากมีเครื่องมือเลือกรูปภาพ (I55be6)
เวอร์ชัน 1.7.0-alpha03
11 มกราคม 2023
androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03 และ androidx.activity:activity-ktx:1.7.0-alpha03 จะเปิดตัว เวอร์ชัน 1.7.0-alpha03 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
ComponentDialogได้ใช้SavedStateRegistryOwnerและมีสิทธิ์เข้าถึงSavedStateRegistryของตัวเอง รวมถึงตั้งค่าSavedStateRegistryOwnerสำหรับ ViewTree ของตัวเองแล้ว ตอนนี้คุณใช้ Jetpack Compose ภายในComponentDialogได้แล้ว เนื่องจากเป็นไปตามข้อกำหนดของทั้งLifecycleOwnerและSavedStateRegistryOwnerที่แนบมากับหน้าต่างผ่านข้อกำหนดของ ViewTree API (Idca17, I73468 b/261162296)
การเปลี่ยนแปลง API
- เพิ่ม
ReportDrawnComposablereportFullyDrawnที่ทำเครื่องหมายกิจกรรมว่าพร้อมโทรทันที (Ic5b14, b/259687964)
Conversion ของ Kotlin
- เราได้แปลงคลาส
ActvitiyResultCallbackและOnBackPressedCallbackเป็น Kotlin แล้วในขณะที่ยังคงความเข้ากันได้ของแหล่งที่มาและไบนารี (Ifc5e5, Ide1b0, b/257291701)
เวอร์ชัน 1.7.0-alpha02
24 ตุลาคม 2022
androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02 และ androidx.activity:activity-ktx:1.7.0-alpha02 จะเปิดตัว เวอร์ชัน 1.7.0-alpha02 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- จากกิจกรรม
1.6.1: แก้ไขปัญหาเกี่ยวกับสัญญาผลลัพธ์ของกิจกรรมPickMultipleVisualMediaที่ไม่เปิดตัวในอุปกรณ์ Android R เมื่อใช้ค่าเริ่มต้นสำหรับmaxItems(Ie2776, b/249182130)
เวอร์ชัน 1.7.0-alpha01
5 ตุลาคม 2022
androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01 และ androidx.activity:activity-ktx:1.7.0-alpha01 จะเปิดตัว เวอร์ชัน 1.7.0-alpha01 มีคอมมิตต่อไปนี้
FullyDrawnReporter APIs
ComponentActivity มีอินสแตนซ์ FullyDrawnReporter ที่ช่วยให้คอมโพเนนต์หลายรายการรายงานได้เมื่อพร้อมสำหรับการโต้ตอบ ComponentActivity จะรอให้คอมโพเนนต์ทั้งหมดเสร็จสมบูรณ์ก่อนที่จะเรียกใช้ reportFullyDrawn() ในนามของคุณ API เหล่านี้จะจัดการข้อกำหนดด้านเวลาให้คุณ และไม่จำเป็นต้องเรียกใช้เป็นส่วนหนึ่งของการเรียก onDraw
เราขอแนะนำให้เปิดใช้ API ต่อไปนี้
- ส่งสัญญาณไปยัง Android Runtime เมื่อการเริ่มต้นเสร็จสมบูรณ์ เพื่อให้มั่นใจว่าโค้ดทั้งหมดที่ทำงานระหว่างลำดับการเริ่มต้นแบบหลายเฟรมจะรวมอยู่ด้วยและได้รับการจัดลำดับความสำคัญสำหรับการคอมไพล์เบื้องหลัง
- การส่งสัญญาณ Macrobenchmark และ Play Vitals เมื่อควรพิจารณาว่าแอปพลิเคชันแสดงผลอย่างเต็มรูปแบบสำหรับเมตริกการเริ่มต้น เพื่อให้คุณติดตามประสิทธิภาพได้
เราได้เพิ่ม Activity Compose API 2 รายการเพื่อให้ใช้ FullyDrawnReporter จาก Composable แต่ละรายการได้สะดวกยิ่งขึ้น ดังนี้
ReportDrawnWhenต้องมีภาคแสดง (กล่าวคือlist.count > 0) เพื่อระบุว่า Composable พร้อมสำหรับการโต้ตอบเมื่อใดReportDrawnAfterจะใช้วิธีการระงับซึ่งเมื่อเสร็จสมบูรณ์แล้วจะบ่งบอกว่าคุณพร้อมโต้ตอบ
เวอร์ชัน 1.6.1
เวอร์ชัน 1.6.1
24 ตุลาคม 2022
androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 และ androidx.activity:activity-ktx:1.6.1 จะเปิดตัว เวอร์ชัน 1.6.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับสัญญาผลลัพธ์ของกิจกรรม
PickMultipleVisualMediaที่ไม่เปิดตัวในอุปกรณ์ Android R เมื่อใช้ค่าเริ่มต้นสำหรับmaxItems(Ie2776, b/249182130)
เวอร์ชัน 1.6.0
เวอร์ชัน 1.6.0
21 กันยายน 2022
androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0 และ androidx.activity:activity-ktx:1.6.0 จะเปิดตัว เวอร์ชัน 1.6.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.5.0
- เพิ่ม
ActivityResultContracts.PickVisualMediaและActivityResultContracts.PickMultipleVisualMediaสำหรับการจัดทำสัญญาที่เข้ากันได้แบบย้อนหลังซึ่งใช้MediaStore.ACTION_PICK_IMAGESเมื่อมีเครื่องมือเลือกรูปภาพ และIntent.ACTION_OPEN_DOCUMENTเมื่อไม่มี - ผสานรวม
OnBackInvokedCallbackใน Android 13 เข้ากับOnBackPressedDispatchersที่ComponentActivityและComponentDialogจัดหาให้ ซึ่งจะช่วยให้มั่นใจได้ว่า API ทั้งหมดที่สร้างขึ้นบนOnBackPressedDispatcherจะทำงานได้เมื่อเปิดใช้ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้
เวอร์ชัน 1.6.0-rc02
7 กันยายน 2022
androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02 และ androidx.activity:activity-ktx:1.6.0-rc02 จะเปิดตัว เวอร์ชัน 1.6.0-rc02 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
OnBackPressedDispatcherจะลงทะเบียนOnBackInvokedCallbackกับPRIORITY_DEFAULTแทนPRIORITY_OVERLAY(I3901f) - ตอนนี้คลาสที่ขยาย
ComponentActivityจะมีทั้งการเรียกกลับonMultiWindowModeChanged()เสมอ (Ic4d85) ActivityResultRegistryจะไม่แสดงผลลัพธ์ต่อActivityResultCallbackอีกต่อไปเมื่อการเรียกใช้launchทำให้เกิดExceptionและมีการลงทะเบียน Callback โดยไม่มีLifecycleOwner(Ia7ff7, b/238350794)ComponentActivityจะส่งการเรียกเมนูอย่างถูกต้องโดยไม่ต้องเรียกใช้ฟังก์ชันหลักในกิจกรรม (Ie33c5, b/238057118)
การอัปเดตทรัพยากร Dependency
- ตอนนี้ไลบรารี
Activityขึ้นอยู่กับ Lifecycle2.5.1แล้ว (If6697)
เวอร์ชัน 1.6.0-rc01
24 สิงหาคม 2022
androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01 และ androidx.activity:activity-ktx:1.6.0-rc01 จะเปิดตัว เวอร์ชัน 1.6.0-rc01 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- การเริ่มต้น
OnBackPressedDispatcherจะไม่ทำให้เกิดClassVerificationErrorอีกต่อไปเมื่อใช้ SDK เวอร์ชันก่อน 33 (Ic32e1) - ตอนนี้คลาสที่ลบล้างการเรียกกลับ
ComponentActivityของonPictureInPictureModeChanged()จะมีการเรียกกลับที่ส่งเสมอ (Ib7fdb)
เวอร์ชัน 1.6.0-beta01
10 สิงหาคม 2022
androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01 และ androidx.activity:activity-ktx:1.6.0-beta01 จะเปิดตัว เวอร์ชัน 1.6.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ทำเครื่องหมายเมธอด
startActivityForResultและstartIntentSenderForResultที่เลิกใช้งานแล้วในComponentActivityด้วย@NonNullเนื่องจากส่งnullแล้วทำให้เกิดข้อขัดข้องเสมอ (Id2a25, b/231476082)
การแก้ไขข้อบกพร่อง
- จากกิจกรรม
1.5.1:ActivityResultRegistryจะไม่แสดงผลลัพธ์ต่อActivityResultCallbackอีกต่อไปเมื่อการเรียกใช้launchทำให้เกิดExceptionและมีการลงทะเบียน Callback โดยไม่มีLifecycleOwner(Ia7ff7, b/238350794) - จาก Activity
1.5.1:ComponentActivityจะส่งการเรียกเมนูไปยังการลบล้างonPrepareOptionMenu(),onCreateOptionsMenu()และonOptionsItemSelected()อย่างถูกต้องโดยไม่ต้องเรียกใช้ฟังก์ชันหลัก (Ie33c5, b/238057118)
การอัปเดตทรัพยากร Dependency
- จากกิจกรรม
1.5.1: ตอนนี้ไลบรารีActivityขึ้นอยู่กับเวอร์ชันLifecycle2.5.1แล้ว (If6697)
เวอร์ชัน 1.6.0-alpha05
15 มิถุนายน 2022
androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05 และ androidx.activity:activity-ktx:1.6.0-alpha05 จะเปิดตัว เวอร์ชัน 1.6.0-alpha05 ได้รับการพัฒนาใน Branch รุ่นทดลองใช้ก่อนเปิดตัวแบบส่วนตัวและไม่มีคอมมิตแบบสาธารณะ
การเปลี่ยนแปลง API
minCompileSdkตอนนี้เป็น 33 เพื่อให้สอดคล้องกับ Tiramisu Beta 3 SDK
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องในอุปกรณ์รุ่นเก่าเมื่อตรวจสอบส่วนขยาย SDK สำหรับ
PickVisualMediaActivityResultContractเพื่อให้ตอนนี้ควรใช้งานได้กับACTION_OPEN_DOCUMENTในอุปกรณ์ที่ใช้ Android 10 และต่ำกว่า
เวอร์ชัน 1.6.0-alpha04
18 พฤษภาคม 2022
androidx.activity:activity:1.6.0-alpha04 และ androidx.activity:activity-ktx:1.6.0-alpha04 เปิดตัวแล้ว
การแก้ไขข้อบกพร่อง
- แก้ไขข้อผิดพลาดใน
PickVisualMediaRequestซึ่งการพยายามสร้างคำขอผ่านเครื่องมือสร้างหรือฟังก์ชัน Kotlin ระดับบนสุดจะทำให้เกิด Stack Overflow - ผสานรวม
OnBackInvokedCallbackใน Android 13 Dev Beta 2 เข้ากับOnBackPressedDispatcherที่ComponentDialogจัดหาให้ วิธีนี้ช่วยให้มั่นใจได้ว่า API ทั้งหมดที่สร้างขึ้นบนOnBackPressedDispatcherจะทำงานได้เมื่อเปิดใช้ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้
เวอร์ชัน 1.6.0-alpha03
27 เมษายน 2022
androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 และ androidx.activity:activity-ktx:1.6.0-alpha03 จะเปิดตัว
- หมายเหตุ: เวอร์ชันนี้จะคอมไพล์กับ Android 13 Developer Beta 1 SDK เท่านั้น
ฟีเจอร์ใหม่
- เพิ่ม
ActivityResultContracts.PickVisualMediaและActivityResultContracts.PickMultipleVisualMediaสำหรับการจัดทำสัญญาที่เข้ากันได้แบบย้อนหลังซึ่งใช้MediaStore.ACTION_PICK_IMAGESเมื่อมีเครื่องมือเลือกรูปภาพ และIntent.ACTION_OPEN_DOCUMENTเมื่อไม่มี - ผสานรวม
OnBackInvokedCallbackใน Android 13 Dev Beta 1 เข้ากับOnBackPressedDispatcherที่ComponentActivityจัดหาให้ วิธีนี้ช่วยให้มั่นใจได้ว่า API ทั้งหมดที่สร้างขึ้นบนOnBackPressedDispatcherจะทำงานได้เมื่อเปิดใช้ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้
เวอร์ชัน 1.6.0-alpha01
23 มีนาคม 2022
androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01 และ androidx.activity:activity-ktx:1.6.0-alpha01 จะเปิดตัว
- หมายเหตุ: เวอร์ชันนี้จะคอมไพล์กับ SDK ของ Android 13 เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ 2 เท่านั้น
ฟีเจอร์ใหม่
- รวมการเปลี่ยนแปลงใน Android 13 Dev Preview 2 เข้ากับ
ComponentActivity
รุ่น 1.5.1
รุ่น 1.5.1
27 กรกฎาคม 2022
androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1 และ androidx.activity:activity-ktx:1.5.1 จะเปิดตัว เวอร์ชัน 1.5.1 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
ActivityResultRegistryจะไม่แสดงผลลัพธ์ให้กับActivityResultCallbackอีกต่อไปเมื่อการเรียกใช้launch()ทำให้เกิดExceptionและมีการลงทะเบียน Callback โดยไม่มีLifecycleOwner(Ia7ff7, b/238350794)ตอนนี้
ComponentActivityจะส่งการเรียกเมนูไปยังการลบล้างonPrepareOptionMenu(),onCreateOptionsMenu()และonOptionsItemSelected()อย่างถูกต้อง โดยไม่ต้องเรียกฟังก์ชันหลัก (Ie33c5, b/238057118)
การอัปเดตทรัพยากร Dependency
- ตอนนี้ไลบรารี
Activityขึ้นอยู่กับ Lifecycle2.5.1แล้ว (If6697)
เวอร์ชัน 1.5.0
เวอร์ชัน 1.5.0
29 มิถุนายน 2022
androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 และ androidx.activity:activity-ktx:1.5.0 จะเปิดตัว เวอร์ชัน 1.5.0 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0
- ComponentDialog -
ComponentDialogเป็นคลาสย่อยของDialogซึ่งมีOnBackPressedDispatcherที่จะเรียกใช้เมื่อกดปุ่มย้อนกลับของระบบและกล่องโต้ตอบแสดงอยู่ ที่สำคัญ คลาสย่อยนี้ยังตั้งค่าViewTreeOnBackPressedDispatcherOwnerด้วย ซึ่งช่วยให้มุมมองมีวิธีทั่วไปในการเรียกข้อมูล Dispatcher ที่ถูกต้อง ไม่ว่าจะอยู่ในComponentActivityหรือComponentDialog - อินเทอร์เฟซ Callback -
ComponentActivityตอนนี้ใช้ชุดอินเทอร์เฟซ Callback แบบโมดูลาร์ที่ใช้แทน Callback ของActivityได้แล้ว อินเทอร์เฟซเหล่านี้ประกอบด้วยOnNewIntentProvider,OnConfigurationChangedProvider,OnTrimMemoryProvider,OnPictureInPictureModeChangedProvider,OnMultiWindowModeChangedProvider - การผสานรวม CreationExtras -
ComponentActivityตอนนี้สามารถระบุViewModelProvider.Factoryแบบไม่เก็บสถานะผ่าน วงจร2.5.0ของCreationExtrasได้แล้ว
การเปลี่ยนแปลงอื่นๆ
- เราเลิกใช้งานเครื่องมือสร้างที่ไม่มีพารามิเตอร์สำหรับ
ActivityResultContracts.CreateDocumentแล้ว และแทนที่ด้วยเครื่องมือสร้างใหม่ที่ใช้ประเภท MIME ที่เฉพาะเจาะจง (เช่น "image/png") ตามที่Intent.ACTION_CREATE_DOCUMENTกำหนด
เวอร์ชัน 1.5.0-rc01
11 พฤษภาคม 2022
androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 และ androidx.activity:activity-ktx:1.5.0-rc01 จะได้รับการเผยแพร่โดยไม่มีการเปลี่ยนแปลงจาก 1.5.0-beta01 เวอร์ชัน 1.5.0-rc01 มีคอมมิตเหล่านี้
เวอร์ชัน 1.5.0-beta01
20 เมษายน 2022
androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01 และ androidx.activity:activity-ktx:1.5.0-beta01 จะเปิดตัว เวอร์ชัน 1.5.0-beta01 มีคอมมิตต่อไปนี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ วงจร
2.4.0-beta01
เวอร์ชัน 1.5.0-alpha05
6 เมษายน 2022
androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05 และ androidx.activity:activity-ktx:1.5.0-alpha05 จะเปิดตัว เวอร์ชัน 1.5.0-alpha05 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
ComponentActivityของonPanelClosed()จะเรียกใช้onPanelClosed()ระดับบนสุดด้วย ซึ่งจะแก้ไขปัญหาที่ไม่ได้เรียกใช้เมธอดonContextMenuClosed(Ib6f77)
เวอร์ชัน 1.5.0-alpha04
23 มีนาคม 2022
androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04 และ androidx.activity:activity-ktx:1.5.0-alpha04 จะเปิดตัว เวอร์ชัน 1.5.0-alpha04 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
SavedStateViewFactoryรองรับการใช้CreationExtrasแม้ว่าจะเริ่มต้นด้วยSavedStateRegistryOwnerก็ตาม หากมีการระบุอาร์กิวเมนต์เพิ่มเติม ระบบจะไม่สนใจอาร์กิวเมนต์ที่เริ่มต้น (I6c43b, b/224844583)
เวอร์ชัน 1.5.0-alpha03
23 กุมภาพันธ์ 2022
androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03 และ androidx.activity:activity-ktx:1.5.0-alpha03 จะเปิดตัว เวอร์ชัน 1.5.0-alpha03 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- ตอนนี้คุณส่ง
CreationExtrasไปยังฟังก์ชันกิจกรรมby viewModels()ได้แล้ว (I6a3e6, b/217600303)
เวอร์ชัน 1.5.0-alpha02
9 กุมภาพันธ์ 2022
androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02 และ androidx.activity:activity-ktx:1.5.0-alpha02 จะเปิดตัว เวอร์ชัน 1.5.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
ComponentActivityได้ติดตั้งใช้งานอินเทอร์เฟซOnPictureInPictureModeChangedProviderเพื่ออนุญาตให้คอมโพเนนต์ใดก็ตามรับเหตุการณ์การเปลี่ยนแปลงโหมดการแสดงภาพซ้อนภาพ (I9f567) ComponentActivityตอนนี้ใช้OnMultiWindowModeChangedProviderอินเทอร์เฟซเพื่อให้คอมโพเนนต์ใดก็ตามรับเหตุการณ์การเปลี่ยนแปลงโหมดหลายหน้าต่างได้ (I62d91)
เวอร์ชัน 1.5.0-alpha01
26 มกราคม 2022
androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01 และ androidx.activity:activity-ktx:1.5.0-alpha01 จะเปิดตัว เวอร์ชัน 1.5.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
ComponentActivityผสานรวมกับ ViewModel CreationExtras ซึ่งเปิดตัวเป็นส่วนหนึ่งของ Lifecycle2.5.0-alpha01แล้ว (Ie7e00, b/207012584)- เพิ่ม
ComponentDialogซึ่งเป็นคลาสย่อยของDialogที่มีOnBackPressedDispatcherซึ่งจะเรียกใช้เมื่อกดปุ่มย้อนกลับของระบบ ขณะที่กล่องโต้ตอบปรากฏอยู่ ที่สำคัญ คลาสย่อยนี้ยังตั้งค่าViewTreeOnBackPressedDispatcherOwnerด้วย ซึ่งช่วยให้มุมมอง มีวิธีทั่วไปในการเรียกข้อมูล Dispatcher ที่ถูกต้อง ไม่ว่าจะอยู่ในComponentActivityหรือComponentDialog(I8a1bc) - ตอนนี้
ComponentActivityใช้OnNewIntentProviderอินเทอร์เฟซใหม่เพื่อให้ คอมโพเนนต์ใดก็ตามรับเหตุการณ์เหล่านี้ได้ (If1f8b) - ตอนนี้
ComponentActivityใช้OnConfigurationChangedProviderอินเทอร์เฟซใหม่เพื่อให้ คอมโพเนนต์ใดก็ตามรับเหตุการณ์เหล่านี้ได้ (If623b) - ตอนนี้
ComponentActivityได้ใช้OnTrimMemoryProviderอินเทอร์เฟซใหม่เพื่อให้คอมโพเนนต์ใดก็ตาม รับเหตุการณ์เหล่านี้ได้ (Ia9295)
การเปลี่ยนแปลง API
- เครื่องมือสร้างที่ไม่มีพารามิเตอร์สำหรับ
ActivityResultContracts.CreateDocumentถูก เลิกใช้งานแล้วและแทนที่ด้วยเครื่องมือสร้างใหม่ ที่ใช้ MIME ประเภทที่เฉพาะเจาะจง (เช่น"image/png") ตามที่กำหนดโดยIntent.ACTION_CREATE_DOCUMENT(I2bec6) - ตอนนี้คุณสามารถดึงข้อมูล
OnBackPressedDispatcherOwnerที่เชื่อมโยงกับมุมมองผ่านViewTreeOnBackPressedDispatcherOwnerได้แล้ว แทนที่จะต้องอาศัยการแคสต์Context(I74685)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเข้าถึง
ViewModelเป็นครั้งแรกจากregisterForActivityResult()Callback หรือ Callback ไปยังLifecycleObserverที่เพิ่มเป็นส่วนหนึ่งของinitของComponentActivity(Ife83f)
เวอร์ชัน 1.4.0
เวอร์ชัน 1.4.0
27 ตุลาคม 2021
androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0 และ androidx.activity:activity-ktx:1.4.0 จะเปิดตัว เวอร์ชัน 1.4.0 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.3.0
- ตอนนี้ AndroidX
ComponentActivityได้ติดตั้งใช้งานอินเทอร์เฟซMenuHostแล้ว ซึ่งจะช่วยให้คอมโพเนนต์ใดก็ตามเพิ่มรายการเมนูไปยังActionBarได้โดยการเพิ่มอินสแตนซ์MenuProviderลงในกิจกรรม คุณเลือกเพิ่มMenuProviderแต่ละรายการพร้อมLifecycleที่จะควบคุมระดับการมองเห็นของรายการเมนูเหล่านั้นโดยอัตโนมัติตามสถานะLifecycleและจัดการการนำMenuProviderออกเมื่อLifecycleถูกทำลายได้ - เราได้เขียนคลาส
ActivityResultContractใหม่ใน Kotlin เพื่อให้นักพัฒนาซอฟต์แวร์ที่เขียนสัญญาที่กำหนดเองใน Kotlin สามารถกำหนดค่า Nullability ที่ถูกต้องสำหรับคลาสอินพุตและเอาต์พุตของตนได้ - เราได้เขียนคลาส
ActivityResultContractsและสัญญาของคลาสนี้ใหม่ใน Kotlin เพื่อให้มั่นใจว่าค่า Null จะถูกต้อง
เวอร์ชัน 1.4.0-rc01
13 ตุลาคม 2021
androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01 และ androidx.activity:activity-ktx:1.4.0-rc01 จะเปิดตัว เวอร์ชัน 1.4.0-rc01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
ActivityResultRegistryจะไม่แสดงผลลัพธ์ ต่อActivityResultCallbackอีกต่อไปเมื่อการเรียกใช้launchแสดงException(If4f91, b/200845664)
เวอร์ชัน 1.4.0-beta01
29 กันยายน 2021
androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01 และ androidx.activity:activity-ktx:1.4.0-beta01 จะเปิดตัว เวอร์ชัน 1.4.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แก้ไขประเภทสำหรับ
ActivityResultContracts.OpenMultipleDocumentsและActivityResultContracts.GetMultipleContentsที่ ทำให้ต้องใช้ประเภทเอาต์พุตเป็นList<? extends Uri>เมื่อใช้โค้ดจาก ภาษาการเขียนโปรแกรม Java (If71de) - ตอนนี้คุณเข้าถึงค่าคงที่สาธารณะภายในคลาส
ActivityResultContracts.StartActivityForResult,ActivityResultContracts.StartIntentSenderForResultและActivityResultContracts.RequestMultiplePermissionsได้แล้วเมื่อใช้ Kotlin ผ่านออบเจ็กต์Companionที่ตอนนี้เป็นแบบสาธารณะ (aosp/1832555)
การอัปเดตเอกสารประกอบ
- ข้อความการเลิกใช้งานสำหรับ API ที่ตอนนี้Activity Result API จัดการอยู่ ซึ่งได้แก่
startActivityForResult,startIntentSenderForResult,onActivityResult,requestPermissionsและonRequestPermissionsResultได้รับการขยายรายละเอียดเพิ่มเติมแล้ว (cce80f)
เวอร์ชัน 1.4.0-alpha02
15 กันยายน 2021
androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02 และ androidx.activity:activity-ktx:1.4.0-alpha02 จะเปิดตัว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้อาร์ติแฟกต์
activity-composeมีข้อผิดพลาด LintLaunchDuringCompositionที่ทำให้คุณเรียกเมธอดlaunchของActivityResultLauncherเป็นส่วนหนึ่งของการคอมโพสไม่ได้ เนื่องจากคอมโพสไม่ควรมีผลข้างเคียง ใช้ API สำหรับจัดการผลข้างเคียง (7c2bbe, b/191347220)
การเปลี่ยนแปลง API
- เราได้เขียนคลาส
ActivityResultContractใหม่ใน Kotlin เพื่อให้มั่นใจว่านักพัฒนาแอปที่เขียนสัญญาที่กำหนดเองใน Kotlin จะกำหนดค่า Nullability ที่ถูกต้องสำหรับคลาสอินพุตและเอาต์พุตได้ (I8a8f5) - เราได้เขียนคลาส
ActivityResultContractsและ สัญญาใหม่ใน Kotlin เพื่อให้มั่นใจว่า ความสามารถในการเว้นว่างถูกต้อง (I69802)
เวอร์ชัน 1.4.0-alpha01
1 กันยายน 2021
androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 และ androidx.activity:activity-ktx:1.4.0-alpha01 จะเปิดตัว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้ AndroidX
ComponentActivityได้ติดตั้งใช้งานอินเทอร์เฟซMenuHostแล้ว ซึ่งจะช่วยให้คอมโพเนนต์ใดก็ตามเพิ่มรายการเมนูลงในActionBarได้โดยการเพิ่มอินสแตนซ์MenuProviderลงในกิจกรรม คุณอาจเพิ่มMenuProviderแต่ละรายการพร้อมกับLifecycleที่จะควบคุมระดับการมองเห็นของรายการเมนูเหล่านั้นโดยอัตโนมัติตามสถานะLifecycleและจัดการการนำMenuProviderออกเมื่อมีการทำลายLifecycle(I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
การเปลี่ยนแปลงพฤติกรรม
- ตอนนี้
ActivityResultRegistryจะแสดงIllegalStateExceptionเมื่อพยายามเรียกใช้launch()ในActivityResultLauncherที่ยังไม่ได้ลงทะเบียนหรือที่ถูกยกเลิกการลงทะเบียนแล้ว (Ida75d, b/192567522)
การมีส่วนร่วมภายนอก
เวอร์ชัน 1.3.1
เวอร์ชัน 1.3.1
4 สิงหาคม 2021
androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1 และ androidx.activity:activity-ktx:1.3.1 จะเปิดตัว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ Kotlin
1.5.21 - ตอนนี้ Activity Compose ขึ้นอยู่กับ Compose
1.0.1แล้ว
เวอร์ชัน 1.3.0
เวอร์ชัน 1.3.0
28 กรกฎาคม 2021
androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0 และ androidx.activity:activity-ktx:1.3.0 จะเปิดตัว เวอร์ชัน 1.3.0 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลงสำคัญตั้งแต่เวอร์ชัน 1.2.0
- ชิ้นงาน Activity Compose - ชิ้นงาน
activity-composeมีเมธอดส่วนขยายsetContentสำหรับโฮสต์ UI ของ Jetpack Compose ในกิจกรรม และมี Wrapper เฉพาะของ Compose สำหรับโต้ตอบกับ API ของComponentActivityเพื่อจัดการปุ่มย้อนกลับของระบบและ Activity Result API ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบ - สัญญา CaptureVideo -
CaptureVideoActivityResultContractจะแทนที่สัญญาTakeVideoที่เลิกใช้งานแล้ว และจะแสดงผลบูลีนที่ระบุความสำเร็จซึ่งใช้ได้กับแอปกล้องหลายแอป - การติดตามการดูคำแนะนำการแสดงภาพซ้อนภาพ - ตอนนี้ผู้ใช้
activity-ktxสามารถใช้วิธีการขยายtrackPipAnimationHintViewในActivityเพื่อสร้างPictureInPictureParamsใหม่โดยอัตโนมัติพร้อมตำแหน่งใหม่ของมุมมองเมื่อมีการเปลี่ยนตำแหน่งเทียบกับหน้าต่าง
เวอร์ชัน 1.3.0-rc02
14 กรกฎาคม 2021
androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02 และ androidx.activity:activity-ktx:1.3.0-rc02 จะเปิดตัว เวอร์ชัน 1.3.0-rc02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้ระบบจะบันทึก
ActivityResultRegistryการเรียกกลับอย่างถูกต้อง และกู้คืนเพื่อให้การเรียกกลับไม่ซ้ำกันใน savedState (I97816, b/191893160)
เวอร์ชัน 1.3.0-rc01
1 กรกฎาคม 2021
androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01 และ androidx.activity:activity-ktx:1.3.0-rc01 จะเปิดตัวโดยไม่มีการเปลี่ยนแปลงตั้งแต่วันที่ 1.3.0-beta02 เวอร์ชัน 1.3.0-rc01 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.3.0-beta02
16 มิถุนายน 2021
androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02 และ androidx.activity:activity-ktx:1.3.0-beta02 จะเปิดตัว เวอร์ชัน 1.3.0-beta02 มีคอมมิตเหล่านี้
อัปเดต activity-compose ให้ขึ้นอยู่กับ Compose 1.0.0-beta09 ตอนนี้ androidx.compose.ui:ui-test-junit4 มีการขึ้นต่อกันในเวลาคอมไพล์กับ activity-compose แล้ว
เวอร์ชัน 1.3.0-beta01
2 มิถุนายน 2021
androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 และ androidx.activity:activity-ktx:1.3.0-beta01 จะเปิดตัว เวอร์ชัน 1.3.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ระบบได้นำเมธอด
@Composable registerForActivityResult()ที่เลิกใช้งานไปก่อนหน้านี้ออกแล้ว โปรดใช้rememberLauncherForActivityResult()(Ic39d3)
เวอร์ชัน 1.3.0-alpha08
18 พฤษภาคม 2021
androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08 และ androidx.activity:activity-ktx:1.3.0-alpha08 จะเปิดตัว เวอร์ชัน 1.3.0-alpha08 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
CaptureVideoActivityResultContractใหม่จะแสดงผลบูลีนไปยังActivityResultCallbackเพื่อระบุว่าระบบบันทึกวิดีโอไปยัง URI ที่ระบุสำเร็จหรือไม่ ซึ่งจะแทนที่สัญญาTakeVideoที่เลิกใช้งานแล้วในตอนนี้ เนื่องจากแอปกล้องแทบไม่รองรับการแสดงผลบิตแมปภาพขนาดย่อ ทำให้ผลลัพธ์ไม่เป็นประโยชน์ (Ie21f2, b/185938070)- เพิ่ม API ใหม่
Activity#setPipAnimationHintViewเพื่ออัปเดต คำแนะนำเกี่ยวกับสี่เหลี่ยมผืนผ้าต้นทางของ PipParams ทุกครั้งที่มุมมองเคลื่อนที่ (I9063d)
การเปลี่ยนแปลง API
- ตอนนี้ฟังก์ชัน
rememberLauncherForActivityResultจะแสดงผลตัวเรียกใช้ที่เลิกใช้งานฟังก์ชันunregister()แล้ว โดยrememberLauncherForActivityResultจะจัดการการลงทะเบียนและการยกเลิกการลงทะเบียนตัวเรียกใช้โดยอัตโนมัติ (I2443e)
ความเข้ากันได้ของ Compose
androidx.activity:activity-compose:1.3.0-alpha08ใช้ได้กับ Compose เวอร์ชัน1.0.0-beta07ขึ้นไปเท่านั้น
เวอร์ชัน 1.3.0-alpha07
21 เมษายน 2021
androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07 และ androidx.activity:activity-ktx:1.3.0-alpha07 จะเปิดตัว เวอร์ชัน 1.3.0-alpha07 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
rememberLauncherForActivityResultตอนนี้ จะแสดงการอ้างอิงที่เสถียรไปยังอินสแตนซ์ActivityResultLauncherเดียวกัน แม้ว่าสัญญาจะเปลี่ยนแปลงเนื่องจากการจัดองค์ประกอบใหม่ก็ตาม (Id2d6d)- การใช้ Fragment เวอร์ชันที่ไม่เสถียรที่สูงกว่า
1.3.0จะไม่ ทำให้เกิดข้อผิดพลาด Lint ที่ระบุว่าไม่ถูกต้องซึ่งบอกให้คุณใช้1.3.0อีกต่อไป (aosp/1670206, b/184847092)
เวอร์ชัน 1.3.0-alpha06
7 เมษายน 2021
androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 และ androidx.activity:activity-ktx:1.3.0-alpha06 จะเปิดตัว เวอร์ชัน 1.3.0-alpha06 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เราได้เปลี่ยนชื่อ
registerForActivityResult()API เป็นrememberLauncherForActivityResult()เพื่อให้ระบุได้ดียิ่งขึ้นว่าActivityResultLauncherที่ส่งคืนเป็นออบเจ็กต์ที่มีการจัดการซึ่งระบบจะจดจำในนามของคุณ ตอนนี้การพยายามเรียกใช้unregisterActivityResultLauncherที่ส่งคืนจะทำให้เกิดข้อผิดพลาด (I2bb6d) LocalOnBackPressedDispatcherOwner.currentและLocalActivityResultRegistryOwner.currentจะแสดงผลค่าที่ เป็น Null ได้ เพื่อให้ระบุได้ดียิ่งขึ้นว่าค่าดังกล่าวพร้อมใช้งาน ในการจัดองค์ประกอบปัจจุบันหรือไม่ API ที่ต้องใช้ API เหล่านั้น เช่นBackHandlerและrememberLauncherForActivityResult()ตามลำดับ จะแสดงข้อผิดพลาดที่อธิบายได้มากขึ้นหาก ไม่พบเจ้าของที่เกี่ยวข้องNavHostใช้งานได้แล้ว แม้ว่าจะไม่พบOnBackPressedDispatcherOwnerเช่น กรณีที่ดูตัวอย่างNavHost(I7d8b4)
การแก้ไขข้อบกพร่อง
- ตอนนี้
BackHandlerจะสกัดกั้นการกดกลับอย่างถูกต้องในกรณีที่ Activity เป็นSTOPPEDจากนั้นเป็นSTARTEDอีกครั้ง และมีการเพิ่ม Callback อื่นๆ ด้วย LifecycleOwner (I71de6, b/182284739) - การใช้ส่วนขยายเมธอด
launch()กับActivityResultContractแบบกำหนดเองที่มีอินพุตUnitจะไม่ทำให้เกิดNullPointerExceptionอีกต่อไป (I76282, b/183837954)
เวอร์ชัน 1.3.0-alpha05
24 มีนาคม 2021
androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 และ androidx.activity:activity-ktx:1.3.0-alpha05 จะเปิดตัว เวอร์ชัน 1.3.0-alpha05 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- จาก Activity 1.2.2: แก้ไขปัญหาในการตรวจสอบ Lint ของ
InvalidFragmentVersionForActivityResultที่ทำให้เกิดผลบวกที่ไม่ถูกต้องเมื่อใช้ Fragment 1.3.1 ขึ้นไป (I54da1, b/182388985) - จาก Activity 1.2.2:
ComponentActivityจะหลีกเลี่ยงClassNotFoundExceptionเมื่อเปิดIntentจากActivityResultContractที่เคยเก็บไว้เป็นส่วนเสริมในIntentอื่น (Ieff05, b/182906230)
การอัปเดตทรัพยากร Dependency
- จาก Activity 1.2.2: ตอนนี้ Activity ขึ้นอยู่กับ Lifecycle
2.3.1แล้ว
เวอร์ชัน 1.3.0-alpha04
10 มีนาคม 2021
androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 และ androidx.activity:activity-ktx:1.3.0-alpha04 จะเปิดตัว เวอร์ชัน 1.3.0-alpha04 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- จากกิจกรรม
1.2.1:RequestMultiplePermissionsตอนนี้จะแสดงผลลัพธ์สำหรับสิทธิ์ที่ขอทั้งหมดเสมอ แทนที่จะแสดงเฉพาะสิทธิ์ที่ไม่ได้ให้ไว้ก่อนหน้านี้ (I50bc3, b/180884668) - จากกิจกรรม
1.2.1:ActivityResultRegistryตอนนี้จะช่วยให้มั่นใจได้ว่าคำขอที่launch()ดำเนินการอยู่จะแสดงผลลัพธ์แม้ว่าคุณจะunregister()แล้วregister()อีกครั้งด้วยคีย์เดียวกัน (I9ef34, b/181267562) - Activity Compose จะไม่เพิ่มการทดสอบ dependencies ลงใน classpath ของรันไทม์อีกต่อไป (Ifd8b3)
- แก้ไขปัญหาเกี่ยวกับ
BackHandlerที่ระบบยังคงใช้onBackLambda ที่ตั้งค่าไว้ก่อนหน้านี้หลังจากมีการจัดองค์ประกอบใหม่ (8eb5eb)
เวอร์ชัน 1.3.0-alpha03
24 กุมภาพันธ์ 2021
androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 และ androidx.activity:activity-ktx:1.3.0-alpha03 จะเปิดตัว เวอร์ชัน 1.3.0-alpha03 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้มีฟังก์ชัน
registerForActivityResultที่ประกอบกันได้ สำหรับการรับผลลัพธ์จากกิจกรรมภายในฟังก์ชันที่ประกอบกันได้ (Ia7851, b/172690553)
การเปลี่ยนแปลง API
LocalOnBackPressedDispatcherOwnerมีฟังก์ชันprovidesที่ใช้กับCompositionLocalProviderได้แล้ว ซึ่งจะมาแทนที่asProvidableCompositionLocal()API (I45d24)
เวอร์ชัน 1.3.0-alpha02
10 กุมภาพันธ์ 2021
androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 และ androidx.activity:activity-ktx:1.3.0-alpha02 จะเปิดตัว เวอร์ชัน 1.3.0-alpha02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาใน Activity Compose
1.3.0-alpha01ที่ทำให้เกิดข้อยกเว้นNoSuchMethodError: No static method setContentเมื่อใช้ Compose1.0.0-alpha12ผู้ใช้ Compose ทุกคนควรใช้1.3.0-alpha02ขึ้นไป (b/179911234)
การเปลี่ยนแปลง API
BackHandlerAPI สามารถใช้เพื่ออนุญาตให้ Composable สกัดกั้นปุ่มย้อนกลับของระบบได้ (I58ed5, b/172154006)
เวอร์ชัน 1.3.0-alpha01
10 กุมภาพันธ์ 2021
androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 และ androidx.activity:activity-ktx:1.3.0-alpha01 จะเปิดตัว เวอร์ชัน 1.3.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อาร์ติแฟกต์ใหม่
activity-composeมีตัวช่วยเฉพาะของ Jetpack Compose สำหรับandroidx.activityAPI ที่เฉพาะเจาะจงComponentActivity.setContentได้ย้ายจากandroidx.compose.ui.platform.setContentไปยังandroidx.activity.compose.setContentแล้ว (Icf416)
ปัญหาที่ทราบ
- การใช้ Activity Compose
1.3.0-alpha01และไลบรารีที่ขึ้นอยู่กับ Activity Compose เช่นandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12จะทำให้เกิดข้อยกเว้นNoSuchMethodError: No static method setContent(b/179911234)
เวอร์ชัน 1.2.4
เวอร์ชัน 1.2.4
21 กรกฎาคม 2021
androidx.activity:activity:1.2.4 และ androidx.activity:activity-ktx:1.2.4 เปิดตัวแล้ว เวอร์ชัน 1.2.4 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- จากกิจกรรม
1.3.0-rc02: ตอนนี้ระบบจะบันทึกและกู้คืน Callback ของ ActivityResultRegistry อย่างถูกต้องแล้ว เพื่อไม่ให้ Callback ซ้ำกันใน savedState (I97816, b/191893160)
เวอร์ชัน 1.2.3
เวอร์ชัน 1.2.3
5 พฤษภาคม 2021
androidx.activity:activity:1.2.3 และ androidx.activity:activity-ktx:1.2.3 เปิดตัวแล้ว เวอร์ชัน 1.2.3 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- การใช้ส่วนขยายเมธอด
launch()กับActivityResultContractแบบกำหนดเองที่มีอินพุตUnitจะไม่ทำให้เกิดNullPointerExceptionอีกต่อไป (I76282, b/183837954) - แก้ไขข้อผิดพลาด Lint ที่ไม่ถูกต้องซึ่งแจ้งให้คุณใช้ Fragment
1.3.0เมื่อใช้บิลด์สแนปชอต อัลฟ่า เบต้า หรือ RC ของ Fragment เวอร์ชันใหม่กว่า (f4a57e, b/184847092)
เวอร์ชัน 1.2.2
เวอร์ชัน 1.2.2
24 มีนาคม 2021
androidx.activity:activity:1.2.2 และ androidx.activity:activity-ktx:1.2.2 เปิดตัวแล้ว เวอร์ชัน 1.2.2 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาใน
InvalidFragmentVersionForActivityResultการตรวจสอบ Lint ที่ทำให้เกิดผลบวกลวงเมื่อใช้ Fragment 1.3.1 ขึ้นไป (I54da1, b/182388985) ComponentActivityจะหลีกเลี่ยงClassNotFoundExceptionเมื่อเปิดตัวIntentจากActivityResultContractที่ก่อนหน้านี้ถือเป็นส่วนเสริมในIntentอื่น (Ieff05, b/182906230)
การอัปเดตทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ วงจร
2.3.1
เวอร์ชัน 1.2.1
เวอร์ชัน 1.2.1
10 มีนาคม 2021
androidx.activity:activity:1.2.1 และ androidx.activity:activity-ktx:1.2.1 เปิดตัวแล้ว เวอร์ชัน 1.2.1 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
RequestMultiplePermissionsจะแสดงผลลัพธ์สำหรับสิทธิ์ที่ขอทั้งหมดเสมอ แทนที่จะแสดงเฉพาะสิทธิ์ที่ไม่ได้ให้ไว้ก่อนหน้านี้ (I50bc3, b/180884668)ActivityResultRegistryตอนนี้จะช่วยให้มั่นใจได้ว่าคำขอlaunch()ที่ดำเนินการอยู่จะแสดงผลลัพธ์แม้ว่าคุณจะunregister()แล้วregister()อีกครั้งด้วยคีย์เดียวกัน (I9ef34, b/181267562)
เวอร์ชัน 1.2.0
เวอร์ชัน 1.2.0
10 กุมภาพันธ์ 2021
androidx.activity:activity:1.2.0 และ androidx.activity:activity-ktx:1.2.0 เปิดตัวแล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0
- Activity Result APIs:
ComponentActivityมีActivityResultRegistryที่ช่วยให้คุณจัดการโฟลว์startActivityForResult()+onActivityResult()รวมถึงrequestPermissions()+onRequestPermissionsResult()ได้โดยไม่ต้องแทนที่เมธอดใน Activity หรือ Fragment, เพิ่มความปลอดภัยในการกำหนดประเภทผ่านActivityResultContractและมี Hook สำหรับทดสอบโฟลว์เหล่านี้ ดูการรับผลลัพธ์จากกิจกรรมที่อัปเดตแล้ว
ContextAware: ตอนนี้ComponentActivityได้ติดตั้งใช้งานContextAwareแล้ว ซึ่งช่วยให้คุณเพิ่มอินสแตนซ์OnContextAvailableListenerอย่างน้อย 1 รายการที่จะรับการเรียกกลับก่อนActivity.onCreate()ฐานได้- ส่วนขยาย Kotlin ที่ระงับได้
withContextAvailable()ช่วยให้คุณเรียกใช้บล็อกที่ไม่ระงับได้เมื่อ Context พร้อมใช้งานและแสดงผลลัพธ์ FragmentActivityใช้ API นี้ใน Fragment 1.3.0 เพื่อคืนค่าสถานะของFragmentManagerโดย Listener ที่เพิ่มลงในคลาสย่อยของFragmentActivityจะทำงานหลังจาก Listener นั้น- API นี้ใช้โดย
AppCompatActivityใน AppCompat 1.3.0-alpha02 ขึ้นไป โดย Listener ที่เพิ่มลงในคลาสย่อยของAppCompatActivityจะทำงานหลังจาก Listener นั้น
- ส่วนขยาย Kotlin ที่ระงับได้
ViewTreeSupport:ComponentActivityรองรับ APIViewTreeLifecycleOwner.get(View),ViewTreeViewModelStoreOwner.get(View)และViewTreeSavedStateRegistryOwnerที่เพิ่มเข้ามาใน Lifecycle2.3.0และ SavedState1.1.0แล้ว ซึ่งจะแสดงผล Activity เป็นLifecycleOwner,ViewModelStoreOwnerและSavedStateRegistryOwnerสำหรับ View ใดๆ ที่เพิ่มลงในComponentActivityโดยตรง
- การพอร์ตย้อนกลับ reportFullyDrawn() - เมธอด
ActivityของreportFullyDrawn()ได้รับการพอร์ตย้อนกลับในComponentActivityเพื่อให้ทำงานในทุกระดับ API แก้ไขข้อขัดข้องใน API 19 และเพิ่มการติดตามสำหรับเมธอดนี้สำหรับทุกระดับ API
เวอร์ชัน 1.2.0-rc01
16 ธันวาคม 2020
androidx.activity:activity:1.2.0-rc01 และ androidx.activity:activity-ktx:1.2.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
ActivityResultRegistryจะคืนค่าสถานะที่บันทึกไว้ได้อย่างถูกต้องเสมอ (Idd56b)- เพิ่มการติดตามไปยัง
ComponentActivity.reportFullyDrawn(Ic7632)
การมีส่วนร่วมภายนอก
ComponentActivityจะลบล้างreportFullyDrawn()ในตอนนี้ ซึ่งจะช่วยให้เรียกใช้ได้ใน API ทุกระดับ และแก้ไขข้อขัดข้องเมื่อเรียกใช้เมธอดนี้โดยไม่มีสิทธิ์ของระบบที่เหมาะสมในอุปกรณ์ API 19 ขอขอบคุณ Simon Schiller (b/163239764, #103)
เวอร์ชัน 1.2.0-beta02
2 ธันวาคม 2020
androidx.activity:activity:1.2.0-beta02 และ androidx.activity:activity-ktx:1.2.0-beta02 เปิดตัวแล้ว เวอร์ชัน 1.2.0-beta02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ Activity Result API
จะไม่รอให้วงจรของแอปเป็น
STARTEDก่อน ส่งผลลัพธ์เมื่อลงทะเบียนกับLifecycle(I109ea)
การมีส่วนร่วมภายนอก
- อัปเดตเอกสารประกอบสำหรับ
launch()เพื่อระบุอย่างชัดเจนว่าสามารถส่งActivityNotFoundExceptionได้ ขอขอบคุณ Michał Zieliński (aosp/1493580)
เวอร์ชัน 1.2.0-beta01
1 ตุลาคม 2020
androidx.activity:activity:1.2.0-beta01 และ androidx.activity:activity-ktx:1.2.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.2.0-beta01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
ActivityResultRegistryจะสร้างจำนวนเต็มแบบสุ่มจนกว่าจะพบจำนวนเต็มที่ยังไม่ได้จัดสรรเพื่อใช้เป็นรหัสคำขอregister()ซึ่งจะช่วยป้องกันไม่ให้เกิดการล้นของจำนวนเต็มที่อาจเกิดขึ้นจากการเพิ่มรหัสคำขอ (b/168779518)Lifecycleobservers are properly removed when callingunregister()on anActivityResultLauncher. (b/165608393)
การเปลี่ยนแปลงพฤติกรรม
- ตอนนี้
ActivityResultRegistryจะแสดงIllegalStateExceptionเมื่อพยายามเรียกใช้register()ด้วยLifecycleOwnerที่LifecycleถึงSTARTEDแล้ว (b/165435866)
อัปเดตเอกสารประกอบแล้ว
ContextAwareลิงก์เอกสารประกอบLifecycleOwnerเพื่อไฮไลต์Lifecycleการเรียกกลับเป็นที่ที่เหมาะสมสำหรับเหตุการณ์การสร้างและการทำลาย (aosp/1414152)
เวอร์ชัน 1.2.0-alpha08
19 สิงหาคม 2020
androidx.activity:activity:1.2.0-alpha08 และ androidx.activity:activity-ktx:1.2.0-alpha08 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha08 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
ComponentActivityตอนนี้ใช้ContextAwareแล้ว ซึ่งช่วยให้คุณเพิ่มอินสแตนซ์OnContextAvailableListenerอย่างน้อย 1 รายการที่จะได้รับการเรียกกลับก่อนActivity.onCreate()พื้นฐาน (b/161390636)- ส่วนขยาย Kotlin ที่ระงับได้
withContextAvailable()ช่วยให้คุณเรียกใช้บล็อกที่ไม่ระงับได้เมื่อ Context พร้อมใช้งานและแสดงผลลัพธ์ (I8290c) FragmentActivityใช้ API นี้ใน Fragment 1.3.0-alpha08 เพื่อคืนค่าสถานะของFragmentManagerโดย Listener ที่เพิ่มลงในคลาสย่อยของFragmentActivityจะทำงานหลังจาก Listener นั้น (I513da)AppCompatActivityใช้ API นี้ใน AppCompat 1.3.0-alpha02 โดย Listener ที่เพิ่มลงในคลาสย่อยของAppCompatActivityจะทำงานหลังจาก Listener นั้น (I513da)
- ส่วนขยาย Kotlin ที่ระงับได้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับ
ActivityResultFragmentVersionDetectorLint check ที่ทำให้เกิดข้อผิดพลาดเมื่อใช้ Lint 27.1.0 ขึ้นไป (b/162155191)
เวอร์ชัน 1.2.0-alpha07
22 กรกฎาคม 2020
androidx.activity:activity:1.2.0-alpha07 และ androidx.activity:activity-ktx:1.2.0-alpha07 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha07 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
InvalidFragmentVersionForActivityResultการตรวจสอบ Lint ใหม่ที่ยืนยันว่าคุณใช้ Fragment1.3.0-alpha07เมื่อใช้ Activity Result API เพื่อหลีกเลี่ยงข้อขัดข้องขณะรันไทม์เนื่องจากปัญหา "รหัสคำขอไม่ถูกต้อง" และคำขอสิทธิ์ที่ใช้งานไม่ได้ซึ่งเกิดจากการใช้ Fragment เวอร์ชันเก่า (b/152554847)
การมีส่วนร่วมภายนอก
- แก้ไข
ArrayIndexOutOfBoundsExceptionเมื่อ แยกวิเคราะห์ผลลัพธ์สำหรับสัญญาRequestPermissionActivity Result (I8f9e3, b/161057605)
เวอร์ชัน 1.2.0-alpha06
10 มิถุนายน 2020
androidx.activity:activity:1.2.0-alpha06 และ androidx.activity:activity-ktx:1.2.0-alpha06 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha06 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- ตอนนี้คุณสามารถแยกโครงสร้างคลาส
ActivityResultใน Kotlin เพื่อ เข้าถึงrequestCodeและintentได้โดยตรง (b/157212935) ActivityResultLauncherตอนนี้ให้คุณรับActivityResultContractที่ใช้ลงทะเบียน Launcher ได้แล้ว (b/156875743)
การเปลี่ยนแปลง API
- การเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้อง: เปลี่ยนชื่อเมธอด
invoke()ในActivityResultRegistryเป็นonLaunch()แล้ว (b/157496491) - ตอนนี้สัญญา
OpenMultipleDocumentsจะแสดงผลรายการว่างเปล่า แทนnullไปยังการเรียกกลับที่ลงทะเบียนไว้หากไม่มีผลลัพธ์ (b/157348014)
เวอร์ชัน 1.2.0-alpha05
20 พฤษภาคม 2020
androidx.activity:activity:1.2.0-alpha05 และ androidx.activity:activity-ktx:1.2.0-alpha05 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha05 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับ
ViewTreeViewModelStoreOwnerจาก Lifecycle2.3.0-alpha03และViewTreeSavedStateRegistryOwnerจาก SavedState1.1.0-alpha01เมื่อใช้ViewภายในComponentActivity(aosp/1297993, aosp/1300264)
การเปลี่ยนแปลง API
- ตอนนี้
TakePictureสัญญาจะแสดงผลเป็นbooleanซึ่งบ่งบอกถึงความสำเร็จแทนที่จะเป็นภาพขนาดย่อBitmapเนื่องจากแอปกล้องแทบจะไม่รองรับการเขียนรูปภาพไปยังUriที่ระบุ (b/154302879) - เราได้นำ
invoke()ส่วนขยายในActivityResultLauncherออกแล้วเพื่อสนับสนุนการใช้launch()อย่างชัดเจนเพื่อระบุให้ทราบว่าการดำเนินการเหล่านี้เป็นการดำเนินการแบบไม่พร้อมกัน ส่วนขยาย Kotlin สำหรับlaunchได้รับการเพิ่มลงในแพ็กเกจandroidx.activity.resultสำหรับActivityResultLauncher<Void>และActivityResultLauncher<Unit>ซึ่งช่วยให้ไม่ต้องส่งnullหรือUnitตามลำดับ โดยจำลองลักษณะการทำงานจากส่วนขยายinvoke()ก่อนหน้านี้ (aosp/1304674, aosp/1304675) - เราได้รวม
IntentSenderRequest.BuilderวิธีการสำหรับsetFlagsMask()และsetFlagsValues()เข้าเป็นsetFlags()วิธีการเดียว (aosp/1302111)
การแก้ไขข้อบกพร่อง
- เมื่อลงทะเบียน
ActivityResultCallbackด้วยLifecycleOwnerเราได้แก้ไขปัญหาที่ระบบจะทริกเกอร์การเรียกกลับก่อนที่สถานะจะไปถึงSTARTED(aosp/1309744)
การเปลี่ยนแปลงพฤติกรรม
- ตอนนี้
ActivityResultRegistryจะสร้างรหัสคำขอโดยเริ่มที่0xFFFFแทนที่จะเป็น0เพื่อป้องกันการทับซ้อนเมื่อใช้startActivityForResult()หรือrequestPermissions()ในกิจกรรม (aosp/1302324)
เวอร์ชัน 1.2.0-alpha04
29 เมษายน 2020
androidx.activity:activity:1.2.0-alpha04 และ androidx.activity:activity-ktx:1.2.0-alpha04 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha04 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เพิ่มสัญญาที่เรียกใช้ startIntentSenderForResult ไปยัง ActivityResult API ได้ (b/153007517)
การเปลี่ยนแปลง API
- เราได้เปลี่ยนชื่อเมธอด
prepareCall()เป็นregisterForActivityResult()ทั้งในComponentActivityที่นี่และใน Fragment1.3.0-alpha04(aosp/1278717) - สัญญา
GetContents,OpenDocumentsและRequestPermissionsได้เปลี่ยนชื่อเป็นGetMultipleContents,OpenMultipleDocumentsและRequestMultiplePermissionsตามลำดับ (aosp/1280161) - ตอนนี้
ComponentActivityได้ติดตั้งใช้งานอินเทอร์เฟซActivityResultRegisteryOwnerแล้ว (aosp/1290888) - - เราได้เลิกใช้งาน
startActivityForResult()/onActivityResult()และonRequestPermissionsResult()API ในComponentActivityแล้ว โปรดใช้ Activity Result APIs (b/154751887)
การแก้ไขข้อบกพร่อง
- เมื่อใช้สัญญา
GetMultipleContentsและOpenMultipleDocumentsและเลือกรายการเดียว ตอนนี้ระบบจะส่งคืนรายการดังกล่าวไปยังการเรียกกลับของคุณอย่างถูกต้องแล้ว (b/152941153)
เวอร์ชัน 1.2.0-alpha03
1 เมษายน 2020
androidx.activity:activity:1.2.0-alpha03 และ androidx.activity:activity-ktx:1.2.0-alpha03 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เพิ่มสัญญา
TakeVideo,PickContact,GetContent,GetContents,OpenDocument,OpenDocuments,OpenDocumentTreeและCreateDocumentลงในชุดสัญญาที่สร้างไว้ล่วงหน้าซึ่งActivityResultContractsจัดหาให้ (aosp/1262482, aosp/1266916, aosp/1268960) - ตอนนี้ Activity Result API รองรับการเปิดใช้งานสำหรับผลลัพธ์ที่มี
ActivityOptionsCompatที่ไม่บังคับแล้ว (b/151860054)
การเปลี่ยนแปลง API
- ตอนนี้สัญญา
TakePictureจะรับอินพุตUriสำหรับตำแหน่งที่ควรจัดเก็บรูปภาพ เราได้เปลี่ยนชื่อสัญญาฉบับก่อนหน้าที่ไม่ได้ใช้ข้อมูลใดๆ เป็นTakePicturePreview(aosp/1262482) - เปลี่ยนชื่อวิธีการ
registerActivityResultCallback()ในActivityResultRegistryเป็นregister()แล้ว (aosp/1267621) - เปลี่ยนชื่อเมธอด
dispose()ในActivityResultLauncherเป็นunregister()แล้ว และนำunregisterResultCallback()ในActivityResultRegistryออกแล้ว (aosp/1267621) createIntent()วิธีการของActivityResultContactตอนนี้ใช้Contextนอกเหนือจากอินพุตเพื่อให้สร้าง Intent ที่ชัดเจนได้ (aosp/1238800)- ตอนนี้
ActivityResultContractสามารถลบล้างgetSynchronousResult()เพื่อแสดงผลลัพธ์โดยไม่ต้องเรียกใช้startActivityForResultสัญญาRequestPermissionและRequestPermissionsใช้พารามิเตอร์นี้เพื่อแสดงสถานะ "ให้สิทธิ์แล้ว" อย่างถูกต้องในกรณีที่ได้รับสิทธิ์ที่ขอแล้ว (b/151110799) - เราได้นำสัญญา
Dialที่เคยมีออกแล้วเนื่องจากIntentไม่ได้มีไว้ใช้กับstartActivityForResult()(aosp/1266916) - ตอนนี้ API ผลลัพธ์ของกิจกรรมหลายรายการที่ไม่ได้มีไว้เพื่อขยายได้
finalซึ่งรวมถึงgetActivityResultRegistry(), วิธีการprepareCall(), วิธีการทั้งหมดของActivityResultRegistryยกเว้นinvoke()และสัญญาเริ่มต้นจำนวนหนึ่งที่ไม่รองรับส่วนเสริมที่ไม่บังคับ (b/152439361)
การแก้ไขข้อบกพร่อง
- แก้ไข
NullPointerExceptionในActivityResultRegistryเมื่อพยายามส่งผลลัพธ์ไปยังการเรียกกลับที่ยังไม่ได้ลงทะเบียนอีกครั้งหลังจากการเปลี่ยนแปลงการกำหนดค่าActivityResultRegistryตอนนี้จะเก็บผลลัพธ์ที่รอดำเนินการเหล่านี้ไว้และส่งเมื่อมีการลงทะเบียนการเรียกกลับอีกครั้ง (b/152137004)
เวอร์ชัน 1.2.0-alpha02
18 มีนาคม 2020
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()ได้โดยไม่ต้องแทนที่เมธอดใน Activity หรือ Fragment ซึ่งจะช่วยเพิ่มความปลอดภัยในการกำหนดประเภทผ่านActivityResultContractและมี Hook สำหรับทดสอบโฟลว์เหล่านี้ ดูการรับผลลัพธ์จากกิจกรรมที่อัปเดตแล้ว (b/125158199)
เวอร์ชัน 1.2.0-alpha01
4 มีนาคม 2020
androidx.activity:activity:1.2.0-alpha01 และ androidx.activity:activity-ktx:1.2.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.2.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับ
ViewTreeLifecycleOwner.get(View)API ที่เพิ่มใน Lifecycle2.3.0-alpha01เพื่อให้แสดงผล Activity เป็นLifecycleOwnerสำหรับ View ใดๆ ที่เพิ่มลงใน Activity โดยตรง (aosp/1182955)
การแก้ไขข้อบกพร่อง
- แก้ไขการถดถอยที่เกิดขึ้นในกิจกรรม
1.1.0เมื่อเรียกใช้บนแพลตฟอร์มเวอร์ชันเก่า ซึ่งonBackPressed()จะทำให้เกิดIllegalStateExceptionเนื่องจากข้อบกพร่องในandroid.app.FragmentManager(b/146290338)
เวอร์ชัน 1.1.0
เวอร์ชัน 1.1.0
22 มกราคม 2020
androidx.activity:activity:1.1.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- การผสานรวม Lifecycle ViewModel SavedState: ตอนนี้
SavedStateViewModelFactoryเป็น Factory เริ่มต้นที่ใช้เมื่อใช้by viewModels(), เครื่องมือสร้างViewModelProviderหรือViewModelProviders.of()กับComponentActivityหรือคลาสย่อย
เวอร์ชัน 1.1.0-rc03
4 ธันวาคม 2019
androidx.activity:activity:1.1.0-rc03 และ androidx.activity:activity-ktx:1.1.0-rc03 เปิดตัวแล้ว เวอร์ชัน 1.1.0-rc03 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลงทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ Lifecycle
2.2.0-rc03และ Lifecycle ViewModel SavedState1.0.0-rc03แล้ว
เวอร์ชัน 1.1.0-rc02
7 พฤศจิกายน 2019
androidx.activity:activity:1.1.0-rc02 และ androidx.activity:activity-ktx:1.1.0-rc02 เปิดตัวแล้ว เวอร์ชัน 1.1.0-rc02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับวงจร
2.2.0-rc02
เวอร์ชัน 1.1.0-rc01
23 ตุลาคม 2019
androidx.activity:activity:1.1.0-rc01 และ androidx.activity:activity-ktx:1.1.0-rc01 จะเปิดตัวโดยไม่มีการเปลี่ยนแปลงจาก 1.1.0-beta01 เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้
เวอร์ชัน 1.1.0-beta01
9 ตุลาคม 2019
androidx.activity:activity:1.1.0-beta01 และ androidx.activity:activity-ktx:1.1.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.1.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงทรัพยากร Dependency
- ตอนนี้กิจกรรมขึ้นอยู่กับ SavedState 1.0.0 ที่เสถียรแล้ว
เวอร์ชัน 1.1.0-alpha03
5 กันยายน 2019
androidx.activity:activity:1.1.0-alpha03 และ androidx.activity:activity-ktx:1.1.0-alpha03 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้กิจกรรมจะขึ้นอยู่กับ Core 1.1.0 ที่เสถียร
แก้ไขข้อบกพร่อง
- ตอนนี้กิจกรรมขึ้นอยู่กับ วงจร
2.2.0-alpha04
เวอร์ชัน 1.1.0-alpha02
7 สิงหาคม 2019
androidx.activity:activity:1.1.0-alpha02 และ androidx.activity:activity-ktx:1.1.0-alpha02 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้
SavedStateViewModelFactoryเป็นค่าเริ่มต้นที่ใช้เมื่อใช้by viewModels(), เครื่องมือสร้างViewModelProviderหรือViewModelProviders.of()ที่มีComponentActivity(b/135716331)
เวอร์ชัน 1.1.0-alpha01
2 กรกฎาคม 2019
androidx.activity:activity:1.1.0-alpha01 และ androidx.activity:activity-ktx:1.1.0-alpha01 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
activityขึ้นอยู่กับวงจร2.2.0-alpha02แล้ว (aosp/1007817)activity-ktxได้เพิ่มทรัพยากร Dependency ในlifecycle-runtime-ktxแล้ว คุณจึงไม่จำเป็นต้องเพิ่มทรัพยากร Dependency อย่างชัดเจนเมื่อใช้activity-ktxหรือไลบรารีที่ขึ้นอยู่กับactivity-ktx(เช่นfragment-ktx) อีกต่อไป (aosp/987162)
เวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0
5 กันยายน 2019
androidx.activity:activity:1.0.0 และ androidx.activity:activity-ktx:1.0.0 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์หลักของเวอร์ชัน 1.0.0
- ComponentActivity:
ComponentActivityเป็นคลาสพื้นฐานใหม่สำหรับFragmentActivityใน Fragment1.1.0และAppCompatActivityใน AppCompat1.1.0 - activity-ktx: โมดูล
activity-ktxมีส่วนขยายพร็อพเพอร์ตี้ Kotlinby viewModelsสำหรับการเข้าถึง ViewModel ระบบจะรวมโมดูลนี้โดยอัตโนมัติเมื่อคุณรวมfragment-ktxจาก Fragment1.1.0 - OnBackPressedDispatcher: ตอนนี้คุณสามารถลงทะเบียน
OnBackPressedCallbackจากLifecycleOwnerใดก็ได้ (เช่น Fragment) เพื่อสกัดกั้นเหตุการณ์ปุ่มย้อนกลับของระบบ ซึ่งเป็นทางเลือกแบบ Composable แทนการลบล้างonBackPressed()เพิ่ม Lambda ที่มีเวอร์ชันตัวรับaddCallbackลงในactivity-ktxแล้ว ดูรายละเอียดเพิ่มเติมได้ที่จัดทำเอกสารประกอบการนำทางย้อนกลับที่กำหนดเอง - การเลิกใช้งาน onRetainCustomNonConfigurationInstance: เราได้เลิกใช้งาน
onRetainCustomNonConfigurationInstance()และ APIgetLastCustomNonConfigurationInstance()ที่เกี่ยวข้องแล้ว ขอแนะนำอย่างยิ่งให้ใช้ ViewModels เพื่อจัดเก็บสถานะที่ไม่ใช่การกำหนดค่า เนื่องจากมีโซลูชันที่ประกอบได้ซึ่งเหมาะสำหรับViewModelStoreOwnerทุกรายการ ซึ่งจะทำให้การเป็นเจ้าของออบเจ็กต์ที่เก็บไว้ชัดเจน และมีonCleared()การเรียกกลับสำหรับการล้างทรัพยากรเมื่อมีการทำลายกิจกรรมในที่สุด
เวอร์ชัน 1.0.0-rc01
2 กรกฎาคม 2019
androidx.activity:activity:1.0.0-rc01 และ androidx.activity:activity-ktx:1.0.0-rc01 จะเปิดตัวโดยไม่มีการเปลี่ยนแปลงจาก 1.0.0-beta01 ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
เวอร์ชัน 1.0.0-beta01
5 มิถุนายน 2019
androidx.activity::activity:1.0.0-beta01 และ androidx.activity:activity-ktx:1.0.0-beta01 จะเปิดตัวโดยไม่มีการเปลี่ยนแปลงจาก 1.0.0-alpha08 ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
เวอร์ชัน 1.0.0-alpha08
7 พฤษภาคม 2019
androidx.activity:activity:1.0.0-alpha08 และ androidx.activity:activity-ktx:1.0.0-alpha08 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
การเปลี่ยนแปลง API
- การเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้อง: ระบบได้นำเมธอด
addOnBackPressedCallbackและremoveOnBackPressedCallbackที่เลิกใช้งานแล้วก่อนหน้านี้ในComponentActivityออกแล้ว aosp/953857 - ตอนนี้เราได้สรุปวิธีการ
setEnabled()และisEnabled()ของOnBackPressedCallbackแล้ว b/131416833 - ตอนนี้
remove()ของOnBackPressedCallbackเสร็จสมบูรณ์แล้ว aosp/952720 OnBackPressedDispatcherมีเครื่องมือสร้างสาธารณะแล้ว ซึ่งช่วยให้คุณสร้างอินสแตนซ์ของคุณเองเพื่อการทดสอบ ฯลฯ ได้ aosp/953431onBackPressed()สำหรับComponentActivityตอนนี้มีการทำเครื่องหมายอย่างชัดเจนเป็น@MainThreadaosp/952721
แก้ไขข้อบกพร่อง
- แก้ไข
ConcurrentModificationExceptionเมื่อเรียกใช้remove()จากภายในเมธอดhandleOnBackPressed()ของOnBackPressedCalbackที่เพิ่มด้วยLifecycleOwnerb/131765095
เวอร์ชัน 1.0.0-alpha07
25 เมษายน 2019
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เป็นคลาสแบบนามธรรมที่เปิดหรือปิดใช้ได้ โดยระบบจะเรียกใช้handleOnBackPressed()ก็ต่อเมื่อเมธอดisEnabled()ใหม่แสดงผลเป็นจริงเท่านั้น ซึ่งคุณต้องจัดการปุ่มย้อนกลับ (aosp/944518) addCallbackเมธอดของOnBackPressedDispatcherจะไม่แสดงผลอินสแตนซ์Cancellableอีกต่อไปOnBackPressedCallbackมีเมธอดremove()ที่ทําให้ฟังก์ชันการทํางานนี้สมบูรณ์ ซึ่งช่วยให้คุณเรียกใช้remove()ระหว่างhandleOnBackPressed()ได้ (aosp/944519) (aosp/946316)activity-ktxมีการเรียกกลับที่กำหนดขอบเขตผู้รับสำหรับaddCallbackซึ่งยอมรับ Lambda ที่ใช้handleOnBackPressed()และมีสิทธิ์เข้าถึงisEnabledและremove()(aosp/944520)
เวอร์ชัน 1.0.0-alpha06
3 เมษายน 2019
androidx.activity:activity:1.0.0-alpha06 และ androidx.activity:activity-ktx:1.0.0-alpha06 เปิดตัวแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
การเปลี่ยนแปลง API
- ตอนนี้ ComponentActivity มีตัวสร้างที่ 2 ซึ่งใช้
@LayoutRes intซึ่งจะแทนที่ลักษณะการทำงานก่อนหน้านี้ของการใส่คำอธิบายประกอบคลาส AppCompatActivity ด้วย@ContentViewแนวทางนี้ใช้ได้ทั้งในโมดูลแอปและโมดูลไลบรารี (b/128352521) OnBackPressedCallbackAPI ที่เกี่ยวข้องใน ComponentActivity ได้รับการเลิกใช้งานแล้วเพื่อรองรับOnBackPressedDispatcherใหม่ ซึ่งเรียกข้อมูลได้ผ่านgetOnBackPressedDispatcher()(aosp/922523)- ตอนนี้เมธอดในการเพิ่ม
OnBackPressedCallbackใหม่ลงในOnBackPressedDispatcherจะแสดงผลออบเจ็กต์Cancellableซึ่งช่วยให้สามารถนำการเรียกกลับออกได้โดยไม่ต้องอ้างอิงOnBackPressedDispatcherอย่างชัดเจน (aosp/922523) - การเพิ่ม
OnBackPressedCallbackที่มีLifecycleOwnerที่เชื่อมโยงกันจะส่งผลให้มีการเพิ่มและนำOnBackPressedCallbackออกเมื่อเริ่มและหยุดวงจรตามลำดับ (aosp/922523)
เวอร์ชัน 1.0.0-alpha05
13 มีนาคม 2019
androidx.activity:activity:1.0.0-alpha05 และ
androidx.activity:activity-ktx:1.0.0-alpha05 เปิดตัวแล้ว ดูรายการคอมมิตทั้งหมด
ที่รวมอยู่ในการเปิดตัวนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้ระบบจะแคชการค้นหาคำอธิบายประกอบ
@ContentViewแล้ว (b/123709449)
เวอร์ชัน 1.0.0-alpha04
30 มกราคม 2019
androidx.activity:activity 1.0.0-alpha04 และ androidx.activity:activity-ktx 1.0.0-alpha04 เปิดตัวแล้ว
ฟีเจอร์ใหม่
- เพิ่มการรองรับ
@ContentViewคำอธิบายประกอบคลาสที่ช่วยให้คุณระบุได้ว่าควรขยายไฟล์ XML ของเลย์เอาต์ใดแทนการใช้setContentView()(aosp/837619)
การเปลี่ยนแปลง API
- เพิ่มหมายเหตุว่าไม่ควรลบล้าง
getViewModelStore()และจะถือเป็นค่าสุดท้ายในรุ่นต่อๆ ไป โปรดส่งคำขอฟีเจอร์หากคุณกำลังลบล้างวิธีการนี้ (aosp/837619)
แก้ไขข้อบกพร่อง
- ตอนนี้โมดูล
activityขึ้นอยู่กับ ViewModel เวอร์ชัน 2.1.0-alpha02 เพื่อให้ตรงกับทรัพยากร Dependency ของโมดูลactivity-ktx
เวอร์ชัน 1.0.0-alpha03
17 ธันวาคม 2018
androidx.activity 1.0.0-alpha03 ได้รับการเผยแพร่แล้ว
ฟีเจอร์ใหม่
- ตอนนี้ ComponentActivity ใช้
BundleSavedStateRegistryOwnerและขึ้นอยู่กับไลบรารี SavedState ที่เพิ่งเปิดตัว [aosp/815133] - ตอนนี้ ComponentActivity แก้ไขข้อบกพร่องของเฟรมเวิร์ก Android ที่ทำให้ InputMethodManager รั่วไหลมุมมองที่โฟกัสล่าสุด [b/37122102]
เวอร์ชัน 1.0.0-alpha02
3 ธันวาคม 2018
การเปลี่ยนแปลง API
- เพิ่มหมายเหตุว่าไม่ควรลบล้าง
getLifecycle()และจะมีการดำเนินการfinalในรุ่นต่อๆ ไป โปรดส่งคำขอฟีเจอร์หากคุณ กำลังลบล้างเมธอดนี้ (aosp/815834)
เวอร์ชัน 1.0.0-alpha01
5 พฤศจิกายน 2018
androidx.activity 1.0.0-alpha01 ขอแนะนำ
ComponentActivity ซึ่งเป็นคลาสพื้นฐานใหม่ของ FragmentActivity และ
AppCompatActivity ที่มีอยู่
ฟีเจอร์ใหม่
- ตอนนี้คุณสามารถลงทะเบียน
OnBackPressedCallbackผ่านaddOnBackPressedCallbackเพื่อรับonBackPressed()การเรียกกลับโดยไม่ต้องลบล้างเมธอด ในกิจกรรม - เพิ่ม
by viewModels()ตัวแทนพร็อพเพอร์ตี้ Kotlin ใหม่สำหรับการดึงข้อมูลViewModelจากComponentActivity - ตอนนี้ระบบจะยกเลิกเหตุการณ์อินพุตที่รอดำเนินการ (เช่น การคลิก) ใน
onStop()
การเปลี่ยนแปลง API
- การติดตั้งใช้งาน
LifecycleOwnerและViewModelStoreOwnerได้ย้ายจากFragmentActivityไปยังComponentActivityแล้ว onRetainCustomNonConfigurationInstanceเลิกใช้งานแล้ว ใช้ViewModelเพื่อจัดเก็บออบเจ็กต์ที่ต้องคงอยู่เมื่อมีการเปลี่ยนแปลงการกำหนดค่า