กิจกรรม

เข้าถึง API ที่ประกอบกันได้ซึ่งต่อยอดมาจากกิจกรรม
อัปเดตล่าสุด รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
4 กันยายน 2024 1.9.2 - - 1.10.0-alpha02

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

หากต้องการเพิ่มทรัพยากร Dependency สำหรับกิจกรรม คุณต้องเพิ่มที่เก็บ Google Maven ไปยัง อ่านที่เก็บ Maven ของ Google เพื่อดูข้อมูลเพิ่มเติม

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

ดึงดูด

dependencies {
    def activity_version = "1.9.2"

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

Kotlin

dependencies {
    val activity_version = "1.9.2"

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

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

ความคิดเห็น

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

สร้างรายการใหม่

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

เวอร์ชัน 1.10

เวอร์ชัน 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: แก้ไขปัญหาที่ API เขียนกิจกรรม PredictiveBackHandler จะยังคงจัดการท่าทางสัมผัสการย้อนกลับของระบบในเฟรมที่ปิดใช้ ซึ่งอาจส่งผลให้ไลบรารี เช่น การเขียนการนำทางต้องจัดการแม้จะไม่มีสแต็ก 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 แล้ว เวอร์ชันนี้ได้รับการพัฒนาใน Branch ภายใน

ฟีเจอร์ใหม่

  • เพิ่มการรองรับฟีเจอร์ใหม่ของ PhotoPicker ที่เปิดตัวใน Android V ซึ่งรวมถึงความสามารถในการเลือกรูปภาพตามลำดับและเลือกแท็บ (อัลบั้มหรือรูปภาพ) ที่ควรมองเห็นได้ในตอนแรก

เวอร์ชัน 1.9

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

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

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

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

  • แก้ไขการถดถอยประสิทธิภาพของการเริ่มต้นกิจกรรมซึ่งนำมาใช้ในกิจกรรม 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 วิธีนี้ทำให้มั่นใจได้ว่าระบบจะส่งต่อค่าโมฆะของ "ทั่วไป" ในสัญญาที่ส่งไปยัง register ไปยัง ActivityResultLauncher ที่ส่งกลับอย่างถูกต้อง (I121f0)
  • เขียน ActivityResult ใหม่เป็นภาษา Kotlin ส่วนขยาย Kotlin ของ ActivityResult ที่รองรับการทำลายลงในช่อง 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 ซึ่งเป็นส่วนหนึ่งของ Conversion ตอนนี้เมธอด getContract จึงเป็นพร็อพเพอร์ตี้ Kotlin แบบนามธรรม การเปลี่ยนแปลงนี้เข้ากันได้กับไบนารี แต่การแบ่งแหล่งที่มาในกรณีที่การใช้งาน ActivityResultLauncher เขียนด้วยภาษา Kotlin (Id4615)
  • ตอนนี้ PickVisualMediaRequest มีระดับ API ขั้นต่ำที่ 19 ระดับเดียวกับสัญญาผลของกิจกรรมของ PickVisualMedia (รหัส 6e21)

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

เวอร์ชัน 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 มีการเรียกกลับแบบคาดการณ์ใหม่สำหรับการจัดการท่าทางสัมผัสการย้อนกลับที่เริ่มต้น ความคืบหน้าตลอดท่าทางสัมผัส และท่าทางสัมผัสการย้อนกลับที่ถูกยกเลิกนอกเหนือจากการเรียกกลับ handleOnBackPressed() ก่อนหน้าเมื่อมีการกระทำท่าทางสัมผัสย้อนกลับ นอกจากนี้ยังมาพร้อมกับ PredictiveBackHandler Composable เพื่อจัดการเหตุการณ์ท่าทางสัมผัสการย้อนกลับแบบคาดเดาได้ในการเขียนกิจกรรม โดยจะแสดงโฟลว์ของออบเจ็กต์ 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

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

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

  • ComponentActivity จะไม่แสดง NPE ใน Android 13 อีกเมื่อได้รับ onBackPressed() Callback และกิจกรรมเปลี่ยนเป็น DESTROYED แล้ว (Idb055, b/291869278)
  • ลบการใช้งาน API ของ isAtLeastU() แบบทดลอง (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 จะยกเลิก Callback ที่ถูกนำออกระหว่างท่าทางสัมผัสการย้อนกลับแบบคาดเดาได้อย่างถูกต้องแล้ว (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 แล้ว เวอร์ชันนี้ได้รับการพัฒนาใน Branch ภายใน

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

  • กิจกรรมจะมีคลาส BackEventCompat ซึ่งทำหน้าที่เป็น BackEvent เวอร์ชันที่เข้ากันได้แบบย้อนหลังซึ่งแยกออกจากคลาส BackEvent ของเฟรมเวิร์ก
  • การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ: ตอนนี้เมธอด handleOnBackStarted และ handleOnBackProgressed ของ OnBackPressedCallback ได้รับอินสแตนซ์ androidx.activity.BackEventCompat แทนที่จะเป็นคลาส android.window.BackEvent ของเฟรมเวิร์ก API ของ @VisibleForTesting ที่เทียบเท่าใน 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 แล้ว รายการนี้ปล่อยจาก Branch ภายใน

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

เวอร์ชัน 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 แล้ว รายการนี้ปล่อยจาก Branch ภายใน

ฟีเจอร์ใหม่

  • เพิ่ม ComponentActivity.setUpEdgeToEdge() เพื่อให้สามารถตั้งค่าการแสดงผลแบบไร้ขอบได้โดยง่ายด้วยวิธีที่เข้ากันได้แบบย้อนหลัง

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

  • ตอนนี้เราได้เลิกใช้งาน ComponentActivity.onBackPressed() แล้วเพื่อเปลี่ยนไปใช้ API สำหรับรองรับการจัดการอีกครั้ง ตอนนี้นักพัฒนาแอปควรใช้ OnBackPressedDispatcher แทนการลบล้างวิธีการนี้ (Ibce2f, b/271596918)
  • ตอนนี้ ComponentDialog และ ComponentActivity มี API สาธารณะ initViewTreeOwners() เพื่อใช้เริ่มต้นเจ้าของแผนผังมุมมองทั้งหมดก่อนตั้งค่ามุมมองเนื้อหา (Ibdce0, b/261314581)

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

  • แก้ไขปัญหาที่ Fragments ใช้งานไม่ได้กับ MenuHosts อย่างไม่ถูกต้องและทำให้เมนูอื่นๆ ในกิจกรรมมีลักษณะการทำงานที่ไม่คาดคิด (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 แล้ว พัฒนาจาก Branch ภายใน

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

เวอร์ชัน 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 แล้ว รายการนี้สร้างขึ้นจาก Branch ภายใน

ฟีเจอร์ใหม่

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

Conversion ของ Kotlin

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

มีการเพิ่ม 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 จะใช้บริการ 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 Composable ที่ทำเครื่องหมายกิจกรรมว่าพร้อมเรียกใช้ 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 เมื่อเริ่มต้นใช้งานเสร็จสมบูรณ์ เพื่อให้แน่ใจว่าโค้ดทั้งหมดที่ทำงานระหว่างลำดับการเริ่มต้นแบบหลายเฟรมจะได้รับการรวมไว้และให้ความสำคัญกับการคอมไพล์ในเบื้องหลัง
  • การส่งสัญญาณ มาโครการเปรียบเทียบและ Play Vitals เมื่อระบบควรถือว่าแอปพลิเคชันของคุณรวบรวมไว้ทั้งหมดสําหรับเมตริกสตาร์ทอัพ เพื่อให้คุณติดตามประสิทธิภาพได้

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

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

เวอร์ชัน 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)
  • ระบบจะส่ง Callback สำหรับชั้นเรียนที่ลบล้าง Callback ของ ComponentActivity ให้ 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 และการโทรกลับได้รับการลงทะเบียนโดยไม่มี 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 สำหรับ ActivityResultContract ของ PickVisualMedia เพื่อให้ตอนนี้สามารถทำงานร่วมกับ ACTION_OPEN_DOCUMENT ในอุปกรณ์ที่ใช้ Android 10 และต่ำกว่า

เวอร์ชัน 1.6.0-alpha04

18 พฤษภาคม 2022

ปล่อย androidx.activity:activity:1.6.0-alpha04 และ androidx.activity:activity-ktx:1.6.0-alpha04 แล้ว

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

  • แก้ไขข้อผิดพลาดใน PickVisualMediaRequest ที่พยายามสร้างคำขอผ่านเครื่องมือสร้างหรือฟังก์ชัน Kotlin ระดับบนสุดจะส่งผลให้เกิดสแต็กโอเวอร์โฟลว์
  • ผสานรวม OnBackInvokedCallback ใน Android 13 Dev เบต้า 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 เบต้า 1 สำหรับนักพัฒนาซอฟต์แวร์ Android 13 เท่านั้น

ฟีเจอร์ใหม่

  • เพิ่ม ActivityResultContracts.PickVisualMedia และ ActivityResultContracts.PickMultipleVisualMedia สำหรับการให้สัญญาที่เข้ากันได้แบบย้อนหลังโดยใช้ MediaStore.ACTION_PICK_IMAGES เมื่อเครื่องมือเลือกรูปภาพพร้อมใช้งาน และ Intent.ACTION_OPEN_DOCUMENT เมื่อเครื่องมือดังกล่าวไม่พร้อมใช้งาน
  • ผสานรวม OnBackInvokedCallback ใน Android 13 Dev เบต้า 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 แล้ว

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

ฟีเจอร์ใหม่

  • การเปลี่ยนแปลงที่ผสานรวมใน 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)

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

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

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

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

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

เวอร์ชัน 1.4.0-alpha01

1 กันยายน 2021

ปล่อย androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 และ androidx.activity:activity-ktx:1.4.0-alpha01 แล้ว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ตอนนี้ AndroidX ComponentActivity ใช้อินเทอร์เฟซ MenuHost วิธีนี้จะช่วยให้คอมโพเนนต์เพิ่มรายการในเมนูไปยัง ActionBar ได้โดยการเพิ่มอินสแตนซ์ MenuProvider ลงในกิจกรรม คุณสามารถเพิ่ม MenuProvider แต่ละรายการด้วย Lifecycle ที่จะควบคุมระดับการเข้าถึงรายการในเมนูเหล่านั้นโดยอัตโนมัติตามสถานะของ Lifecycle และจัดการการนำ MenuProvider ออกเมื่อทำลาย Lifecycle ได้ (I3b608):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

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

  • ตอนนี้ ActivityResultRegistry จะส่งข้อความ IllegalStateException เมื่อพยายามโทรหา launch() ใน ActivityResultLauncher ที่ไม่ได้ลงทะเบียนหรือที่ได้รับแล้ว ไม่ได้ลงทะเบียน (Ida75d, b/192567522)

การสนับสนุนภายนอก

  • ขอขอบคุณ 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 มีคอมมิตเหล่านี้

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

  • กิจกรรมตอนนี้ขึ้นอยู่กับ 1.5.21 ของ Kotlin
  • ตอนนี้การเขียนกิจกรรมจะขึ้นอยู่กับการเขียน 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 สําหรับจัดการปุ่มย้อนกลับของระบบและ API ของผลลัพธ์กิจกรรม โปรดดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
  • สัญญา CaptureVideo - ActivityResultContract ของ CaptureVideo จะแทนที่สัญญา 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 มีคอมมิตเหล่านี้

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

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

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

  • ตอนนี้ฟังก์ชัน rememberLauncherForActivityResult จะแสดงผล Launcher ที่เลิกใช้ฟังก์ชัน unregister() แล้ว rememberLauncherForActivityResult จะเป็นผู้จัดการการลงทะเบียนและยกเลิกการลงทะเบียน Launcher โดยอัตโนมัติ (I2443e)

ความเข้ากันได้กับการเขียน

  • 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

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

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

  • ตอนนี้ BackHandler จะสกัดกั้นการกดย้อนกลับได้อย่างถูกต้องใน เหตุการณ์ที่กิจกรรมนั้นคือ STOPPED จากนั้น STARTED อีกครั้ง และ เพิ่ม Callback ด้วย LifecycleOwner (I71de6, b/182284739)
  • การใช้ส่วนขยายเมธอด launch() กับ ActivityResultContract ที่มีอินพุต Unit จะไม่ทำให้เกิด NullPointerException (I76282, b/183837954)

เวอร์ชัน 1.3.0-alpha05

24 มีนาคม 2021

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

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

  • จากกิจกรรม 1.2.2: แก้ไขปัญหาในการตรวจสอบ Lint ของ InvalidFragmentVersionForActivityResult ที่ทำให้เกิดผลบวกลวงเมื่อใช้ Fragment 1.3.1 ขึ้นไป (I54da1, b/182388985)
  • จากกิจกรรม 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)
  • การเขียนของกิจกรรมไม่เพิ่มการทดสอบอีกต่อไป ทรัพยากร Dependency ไปยังคลาสพาธรันไทม์ (Ifd8b3)
  • แก้ไขปัญหาเกี่ยวกับ BackHandler ซึ่งยังคงมีการใช้ค่า onBack lambda ที่ตั้งไว้ก่อนหน้านี้หลังจากการจัดองค์ประกอบใหม่ (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 มีคอมมิตเหล่านี้

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

  • แก้ไขปัญหาในการเขียนกิจกรรม 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)

ปัญหาที่ทราบ

  • การใช้ฟีเจอร์การเขียนกิจกรรม 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 ที่บอกให้คุณใช้ 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 มีคอมมิตเหล่านี้

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

  • แก้ไขปัญหาในการตรวจสอบ Lint ของ InvalidFragmentVersionForActivityResult ที่ทำให้เกิดผลบวกลวงเมื่อใช้ 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

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

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

  • reportFullyDrawn() Backport - เมธอด 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 คนออกอย่างถูกต้องเมื่อเรียก unregister() ใน ActivityResultLauncher (b/165608393)

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

  • ตอนนี้ ActivityResultRegistry จะส่ง IllegalStateException เมื่อพยายามเรียก register() ด้วย LifecycleOwner ซึ่งมี Lifecycle ที่เลื่อนเป็น STARTED แล้ว (b/165435866)

อัปเดตเอกสารแล้ว

  • เอกสารประกอบของ ContextAware จะลิงก์ไปยัง LifecycleOwner เพื่อไฮไลต์ Callback ของ 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 รายการซึ่งจะได้รับการ Callback ก่อน Activity.onCreate() พื้นฐาน (b/161390636)
    • ส่วนขยาย Kotlin ที่ระงับ withContextAvailable() จะช่วยให้คุณเรียกใช้บล็อกแบบไม่ระงับเมื่อมีบริบทและแสดงผลลัพธ์ได้ (I8290C)
    • FragmentActivity ใช้ API นี้ใน Fragment 1.3.0-alpha08 เพื่อคืนค่าสถานะของ FragmentManager ผู้ฟังทั้งหมดที่เพิ่มลงในคลาสย่อยของ FragmentActivity จะทำงานหลังจาก Listener นั้น (I513da)
    • AppCompatActivity ใช้ API นี้ใน AppCompat 1.3.0-alpha02 ผู้ฟังทั้งหมดที่เพิ่มลงในคลาสย่อยของ AppCompatActivity จะทำงานหลังจาก Listener นั้น (I513da)

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

  • แก้ไขปัญหาการตรวจสอบ Lint ActivityResultFragmentVersionDetector ที่ทำให้โปรแกรมไม่ทำงานเมื่อใช้ 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

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

การสนับสนุนภายนอก

  • แก้ไขArrayIndexOutOfBoundsExceptionเมื่อ แยกวิเคราะห์ผลลัพธ์สำหรับกิจกรรม RequestPermission สัญญาผลลัพธ์ (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 ไปยัง Callback ที่ลงทะเบียนไว้ หากไม่มีผลลัพธ์ (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 แก้ไขปัญหาที่ระบบจะทริกเกอร์ Callback ก่อนที่สถานะจะมาถึง 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)
  • - เลิกใช้งาน API startActivityForResult()/onActivityResult() และ onRequestPermissionsResult() บน ComponentActivity แล้ว โปรดใช้ API ของผลลัพธ์กิจกรรม (b/154751887)

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

  • เมื่อใช้สัญญา GetMultipleContents และ OpenMultipleDocuments และเลือกรายการเดียว ตอนนี้ระบบจะส่งคืนสัญญาดังกล่าวกลับไปยัง Callback อย่างถูกต้อง (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)
  • ขณะนี้ 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 เมื่อพยายามส่งผลลัพธ์ไปยัง Callback ที่ยังไม่ได้ลงทะเบียนใหม่หลังจากการเปลี่ยนแปลงการกำหนดค่า ตอนนี้ 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() ได้โดยไม่ต้องลบล้างเมธอดในกิจกรรมหรือ 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับ API ของ ViewTreeLifecycleOwner.get(View) ที่เพิ่มลงในวงจร 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

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

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

  • กิจกรรมตอนนี้ขึ้นอยู่กับวงจรการใช้งาน 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 จะขึ้นอยู่กับอายุการใช้งาน 2.2.0-alpha02 (aosp/1007817)
  • activity-ktx เพิ่มทรัพยากร Dependency ใน lifecycle-runtime-ktx แล้ว คุณไม่จำเป็นต้องเพิ่มลงในการอ้างอิงอย่างชัดแจ้งเมื่อใช้ 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 สำหรับเข้าถึง ViewModels ระบบจะรวมโมดูลนี้โดยอัตโนมัติเมื่อคุณรวม fragment-ktx จาก Fragment 1.1.0
  • OnBackPressedDispatcher: ทางเลือกที่ประกอบกันได้เพื่อใช้ลบล้าง onBackPressed() ตอนนี้คุณสามารถลงทะเบียน OnBackPressedCallback จาก LifecycleOwner (เช่น ส่วนย่อย) เพื่อสกัดกั้นเหตุการณ์ปุ่มย้อนกลับของระบบได้แล้ว เพิ่ม lambda ที่มีตัวรับสัญญาณเวอร์ชัน addCallback ไปยัง activity-ktx แล้ว ดูรายละเอียดเพิ่มเติมได้ที่มอบเอกสารประกอบเกี่ยวกับการนำทางกลับที่กำหนดเอง
  • การเลิกใช้งาน onplaceholderCustomNonConfigurationInstance: เลิกใช้งาน onRetainCustomNonConfigurationInstance() และ API ของ getLastCustomNonConfigurationInstance() ที่เกี่ยวข้องแล้ว ขอแนะนำเป็นอย่างยิ่งให้ใช้ ViewModels เพื่อจัดเก็บสถานะที่ไม่มีการกำหนดค่า เนื่องจากมีโซลูชันที่ประกอบกันได้ซึ่งเหมาะสำหรับ ViewModelStoreOwner ที่ทำให้การเป็นเจ้าของออบเจ็กต์ที่เก็บรักษาไว้ชัดเจนและมีการเรียกกลับ onCleared() สำหรับการล้างข้อมูลทรัพยากรเมื่อกิจกรรมถูกทำลายในท้ายที่สุด

เวอร์ชัน 1.0.0-rc01

2 กรกฎาคม 2019

ระบบเผยแพร่ androidx.activity:activity:1.0.0-rc01 และ androidx.activity:activity-ktx:1.0.0-rc01 แล้วโดยไม่มีการเปลี่ยนแปลงจาก 1.0.0-beta01 คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

เวอร์ชัน 1.0.0-beta01

5 มิถุนายน 2019

ระบบเผยแพร่ androidx.activity::activity:1.0.0-beta01 และ androidx.activity:activity-ktx:1.0.0-beta01 แล้วโดยไม่มีการเปลี่ยนแปลงจาก 1.0.0-alpha08 คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

เวอร์ชัน 1.0.0-alpha08

7 พฤษภาคม 2019

ปล่อย androidx.activity:activity:1.0.0-alpha08 และ androidx.activity:activity-ktx:1.0.0-alpha08 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

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

  • การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ: ระบบนำเมธอด addOnBackPressedCallback และ removeOnBackPressedCallback ที่เลิกใช้งานก่อนหน้านี้ออกจาก ComponentActivity แล้ว aosp/953857
  • ตอนนี้เมธอด setEnabled() และ isEnabled() ของ OnBackPressedCallback ถือเป็นที่สิ้นสุด b/131416833
  • ตอนนี้เมธอด remove() ของ OnBackPressedCallback สิ้นสุดแล้ว aosp/952720
  • ตอนนี้ OnBackPressedDispatcher มีเครื่องมือสร้างแบบสาธารณะที่จะช่วยให้คุณสร้างอินสแตนซ์ของคุณเองสำหรับการทดสอบได้ ฯลฯ aosp/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 จะเป็นคลาส Abstract ที่สามารถเปิดหรือปิดใช้ได้ แต่จะเรียกใช้ handleOnBackPressed() เมื่อมีการเรียกเมธอด isEnabled() ใหม่ที่มีค่าเป็น "true" เท่านั้น ซึ่งคุณต้องจัดการกับปุ่มย้อนกลับ (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 ซึ่งทำให้นำ Callback ออกได้โดยไม่ต้องอ้างอิง 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 เพื่อให้ตรงกับการอ้างอิงของโมดูล 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() Callback โดยไม่ต้องลบล้างเมธอด ในกิจกรรม
  • เพิ่มผู้รับมอบสิทธิ์พร็อพเพอร์ตี้ Kotlin ของ by viewModels() ใหม่สำหรับการเรียกข้อมูลแล้ว ViewModel จาก ComponentActivity
  • ตอนนี้กิจกรรมการป้อนข้อมูลที่รอดำเนินการ (เช่น การคลิก) ถูกยกเลิกใน onStop() แล้ว

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

  • การติดตั้งใช้งาน LifecycleOwner และ ViewModelStoreOwner ได้รับการ ย้ายจาก FragmentActivity ไปที่ ComponentActivity
  • onRetainCustomNonConfigurationInstance เลิกใช้งานแล้ว ใช้ ViewModel สำหรับจัดเก็บออบเจ็กต์ที่รอดพ้นจากการเปลี่ยนแปลงการกำหนดค่า