กิจกรรม

เข้าถึง API แบบคอมโพสิเบิลที่สร้างขึ้นจากกิจกรรม
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
20 พฤษภาคม 2025 1.10.1 1.11.0-rc01 - 1.12.0-alpha01

การประกาศทรัพยากร 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-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 ที่ได้จากฟังก์ชัน handleOnBackStarted และ handleOnBackProgressed ของ OnBackPressedCallback

การอัปเดตทรัพยากร 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 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม 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 ที่ทริกเกอร์เครื่องมือเลือกรูปภาพจะไม่มอบสิทธิ์ให้บริการ 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 นอกจากนี้ยังมีกฎใหม่ใน Lint ที่ตรวจสอบเมื่อมีการแคสต์ LocalContext เป็น Activity อย่างไม่ถูกต้อง (I7746a, b/283009666)

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

  • จากกิจกรรม 1.9.3: PredictiveBackHandler จะไม่เรียกใช้การเรียกกลับอีกต่อไปหลังจากปิดใช้ตัวแฮนเดิล ซึ่งจะแก้ไขปัญหาที่ 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 และ PickMultipleVisualMedia ที่ทริกเกอร์เครื่องมือเลือกรูปภาพจะไม่มอบสิทธิ์ให้บริการ 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: แก้ไขปัญหาที่ Activity Compose PredictiveBackHandler API จะจัดการท่าทางสัมผัส "กลับ" ของระบบในเฟรมที่ปิดใช้ต่อไป ซึ่งอาจส่งผลให้ไลบรารีอย่าง Navigation Compose จัดการ "กลับ" แม้ว่าสแต็ก "กลับ" จะว่างเปล่าก็ตาม ส่งผลให้ระบบแสดง 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 มี lthcocommits เหล่านี้

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

  • แก้ไขปัญหาที่ Activity Compose PredictiveBackHandler API จะยังคงจัดการท่าทางสัมผัส "กลับ" ของระบบในเฟรมที่ปิดอยู่ ซึ่งอาจส่งผลให้ไลบรารีอย่าง Navigation Compose จัดการ "กลับ" แม้ว่าสแต็ก "กลับ" จะว่างเปล่าก็ตาม ส่งผลให้ระบบแสดง 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 มีการคอมมิตเหล่านี้

