กิจกรรม

เข้าถึง API ที่สามารถคอมโพสได้ซึ่งสร้างขึ้นบน Activity
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
2 กรกฎาคม 2025 1.10.1 1.11.0-rc01 - 1.12.0-alpha04

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มการอ้างอิงในกิจกรรม คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle สำหรับแอปหรือโมดูลของคุณ

ดึงดูด

dependencies {
    def activity_version = "1.10.1"

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

Kotlin

dependencies {
    val activity_version = "1.10.1"

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

ความคิดเห็นของคุณจะช่วยให้ Jetpack ทำงานได้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา

เวอร์ชัน 1.12

เวอร์ชัน 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 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลงการขึ้นต่อกัน

เวอร์ชัน 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 ได้รับการผสานรวมกับ NavigationEvent 1.0.0-alpha01 ผ่าน NavigationEventDispatcherOwner API ตอนนี้คุณสามารถดึงข้อมูล 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-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

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ระบบจะรวบรวมกิจกรรมด้วย 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 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม MediaCapabilities API ลงใน 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 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • ตอนนี้คุณสามารถแก้ไข ViewTree OnBackPressedDispatcherOwners และ 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 และ PickMultipleVisualMedia Activity Result ที่ทริกเกอร์เครื่องมือเลือกรูปภาพจะไม่มอบสิทธิ์ให้ Google Play Services โดยตรงอีกต่อไปหากเครื่องมือเลือกรูปภาพของระบบไม่พร้อมใช้งาน แต่จะใช้การดำเนินการ 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 จะไม่เรียกใช้การเรียกกลับอีกต่อไปหลังจากที่ปิดใช้ตัวแฮนเดิลแล้ว ซึ่งจะแก้ไขปัญหาที่ NavHost จาก Navigation Compose จะแสดง IndexOutOfBoundsException (I3f75e, b/365027664, b/340202286)

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ 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 และ PickMultipleVisualMedia Activity Result ที่ทริกเกอร์เครื่องมือเลือกรูปภาพจะไม่มอบสิทธิ์ให้ Google Play Services โดยตรงอีกต่อไปหากเครื่องมือเลือกรูปภาพของระบบไม่พร้อมใช้งาน แต่จะใช้การดำเนินการ 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 กิจกรรม Compose PredictiveBackHandler จะยังคงจัดการท่าทางสัมผัสย้อนกลับของระบบในเฟรมที่ปิดใช้ ซึ่งอาจส่งผลให้ไลบรารี เช่น 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 มีการคอมมิต lthco เหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ 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() ขณะจัดการการย้อนกลับ เนื่องจากจะทำให้การเคลื่อนไหวย้อนกลับแบบคาดเดาใช้งานไม่ได้เสมอ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือแนวทางปฏิบัติแนะนำ
  • เราได้เขียน API กิจกรรมที่เหลือใหม่ใน Kotlin และย้ายส่วนขยายทั้งหมดที่เคยมีใน activity-ktx ไปยัง activity แล้ว activity-ktx ว่างเปล่าแล้ว
    • ในส่วนของการแปลง ActivityResultLauncher เป็น Kotlin ตอนนี้เมธอด getContract เป็นพร็อพเพอร์ตี้ Kotlin แบบแอบสแทรกต์แล้ว การเปลี่ยนแปลงนี้เข้ากันได้กับไบนารี แต่จะทำให้แหล่งที่มาใช้งานไม่ได้หากคุณเขียนการติดตั้งใช้งาน ActivityResultLauncher ใน Kotlin

เวอร์ชัน 1.9.0-rc01

3 เมษายน 2024

androidx.activity:activity:1.9.0-rc01 androidx.activity:activity-compose:1.9.0-rc01 และ androidx.activity:activity-ktx:1.9.0-rc01 ออกอากาศแล้ว เวอร์ชัน 1.9.0-rc01 มีการเปลี่ยนแปลงเหล่านี้

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 1.9.0-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 มีคอมมิตเหล่านี้

คำเตือน Lint

การแก้ไขข้อบกพร่อง

  • หากมีการส่งเหตุการณ์ย้อนกลับจากระบบที่เริ่มต้นในระหว่างท่าทางสัมผัสย้อนกลับแบบคาดการณ์ที่กำลังทำงานอยู่ ระบบจะยกเลิกท่าทางสัมผัสย้อนกลับแบบคาดการณ์ที่กำลังทำงานอยู่และเหตุการณ์ย้อนกลับใหม่จะเข้ามาแทนที่เพื่อเริ่มท่าทางสัมผัสย้อนกลับแบบคาดการณ์ใหม่ (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 วิธีนี้จะช่วยให้มั่นใจได้ว่าค่า Null ของ Generics ในสัญญาที่ส่งไปยัง register จะส่งผ่านไปยัง ActivityResultLauncher ที่ส่งคืนให้คุณอย่างถูกต้อง (I121f0)
  • ActivityResult ได้รับการเขียนใหม่ใน Kotlin เราได้ย้ายส่วนขยาย Kotlin ที่รองรับการแยกโครงสร้างลงในช่อง resultCode และ data จาก activity-ktx ไปยัง activity แล้วActivityResult (I0565a)
  • ย้ายส่วนขยาย Kotlin ของ by viewModels() สำหรับ ComponentActivity และ trackPipAnimationHintView จาก activity-ktx ไปยัง activity แล้ว ตอนนี้อาร์ติแฟกต์ activity-ktx ว่างเปล่าแล้ว (I0a444)

การแก้ไขข้อบกพร่อง

  • ตอนนี้ enableEdgeToEdge API จะวาดรอบๆ รอยบากของจอแสดงผล (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 method ได้กลายเป็นพร็อพเพอร์ตี้ Kotlin แบบนามธรรมแล้ว การเปลี่ยนแปลงนี้เข้ากันได้กับไบนารี แต่จะทำให้แหล่งที่มาใช้งานไม่ได้หากคุณเขียนการติดตั้งใช้งาน ActivityResultLauncher ใน Kotlin (Id4615)
  • PickVisualMediaRequest มี API ระดับต่ำสุดเดียวกันที่ 19 เหมือนกับสัญญาผลลัพธ์ของกิจกรรม PickVisualMedia แล้ว (Id6e21)

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 1.8

เวอร์ชัน 1.8.2

13 ธันวาคม 2023

androidx.activity:activity:1.8.2 androidx.activity:activity-compose:1.8.2 และ androidx.activity:activity-ktx:1.8.2 ออกอากาศแล้ว เวอร์ชัน 1.8.2 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขส่วนที่ส่งไปยัง ACTION_SYSTEM_FALLBACK_PICK_IMAGES ของสัญญา 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แม้ว่าจะมีการเพิ่ม 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() ก่อนหน้าเมื่อมีการยืนยันท่าทางสัมผัสการย้อนกลับ นอกจากนี้ ยังมาพร้อมกับ PredictiveBackHandler Composable เพื่อจัดการเหตุการณ์ท่าทางสัมผัสย้อนกลับแบบคาดการณ์ใน Activity Compose โดยจะแสดง Flow ของออบเจ็กต์ BackEventCompat ที่ต้องรวบรวมในแลมบ์ดาที่ระงับที่คุณระบุ
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

ตอนนี้เราได้เลิกใช้งาน 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-เบต้า01

6 กันยายน 2023

androidx.activity:activity:1.8.0-beta01 androidx.activity:activity-compose:1.8.0-beta01 และ androidx.activity:activity-ktx:1.8.0-beta01 ออกอากาศแล้ว เวอร์ชัน 1.8.0-beta01 มีคอมมิตเหล่านี้

การปรับปรุงเอกสารประกอบ

  • ปรับปรุงเอกสารประกอบของ BackEventCompat (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 ได้เพิ่ม PredictiveBackHandler Composable ใหม่เพื่อจัดการเหตุการณ์ท่าทางสัมผัสย้อนกลับแบบคาดการณ์ โดยจะแสดง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 เพื่อให้แน่ใจว่ามีการเรียกใช้ Flow collect() (Id2773, b/294884345)

  • ตอนนี้ onBackPressedDispatcher ใน ComponentActivity จะได้รับการเริ่มต้นใช้งานแบบเลื่อนเวลาเพื่อให้ระบบสร้างเมื่อจำเป็นเท่านั้น (I0bf8e)

การแก้ไขข้อบกพร่อง

  • ComponentActivity จะไม่แสดง NPE ใน Android 13 อีกต่อไปเมื่อได้รับonBackPressed()การเรียกกลับและ 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 ไปยัง enableEdgeToEdge API ตอนนี้คุณสามารถลบล้างพารามิเตอร์ Lambda detectDarkMode เพื่อระบุตรรกะที่กำหนดเองสำหรับการตรวจจับโหมดกลางคืนได้แล้ว (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 ของเฟรมเวิร์ก นอกจากนี้ เรายังได้อัปเดต @VisibleForTesting API ที่เทียบเท่าใน OnBackPressedDispatcher ด้วย
  • ตอนนี้เครื่องมือสร้างสำหรับ OnBackPressedDispatcher จะใช้ออบเจ็กต์ Consumer<Boolean> ที่ไม่บังคับ ซึ่งช่วยให้เจ้าของ Dispatcher ได้รับ Callback ทุกครั้งที่จำนวน Callback ที่เปิดใช้เปลี่ยนจาก 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.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 ใช้ Random ของ Kotlin แทน 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 ออกอากาศแล้ว พัฒนาจากสาขาภายใน

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 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 ที่แนบมากับหน้าต่างผ่านข้อกำหนดของ ViewTree API
  • 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 ใช้เมธอดระงับซึ่งเมื่อเสร็จสมบูรณ์แล้วจะบ่งบอกว่าคุณพร้อมสำหรับการโต้ตอบ

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 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 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้กิจกรรมจะขึ้นอยู่กับ 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 Activity Result จะใช้เครื่องมือเลือกรูปภาพที่ให้บริการโดยบริการ 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 ที่แนบมากับ Window ผ่านข้อกำหนดของ ViewTree API (Idca17, I73468 b/261162296)

การเปลี่ยนแปลง API

  • เพิ่ม ReportDrawncomposable ที่ทำเครื่องหมายกิจกรรมว่าพร้อมเรียกใช้ทันที reportFullyDrawn (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จะส่งการเรียกกลับทั้ง 2 รายการของ onMultiWindowModeChanged() เสมอ (Ic4d85)
  • ActivityResultRegistry จะไม่แสดงผลลัพธ์ให้กับ ActivityResultCallback อีกต่อไปเมื่อการเรียกใช้ launch ทำให้เกิด Exception และมีการลงทะเบียน Callback โดยไม่มี LifecycleOwner (Ia7ff7, b/238350794)
  • ComponentActivity จะส่งการเรียกเมนูอย่างถูกต้องโดยไม่ต้องเรียกใช้ฟังก์ชันหลักในกิจกรรม (Ie33c5, b/238057118)

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้Activityไลบรารีขึ้นอยู่กับ Lifecycle 2.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)
  • จากกิจกรรม 1.5.1: ตอนนี้ ComponentActivity จะส่งการเรียกเมนูไปยังการลบล้าง onPrepareOptionMenu(), onCreateOptionsMenu() และ onOptionsItemSelected() อย่างถูกต้องโดยไม่ต้องเรียกใช้ฟังก์ชันหลัก (Ie33c5, b/238057118)

การอัปเดตการขึ้นต่อกัน

  • จากกิจกรรม 1.5.1: ตอนนี้Activityไลบรารีจะขึ้นอยู่กับLifecycleเวอร์ชัน 2.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 ได้รับการพัฒนาในสาขาเวอร์ชันก่อนเปิดตัวแบบส่วนตัวและไม่มีคอมมิตแบบสาธารณะ

การเปลี่ยนแปลง API

  • minCompileSdk ตอนนี้เป็น 33 เพื่อให้สอดคล้องกับ Tiramisu Beta 3 SDK

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องในอุปกรณ์รุ่นเก่าเมื่อตรวจสอบส่วนขยาย SDK สำหรับ PickVisualMedia ActivityResultContract เพื่อให้ตอนนี้ควรใช้งานได้กับ 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 ซึ่งการพยายามสร้างคำขอผ่าน Builder หรือฟังก์ชัน 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 Developer Preview 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)

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ไลบรารี Activity ขึ้นอยู่กับ Lifecycle 2.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 แบบไม่มีสถานะผ่าน Lifecycle 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 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 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() จะเรียกใช้ super 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 ซึ่งเปิดตัวเป็นส่วนหนึ่งของ Lifecycle 2.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() การเรียกกลับหรือ การเรียกกลับไปยัง 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 เพื่อให้มั่นใจว่า Nullability จะถูกต้อง

เวอร์ชัน 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 APIs ซึ่งได้แก่ 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 มีLaunchDuringCompositionข้อผิดพลาดของ Lint ซึ่งทำให้คุณเรียกใช้เมธอด launch ของ ActivityResultLauncher เป็นส่วนหนึ่งของการเรียบเรียงไม่ได้ เนื่องจากควรไม่มีผลข้างเคียง ใช้ API สำหรับจัดการผลข้างเคียง (7c2bbe, b/191347220)

การเปลี่ยนแปลง API

  • เราได้เขียนคลาส ActivityResultContract ใหม่ใน Kotlin เพื่อให้มั่นใจว่านักพัฒนาแอปที่เขียนสัญญาที่กำหนดเองใน Kotlin จะกำหนดค่า Nullability ที่ถูกต้องสำหรับคลาสอินพุตและเอาต์พุตได้ (I8a8f5)
  • เราได้เขียนคลาส ActivityResultContracts และสัญญาของคลาสนี้ใหม่ใน Kotlin เพื่อให้มั่นใจว่า Nullability จะถูกต้อง (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)

การมีส่วนร่วมภายนอก

  • ขอขอบคุณ dmitrilc ที่แก้ไขคำที่พิมพ์ผิดในเอกสารประกอบของ ActivityResult (#221)

เวอร์ชัน 1.3.1

เวอร์ชัน 1.3.1

4 สิงหาคม 2021

androidx.activity:activity:1.3.1 androidx.activity:activity-compose:1.3.1 และ androidx.activity:activity-ktx:1.3.1 ออกอากาศแล้ว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้กิจกรรมขึ้นอยู่กับ Kotlin 1.5.21
  • ตอนนี้การเขียนกิจกรรมจะขึ้นอยู่กับการเขียน 1.0.1

เวอร์ชัน 1.3.0

เวอร์ชัน 1.3.0

28 กรกฎาคม 2021

androidx.activity:activity:1.3.0 androidx.activity:activity-compose:1.3.0 และ androidx.activity:activity-ktx:1.3.0 ออกอากาศแล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0

  • ชิ้นงาน Activity Compose - ชิ้นงาน activity-compose มีเมธอดส่วนขยาย setContent สำหรับโฮสต์ UI ของ Jetpack Compose ในกิจกรรม และมี Wrapper เฉพาะของ Compose สำหรับโต้ตอบกับ ComponentActivity API เพื่อจัดการปุ่มย้อนกลับของระบบและ Activity Result API ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบ
  • สัญญา CaptureVideo - CaptureVideo ActivityResultContract จะแทนที่สัญญา 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 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • CaptureVideo ActivityResultContract ใหม่จะแสดงผลบูลีนไปยัง 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 ที่ส่งคืนเป็นออบเจ็กต์ที่มีการจัดการซึ่งระบบจดจำในนามของคุณ การพยายามเรียกใช้ unregister ActivityResultLauncher ที่ส่งคืนจะทำให้เกิดข้อผิดพลาด (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current และ LocalActivityResultRegistryOwner.current จะแสดงผลค่าที่ เป็น Null ได้ เพื่อให้ระบุได้ดียิ่งขึ้นว่าค่าดังกล่าวพร้อมใช้งาน ในการเรียบเรียงปัจจุบันหรือไม่ API ที่ต้องใช้ API เหล่านั้น เช่น BackHandler และ rememberLauncherForActivityResult() ตามลำดับ จะแสดงข้อผิดพลาดที่อธิบายได้มากขึ้นหาก ไม่พบเจ้าของที่เกี่ยวข้อง NavHost จะทำงานได้ แม้ว่าจะไม่พบ OnBackPressedDispatcherOwner เช่น กรณีที่ดูตัวอย่าง NavHost (I7d8b4)

การแก้ไขข้อบกพร่อง

  • ตอนนี้ BackHandler จะสกัดกั้นการกดกลับได้อย่างถูกต้องในกรณีที่ Activity เป็น STOPPED จากนั้นเป็น STARTED อีกครั้ง และมีการเพิ่มการเรียกกลับอื่นๆ ด้วย 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)

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 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 จะไม่เพิ่มการทดสอบ การอ้างอิงไปยัง classpath ของรันไทม์อีกต่อไป (Ifd8b3)
  • แก้ไขปัญหาเกี่ยวกับ BackHandler ที่ยังคงใช้ Lambda ของ onBack ที่ตั้งค่าไว้ก่อนหน้านี้หลังจากมีการจัดองค์ประกอบใหม่ (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 ที่ประกอบกันได้ สำหรับการรับผลลัพธ์จากกิจกรรมภายใน Composable (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 เมื่อใช้ Compose 1.0.0-alpha12 ผู้ใช้ Compose ทุกคนควรใช้ 1.3.0-alpha02 ขึ้นไป (b/179911234)

การเปลี่ยนแปลง API

  • BackHandler API สามารถใช้เพื่ออนุญาตให้ 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 สำหรับ API เฉพาะของ androidx.activity
    • 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: ตอนนี้ระบบจะบันทึกและกู้คืนการเรียกกลับ ActivityResultRegistry อย่างถูกต้องแล้ว เพื่อไม่ให้มีการทำซ้ำการเรียกกลับใน 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)

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้กิจกรรมจะขึ้นอยู่กับวงจร 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 พร้อมใช้งานและแสดงผลลัพธ์
    • API นี้ใช้โดย FragmentActivity ใน Fragment 1.3.0 เพื่อคืนค่าสถานะของ FragmentManager โดย Listener ที่เพิ่มลงในคลาสย่อยของ FragmentActivity จะทำงานหลังจาก Listener นั้น
    • API นี้ใช้โดย AppCompatActivity ใน AppCompat 1.3.0-alpha02 ขึ้นไป โดย Listener ที่เพิ่มลงในคลาสย่อยของ AppCompatActivity จะทำงานหลังจาก Listener นั้น
  • ViewTree Support: ComponentActivity ตอนนี้รองรับ API ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) และ ViewTreeSavedStateRegistryOwner ที่เพิ่มเข้ามาใน Lifecycle 2.3.0 และ SavedState 1.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 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ 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)

  • Lifecycle observers จะถูกนำออกอย่างถูกต้องเมื่อเรียกใช้ unregister() ใน ActivityResultLauncher (b/165608393)

การเปลี่ยนแปลงลักษณะการทำงาน

  • ตอนนี้ ActivityResultRegistry จะแสดง IllegalStateException เมื่อพยายามเรียกใช้ register() ที่มี LifecycleOwner ซึ่ง Lifecycle ของ LifecycleOwner นั้นถึง 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)
    • API นี้ใช้โดย FragmentActivity ใน Fragment 1.3.0-alpha08 เพื่อคืนค่าสถานะของ FragmentManager โดย Listener ที่เพิ่มลงในคลาสย่อยของ FragmentActivity จะทำงานหลังจาก Listener นั้น (I513da)
    • API นี้ใช้โดย AppCompatActivity ใน AppCompat 1.3.0-alpha02 โดย Listener ที่เพิ่มลงในคลาสย่อยของ AppCompatActivity จะทำงานหลังจาก Listener นั้น (I513da)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาเกี่ยวกับActivityResultFragmentVersionDetectorการตรวจสอบ Lint ที่ทำให้เกิดข้อผิดพลาดเมื่อใช้ 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 ใหม่ที่ยืนยันว่าคุณใช้ Fragment 1.3.0-alpha07 เมื่อใช้ Activity Result API เพื่อหลีกเลี่ยงข้อขัดข้องขณะรันไทม์เนื่องจากปัญหา "รหัสคำขอไม่ถูกต้อง" และคำขอสิทธิ์ที่ใช้งานไม่ได้ซึ่งเกิดจากการใช้ Fragment เวอร์ชันเก่า (b/152554847)

การมีส่วนร่วมภายนอก

  • แก้ไข ArrayIndexOutOfBoundsException เมื่อ แยกวิเคราะห์ผลลัพธ์สำหรับสัญญา RequestPermission Activity 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

การเปลี่ยนแปลง 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 ที่นี่และใน Fragment 1.3.0-alpha04 (aosp/1278717)
  • สัญญา GetContents, OpenDocuments และ RequestPermissions ได้รับการเปลี่ยนชื่อเป็น GetMultipleContents, OpenMultipleDocuments และ RequestMultiplePermissions ตามลำดับ (aosp/1280161)
  • ตอนนี้ ComponentActivity ได้ติดตั้งใช้งานอินเทอร์เฟซ ActivityResultRegisteryOwner แล้ว (aosp/1290888)
  • - เราได้เลิกใช้งาน startActivityForResult()/onActivityResult() และ onRequestPermissionsResult() API ใน ComponentActivity แล้ว โปรดใช้ Activity Result API (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 ที่เพิ่มใน Lifecycle 2.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 เป็นโรงงานเริ่มต้นที่ใช้เมื่อใช้ 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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงการขึ้นต่อกัน

  • ตอนนี้กิจกรรมขึ้นอยู่กับ Lifecycle 2.2.0-rc03 และ Lifecycle ViewModel SavedState 1.0.0-rc03

เวอร์ชัน 1.1.0-rc02

7 พฤศจิกายน 2019

androidx.activity:activity:1.1.0-rc02 และ androidx.activity:activity-ktx:1.1.0-rc02 เปิดตัวแล้ว เวอร์ชัน 1.1.0-rc02 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงการขึ้นต่อกัน

  • ตอนนี้กิจกรรมจะขึ้นอยู่กับวงจรลูกค้า2.2.0-rc02

เวอร์ชัน 1.1.0-rc01

23 ตุลาคม 2019

androidx.activity:activity:1.1.0-rc01 และ androidx.activity:activity-ktx:1.1.0-rc01 จะเปิดตัวโดยไม่มีการเปลี่ยนแปลงจาก 1.1.0-beta01 เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-beta01

9 ตุลาคม 2019

androidx.activity:activity:1.1.0-beta01 และ androidx.activity:activity-ktx:1.1.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.1.0-beta01 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงการขึ้นต่อกัน

  • ตอนนี้กิจกรรมขึ้นอยู่กับ 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 ที่เสถียรแล้ว

แก้ไขข้อบกพร่อง

เวอร์ชัน 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 ต้องใช้ Lifecycle 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 ใน Fragment 1.1.0 และ AppCompatActivity ใน AppCompat 1.1.0
  • activity-ktx: โมดูล activity-ktx มีส่วนขยายพร็อพเพอร์ตี้ Kotlin by viewModels สำหรับการเข้าถึง ViewModel ระบบจะรวมโมดูลนี้โดยอัตโนมัติเมื่อคุณรวม fragment-ktx จาก Fragment 1.1.0
  • OnBackPressedDispatcher: ตอนนี้คุณสามารถลงทะเบียน OnBackPressedCallback จาก LifecycleOwner ใดก็ได้ (เช่น Fragment) เพื่อสกัดกั้นเหตุการณ์ปุ่มย้อนกลับของระบบ ซึ่งเป็นทางเลือกแทนการเขียนทับ onBackPressed() เพิ่ม Lambda ที่มีเวอร์ชันตัวรับ addCallback ลงใน activity-ktx แล้ว ดูรายละเอียดเพิ่มเติมได้ที่จัดทำเอกสารประกอบการนำทางย้อนกลับที่กำหนดเอง
  • การเลิกใช้งาน onRetainCustomNonConfigurationInstance: เราได้เลิกใช้งาน API onRetainCustomNonConfigurationInstance() และ API getLastCustomNonConfigurationInstance() ที่เกี่ยวข้องแล้ว เราขอแนะนำอย่างยิ่งให้ใช้ ViewModel เพื่อจัดเก็บสถานะที่ไม่ใช่การกำหนดค่า เนื่องจากมีโซลูชันที่ประกอบได้ซึ่งเหมาะสำหรับ 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/953431
  • onBackPressed() สำหรับ ComponentActivity มีการทำเครื่องหมายอย่างชัดเจนเป็น @MainThread aosp/952721

แก้ไขข้อบกพร่อง

  • แก้ไขปัญหา ConcurrentModificationException เมื่อโทรหา remove() จากภายในเมธอด handleOnBackPressed() ของ OnBackPressedCalback ที่เพิ่มด้วย LifecycleOwner b/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 มี Callback ที่กำหนดขอบเขตตัวรับสำหรับ 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)
  • เราได้เลิกใช้งาน OnBackPressedCallback ที่เกี่ยวข้องใน 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คำอธิบายประกอบคลาสsetContentView()ที่ช่วยให้คุณระบุได้ว่าควรขยายไฟล์ 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 สำหรับจัดเก็บออบเจ็กต์ที่ต้องคงอยู่เมื่อมีการเปลี่ยนแปลงการกำหนดค่า