การอัปเดตทรัพยากรที่เกี่ยวข้อง

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

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

  • แก้ไขการถดถอยของประสิทธิภาพการเริ่มต้นกิจกรรมที่พบใน กิจกรรม 1.9.0-alpha02 ซึ่งเกิดจากการเรียก OnBackPressedDispatcher เป็นส่วนหนึ่งของการสร้างกิจกรรม (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 แล้ว วิธีนี้ช่วยให้มั่นใจได้ว่าระบบจะส่งค่า Nullability ของพารามิเตอร์ทั่วไปในสัญญาที่ส่งไปยัง register ไปยัง ActivityResultLauncher ที่แสดงผลให้คุณอย่างถูกต้อง (I121f0)
  • ActivityResult เขียนใหม่เป็น Kotlin แล้ว เราได้ย้ายส่วนขยาย ActivityResult Kotlin ที่รองรับการจัดโครงสร้างใหม่ไปยังช่อง resultCode และ data จาก activity-ktx ไปยัง activity แล้ว (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 กลายเป็นพร็อพเพอร์ตี้ Kotlin นามธรรม การเปลี่ยนแปลงนี้เข้ากันได้กับไบนารี แต่จะไม่เข้ากันได้กับซอร์สโค้ดหากการใช้งาน ActivityResultLauncher เขียนด้วย Kotlin (Id4615)
  • ตอนนี้ PickVisualMediaRequest มี API ระดับต่ำสุด 19 เช่นเดียวกับสัญญาผลลัพธ์กิจกรรม PickVisualMedia (Id6e21)

อัปเดตทรัพยากร Dependency

เวอร์ชัน 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 ของสัญญากิจกรรมเครื่องมือเลือกรูปภาพให้ส่งคีย์ 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 มี Callback ใหม่สำหรับการย้อนกลับที่คาดการณ์ได้เพื่อจัดการการเริ่มท่าทางสัมผัสการย้อนกลับ ความคืบหน้าตลอดท่าทางสัมผัส และการยกเลิกท่าทางสัมผัสการย้อนกลับ นอกเหนือจาก Callback ของ handleOnBackPressed() ก่อนหน้านี้สำหรับเมื่อมีการเริ่มท่าทางสัมผัสการย้อนกลับ การดำเนินการนี้ยังมี PredictiveBackHandler Composable เพื่อจัดการเหตุการณ์ท่าทางสัมผัสเพื่อกลับแบบคาดการณ์ใน Activity Compose ด้วย ซึ่งจะแสดงรายการ BackEventCompat ที่ต้องรวบรวมใน Lamba ที่ระงับที่คุณระบุ
  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 ได้เพิ่ม PredictiveBackHandler Composable ใหม่เพื่อจัดการเหตุการณ์ท่าทางสัมผัสย้อนกลับแบบคาดการณ์ ซึ่งจะระบุ Flow ของออบเจ็กต์ BackEventCompat ที่ต้องรวบรวมใน Lamba ที่ระงับที่คุณระบุ

    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() 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 ไปยัง 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> ที่ไม่บังคับ ซึ่งช่วยให้เจ้าของตัวจัดเตรียมได้รับ 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)

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

  • แก้ไขปัญหาที่ Framgnet ทำให้ MenuHost เป็นโมฆะอย่างไม่ถูกต้องและทําให้เมนูอื่นๆ ในกิจกรรมมีลักษณะการทำงานที่ไม่คาดคิด (I9404e, b/244336571)

การเปลี่ยนแปลงอื่นๆ

  • ตอนนี้ ActivityResultRegister ใช้ Kotlin Random แทน 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 ที่แนบมากับ Window ผ่าน ViewTree API
  • ตอนนี้ IntentSenderRequest.Builder.setFlags() อนุญาตให้คุณตั้งค่า Flag หลายรายการจาก Intent ได้ ไม่ใช่แค่ Flag รายการเดียว

การเปลี่ยนรูปแบบเป็น 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 API

ตอนนี้ ComponentActivity มีอินสแตนซ์ FullyDrawnReporter ที่ช่วยให้คอมโพเนนต์หลายรายการรายงานได้เมื่อพร้อมสําหรับการโต้ตอบ ComponentActivity จะรอให้คอมโพเนนต์ทั้งหมดเสร็จสมบูรณ์ก่อนที่จะเรียกใช้ reportFullyDrawn() ในนามของคุณ API เหล่านี้จะจัดการข้อกำหนดด้านเวลาให้คุณและไม่จำเป็นต้องเรียกใช้เป็นส่วนหนึ่งของการเรียก onDraw

เราขอแนะนำให้เปิดใช้ API ต่อไปนี้

  • ส่งสัญญาณไปยังรันไทม์ Android เมื่อการเริ่มต้นทำงานเสร็จสมบูรณ์ เพื่อให้แน่ใจว่าโค้ดทั้งหมดที่ทำงานระหว่างลำดับการเริ่มต้นหลายเฟรมจะรวมอยู่และได้รับการจัดลำดับความสำคัญสำหรับการคอมไพล์ในเบื้องหลัง
  • การส่งสัญญาณ Macrobenchmark และ Play Vitals เมื่อแอปพลิเคชันควรได้รับการพิจารณาว่าดึงข้อมูลเมตริกการเริ่มต้นอย่างเต็มรูปแบบแล้ว เพื่อให้คุณติดตามประสิทธิภาพได้

เราได้เพิ่ม Activity Compose API 3 รายการเพื่อให้ใช้ FullyDrawnReporter จากคอมโพสิเบิลแต่ละรายการได้สะดวกยิ่งขึ้น ดังนี้

  • ReportDrawn บ่งบอกว่าคอมโพสิเบิลของคุณพร้อมสำหรับการโต้ตอบทันที
  • ReportDrawnWhen ใช้พริเนกต์ (เช่น list.count > 0) เพื่อระบุว่าคอมโพสิเบิลของคุณพร้อมสำหรับการโต้ตอบแล้ว
  • ReportDrawnAfter ใช้เมธอดการระงับ ซึ่งเมื่อดำเนินการเสร็จแล้ว แสดงว่าคุณพร้อมสำหรับการโต้ตอบ

การอัปเดตทรัพยากร Dependency

เวอร์ชัน 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() อนุญาตให้คุณตั้งค่า Flag หลายรายการจาก Intent ได้ ไม่ใช่แค่ Flag รายการเดียว (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 ที่แนบมากับ Window ผ่าน ViewTree API (Idca17, I73468 b/261162296)

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

  • เพิ่มคอมโพสิเบิล ReportDrawn ที่ทำเครื่องหมายกิจกรรมว่าพร้อมเรียกใช้ 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 API

ตอนนี้ ComponentActivity มีอินสแตนซ์ FullyDrawnReporter ที่ช่วยให้คอมโพเนนต์หลายรายการรายงานได้เมื่อพร้อมสําหรับการโต้ตอบ ComponentActivity จะรอให้คอมโพเนนต์ทั้งหมดเสร็จสมบูรณ์ก่อนที่จะเรียกใช้ reportFullyDrawn() ในนามของคุณ API เหล่านี้จะจัดการข้อกำหนดด้านเวลาให้คุณและไม่จำเป็นต้องเรียกใช้เป็นส่วนหนึ่งของการเรียก onDraw

เราขอแนะนำให้เปิดใช้ API ต่อไปนี้

  • ส่งสัญญาณไปยังรันไทม์ Android เมื่อการเริ่มต้นทำงานเสร็จสมบูรณ์ เพื่อให้แน่ใจว่าโค้ดทั้งหมดที่ทำงานระหว่างลำดับการเริ่มต้นหลายเฟรมจะรวมอยู่และได้รับการจัดลำดับความสำคัญสำหรับการคอมไพล์ในเบื้องหลัง
  • การส่งสัญญาณ Macrobenchmark และ Play Vitals เมื่อแอปพลิเคชันควรได้รับการพิจารณาว่าดึงข้อมูลเมตริกการเริ่มต้นอย่างเต็มรูปแบบแล้ว เพื่อให้คุณติดตามประสิทธิภาพได้

เราได้เพิ่ม Activity Compose API 2 รายการเพื่อให้ใช้ FullyDrawnReporter จากคอมโพสิเบิลแต่ละรายการได้สะดวกยิ่งขึ้น

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

อัปเดตทรัพยากร Dependency

เวอร์ชัน 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)
  • ตอนนี้คลาสที่ลบล้างการเรียกคืน onPictureInPictureModeChanged() ของ ComponentActivity จะเรียกใช้การเรียกคืนเสมอ (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 และมีการลงทะเบียนการเรียกกลับโดยไม่มี LifecycleOwner (Ia7ff7, b/238350794)
  • จากกิจกรรม 1.5.1: ตอนนี้ ComponentActivity จะส่งการเรียกเมนูไปยัง onPrepareOptionMenu(), onCreateOptionsMenu() และ onOptionsItemSelected() โดยไม่จําเป็นต้องเรียกฟังก์ชัน Super (Ie33c5, b/238057118)

อัปเดตทรัพยากร Dependency

  • จากกิจกรรม 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 เพื่อให้สอดคล้องกับ SDK ของ Tiramisu เบต้า 3

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

  • แก้ไขข้อขัดข้องในอุปกรณ์รุ่นเก่าเมื่อทำการตรวจสอบส่วนขยาย 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 ระดับบนสุดจะส่งผลให้เกิดสแต็กที่ล้น
  • ผสานรวม 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 เผยแพร่แล้ว

  • หมายเหตุ: เวอร์ชันนี้จะคอมไพล์กับ SDK ของ Android 13 Developer Beta 1 เท่านั้น

ฟีเจอร์ใหม่

  • เพิ่ม 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 เท่านั้น

ฟีเจอร์ใหม่

  • ผสานรวมการเปลี่ยนแปลงในตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์รุ่นที่ 2 ของ Android 13 ไว้ใน 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 และมีการลงทะเบียนการเรียกกลับโดยไม่มี LifecycleOwner (Ia7ff7, b/238350794)

  • ตอนนี้ ComponentActivity จะส่งการเรียกเมนูไปยังการลบล้าง onPrepareOptionMenu(), onCreateOptionsMenu() และ onOptionsItemSelected() อย่างถูกต้องโดยไม่ต้องเรียกฟังก์ชัน Super (Ie33c5, b/238057118)

การอัปเดตทรัพยากรที่เกี่ยวข้อง

เวอร์ชัน 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 ด้วย ซึ่งช่วยให้มุมมองมีวิธีทั่วไปในการเรียกข้อมูลตัวจัดเตรียมที่ถูกต้องไม่ว่าจะอยู่ใน ComponentActivity หรือ ComponentDialog
  • อินเทอร์เฟซ Callback - ตอนนี้ ComponentActivity ใช้ชุดอินเทอร์เฟซ Callback แบบโมดูลที่สามารถใช้แทน Callback ของ Activity อินเทอร์เฟซเหล่านี้ ได้แก่ OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • การผสานรวม CreationExtras - ตอนนี้ ComponentActivity สามารถให้บริการ ViewModelProvider.Factory แบบไม่มีสถานะผ่าน CreationExtras ของ Lifecycle 2.5.0 แล้ว

การเปลี่ยนแปลงอื่นๆ

  • เราได้เลิกใช้งานเครื่องมือสร้างที่ไม่มีพารามิเตอร์สําหรับ 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 มีการคอมมิตเหล่านี้

การอัปเดตทรัพยากร Dependencies

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

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

  • ตอนนี้ onPanelClosed() ของ ComponentActivity จะเรียก onPanelClosed() ของ super ด้วย ซึ่งจะแก้ไขปัญหาที่ระบบไม่เรียกใช้เมธอด 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 ด้วย ซึ่งช่วยให้มุมมองมีวิธีทั่วไปในการเรียกข้อมูลตัวจัดเตรียมที่ถูกต้อง ไม่ว่าจะอยู่ใน 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 เพื่อให้แน่ใจว่ามี 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 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 มีข้อผิดพลาด 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 มีคอมมิตเหล่านี้

การอัปเดตทรัพยากร Dependencies

  • ตอนนี้กิจกรรมจะขึ้นอยู่กับ 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

  • อาร์ติแฟกต์ Compose ของกิจกรรม - อาร์ติแฟกต์ activity-compose มีเมธอดส่วนขยาย setContent สำหรับโฮสต์ UI ของ Jetpack Compose ในกิจกรรมและ Compose Wrapper ที่เฉพาะเจาะจงสำหรับการโต้ตอบกับ 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 callbacks อย่างถูกต้องแล้ว เพื่อไม่ให้มี ActivityResultRegistry callbacks ซ้ำกันใน 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)
  • การใช้ Fragments เวอร์ชันที่ไม่เสถียรที่สูงกว่า 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 จะแสดงผลค่าที่นํามาใช้ได้เพื่อพิจารณาว่าค่านั้นพร้อมใช้งานในองค์ประกอบปัจจุบันหรือไม่ ตอนนี้ API ที่ต้องอาศัย API เหล่านั้น เช่น BackHandler และ rememberLauncherForActivityResult() ตามลำดับจะแสดงข้อผิดพลาดที่อธิบายรายละเอียดมากขึ้นหากไม่พบเจ้าของที่แท้จริง NavHost ใช้งานได้แล้วแม้ว่าจะไม่พบ OnBackPressedDispatcherOwner ก็ตาม ในกรณีแสดงตัวอย่าง NavHost (I7d8b4)

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

  • ตอนนี้ BackHandler จะขัดจังหวะการกดกลับอย่างถูกต้องในกรณีที่กิจกรรมคือ 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 มีการคอมมิตเหล่านี้

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

  • จาก กิจกรรม 1.2.2: แก้ไขปัญหาในการตรวจสอบ InvalidFragmentVersionForActivityResult lint ที่ทําให้ตรวจพบรายการที่ไม่ถูกต้องเมื่อใช้ Flank 1.3.1 ขึ้นไป (I54da1, b/182388985)
  • จาก Activity 1.2.2: ตอนนี้ ComponentActivity จะหลีกเลี่ยง ClassNotFoundException เมื่อเปิด Intent จาก ActivityResultContract ที่เคยเก็บไว้เป็นข้อมูลเพิ่มเติมใน Intent อื่น (Ieff05, b/182906230)

การอัปเดตทรัพยากร Dependency

เวอร์ชัน 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 ที่คอมโพสิเบิลแล้วสำหรับรับผลลัพธ์จากกิจกรรมภายในคอมโพสิเบิล (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 และไลบรารีที่ขึ้นอยู่กับ 1.3.0-alpha01 เช่น androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 จะทำให้เกิดข้อยกเว้น NoSuchMethodError: No static method setContent (b/179911234)

เวอร์ชัน 1.2.4

เวอร์ชัน 1.2.4

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 ที่ตรวจพบรายการที่ไม่ถูกต้องซึ่งแจ้งให้คุณใช้ F 1.3.0 เมื่อใช้บิลด์สแนปชอต อัลฟ่า เบต้า หรือ RC ของ F เวอร์ชันใหม่ (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 ที่ทําให้ได้ผลบวกลวงเมื่อใช้ Flank 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 API: ตอนนี้ ComponentActivity มี ActivityResultRegistry ที่ช่วยให้คุณจัดการโฟลว์ startActivityForResult()+onActivityResult() และ requestPermissions()+onRequestPermissionsResult() ได้โดยไม่ต้องลบล้างเมธอดใน Activity หรือ Fragment, เพิ่มความปลอดภัยของประเภทผ่าน ActivityResultContract และจัดเตรียมฮุกสําหรับการทดสอบโฟลว์เหล่านี้ ดูการรับผลลัพธ์จากกิจกรรมที่อัปเดตแล้ว
  • ContextAware: ตอนนี้ ComponentActivity ใช้ ContextAware แล้ว ซึ่งจะช่วยให้คุณเพิ่มอินสแตนซ์ OnContextAvailableListener อย่างน้อย 1 รายการที่จะได้รับการเรียกกลับก่อน Activity.onCreate() หลัก

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

  • ระบบจะนำLifecycle observers ออกอย่างถูกต้องเมื่อเรียกใช้ unregister() ใน ActivityResultLauncher (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() ช่วยให้คุณเรียกใช้บล็อกที่ไม่ระงับได้เมื่อบริบทพร้อมใช้งานและแสดงผลลัพธ์ (I8290c)
    • FragmentActivity ใช้ API นี้ใน Fragment 1.3.0-alpha08 เพื่อกู้คืนสถานะของ FragmentManager โปรแกรมฟังที่เพิ่มลงในคลาสย่อยของ FragmentActivity จะทำงานหลังจากโปรแกรมฟังนั้น (I513da)
    • AppCompatActivity ใช้ API นี้ใน AppCompat 1.3.0-alpha02 โปรแกรมฟังที่เพิ่มลงในคลาสย่อยของ AppCompatActivity จะทำงานหลังจากโปรแกรมฟังนั้น (I513da)

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

  • แก้ไขปัญหาเกี่ยวกับActivityResultFragmentVersionDetectorการตรวจสอบ Lint ที่ทำให้ 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 ที่ใช้ลงทะเบียนตัวเปิด (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 ที่นี่และในส่วนย่อย 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)
  • ตอนนี้ Activity Result 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 และจัดเตรียมฮุกสําหรับการทดสอบโฟลว์เหล่านี้ ดูการรับผลลัพธ์จากกิจกรรมที่อัปเดตแล้ว (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 ที่เพิ่มในวงจร 2.3.0-alpha01 เพื่อให้แสดงผลกิจกรรมเป็น LifecycleOwner สำหรับยอดดูที่เพิ่มลงในกิจกรรมโดยตรง (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

  • การผสานรวม SavedState ของ Lifecycle ViewModel: ตอนนี้ SavedStateViewModelFactory เป็นโรงงานเริ่มต้นที่ใช้เมื่อใช้ by viewModels(), ตัวสร้าง ViewModelProvider หรือ ViewModelProviders.of() ที่มี ComponentActivity หรือคลาสย่อยของ 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 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 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลงทรัพยากร 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 เวอร์ชันเสถียร

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

เวอร์ชัน 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 แล้ว คุณจึงไม่จำเป็นต้องเพิ่ม 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 มีส่วนขยายพร็อพเพอร์ตี้ by viewModels Kotlin สำหรับการเข้าถึง ViewModel ระบบจะรวมโมดูลนี้โดยอัตโนมัติเมื่อคุณใส่ fragment-ktx จากเศษ 1.1.0
  • OnBackPressedDispatcher: ตอนนี้คุณสามารถลงทะเบียน OnBackPressedCallback จาก LifecycleOwner ใดก็ได้ (เช่น ฟragment) เพื่อขัดจังหวะเหตุการณ์ปุ่มย้อนกลับของระบบ เพื่อเป็นทางเลือกในการคอมโพสิทแทนการลบล้าง onBackPressed() เพิ่ม Lambda ที่มีเวอร์ชันผู้รับ addCallback ลงใน activity-ktx แล้ว ดูรายละเอียดเพิ่มเติมได้ที่ระบุเอกสารประกอบเกี่ยวกับการนําทางกลับที่กําหนดเอง
  • การเลิกใช้งาน onRetainCustomNonConfigurationInstance: เราได้เลิกใช้งาน onRetainCustomNonConfigurationInstance() และ getLastCustomNonConfigurationInstance() API ที่เกี่ยวข้องแล้ว เราขอแนะนําอย่างยิ่งให้ใช้ ViewModel เพื่อจัดเก็บสถานะที่ไม่เกี่ยวข้องกับการกําหนดค่า เนื่องจากเป็นโซลูชันแบบคอมโพสิเบิลที่เหมาะกับ ViewModelStoreOwner ใดๆ ก็ตาม ซึ่งทําให้ความเป็นเจ้าของออบเจ็กต์ที่เก็บไว้ชัดเจน และมี onCleared() callback สําหรับล้างทรัพยากรเมื่อกิจกรรมถูกทำลายในที่สุด

เวอร์ชัน 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 ที่ยอมรับ Lamdba ที่ใช้ 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)
  • API ที่เกี่ยวข้องกับ 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 ซึ่งช่วยให้คุณระบุไฟล์ 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 สำหรับจัดเก็บออบเจ็กต์ที่ต้องอยู่รอดจากการเปลี่ยนแปลงการกําหนดค่า