กิจกรรม
อัปเดตล่าสุด | รุ่นที่เสถียร | ตัวเลือกถอนการอ้างสิทธิ์ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
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.3.1
เวอร์ชัน 1.9.0-beta01
20 มีนาคม 2024
ปล่อย androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
และ androidx.activity:activity-ktx:1.9.0-beta01
แล้ว เวอร์ชัน 1.9.0-beta01 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขการถดถอยประสิทธิภาพของการเริ่มต้นกิจกรรมซึ่งนำมาใช้ในกิจกรรม
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
- ตอนนี้ API ของ
OnBackPressedCallback
,BackHandler
และPredictiveBackHandler
จะเตือนเมื่อเรียกใช้onBackPressedDispatcher.onBackPressed()
เมื่อจัดการย้อนกลับ เนื่องจากจะทำให้ภาพเคลื่อนไหวย้อนกลับแบบคาดการณ์เสียหายเสมอ ดูรายละเอียดเพิ่มเติมได้ในคู่มือแนวทางปฏิบัติแนะนำ (1e4222, 2c950d, b/287505200)
แก้ไขข้อบกพร่อง
- หากมีการส่งเหตุการณ์ย้อนกลับจากระบบที่เริ่มต้นในระหว่างท่าทางสัมผัสการย้อนกลับที่คาดการณ์ที่ใช้งานอยู่ ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ที่ใช้งานอยู่จะถูกยกเลิก และเหตุการณ์การย้อนกลับใหม่จะถูกใช้แทนเพื่อเริ่มท่าทางสัมผัสการย้อนกลับที่คาดการณ์ใหม่ (I3482e)
- แก้ไขข้อขัดข้องเมื่อเข้าถึง
onBackPressedDispatcher
จากComponentActivity
เป็นครั้งแรกจากชุดข้อความเบื้องหลัง ขณะนี้คุณเข้าถึงonBackPressedDispatcher
ในชุดข้อความใดก็ได้อย่างปลอดภัยแล้ว (I79955)
เวอร์ชัน 1.9.0-alpha02
24 มกราคม 2024
ปล่อย androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
และ androidx.activity:activity-ktx:1.9.0-alpha02
แล้ว เวอร์ชัน 1.9.0-alpha02 มีคอมมิตเหล่านี้
Conversion ของ Kotlin
- เขียน
ActivityResultRegistry
ใหม่เป็นภาษา Kotlin วิธีนี้ทำให้มั่นใจได้ว่าระบบจะส่งต่อค่าโมฆะของ "ทั่วไป" ในสัญญาที่ส่งไปยัง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.13.0-alpha01
(I14f31)
เวอร์ชัน 1.8
เวอร์ชัน 1.8.2
13 ธันวาคม 2023
ปล่อย androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
และ androidx.activity:activity-ktx:1.8.2
แล้ว เวอร์ชัน 1.8.2 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขการส่งเพิ่มเติมไปยัง
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
ของสัญญากิจกรรมเครื่องมือเลือกรูปภาพเพื่อส่งคีย์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.7.1: -
ReportFullyDrawExecuter
จะไม่รั่วไหลอีกต่อไปเมื่อใช้ComponentActivity
กับActivityScenario
(Id2ff2, b/277434271)
เวอร์ชัน 1.8.0-alpha03
12 เมษายน 2023
ปล่อย androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
และ androidx.activity:activity-ktx:1.8.0-alpha03
แล้ว รายการนี้ปล่อยจาก Branch ภายใน
ฟีเจอร์ใหม่
- เพิ่ม
ComponentActivity.setUpEdgeToEdge()
เพื่อให้สามารถตั้งค่าการแสดงผลแบบไร้ขอบได้โดยง่ายด้วยวิธีที่เข้ากันได้แบบย้อนหลัง
การเปลี่ยนแปลง API
- ตอนนี้เราได้เลิกใช้งาน
ComponentActivity.onBackPressed()
แล้วเพื่อเปลี่ยนไปใช้ API สำหรับรองรับการจัดการอีกครั้ง ตอนนี้นักพัฒนาแอปควรใช้OnBackPressedDispatcher
แทนการลบล้างวิธีการนี้ (Ibce2f, b/271596918) - ตอนนี้
ComponentDialog
และComponentActivity
มี API สาธารณะinitViewTreeOwners()
เพื่อใช้เริ่มต้นเจ้าของแผนผังมุมมองทั้งหมดก่อนตั้งค่ามุมมองเนื้อหา (Ibdce0, b/261314581)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ Fragments ใช้งานไม่ได้กับ MenuHosts อย่างไม่ถูกต้องและทำให้เมนูอื่นๆ ในกิจกรรมมีลักษณะการทำงานที่ไม่คาดคิด (I9404e, b/244336571)
การเปลี่ยนแปลงอื่นๆ
- ตอนนี้
ActivityResultRegister
ใช้ KotlinRandom
แทน Java (I4d98f, b/272096025)
เวอร์ชัน 1.8.0-alpha02
8 มีนาคม 2023
ปล่อย androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
และ androidx.activity:activity-ktx:1.8.0-alpha02
แล้ว พัฒนาจาก Branch ภายใน
การอัปเดตการขึ้นต่อกัน
- จากกิจกรรม
1.7.0-rc01
: กิจกรรมจะขึ้นอยู่กับLifecycle 2.6.0
เวอร์ชัน 1.8.0-alpha01
8 กุมภาพันธ์ 2023
ปล่อย androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
และ androidx.activity:activity-ktx:1.8.0-alpha01
แล้ว รายการนี้สร้างขึ้นจาก Branch ภายใน
ฟีเจอร์ใหม่
- ตอนนี้คลาส
OnBackPressedCallback
มี Callback ความคืบหน้ากลับแบบคาดการณ์ใหม่สำหรับการจัดการท่าทางสัมผัสการย้อนกลับที่เริ่มต้น ความคืบหน้าตลอดท่าทางสัมผัส และท่าทางสัมผัสการย้อนกลับที่ยกเลิก นอกเหนือจาก CallbackhandleOnBackPressed()
ก่อนหน้าเมื่อมีการคอมมิตท่าทางสัมผัสย้อนกลับ
เวอร์ชัน 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
จะใช้วิธีระงับ ซึ่งเมื่อการยืนยันเสร็จสมบูรณ์จะระบุว่าคุณพร้อมโต้ตอบแล้ว
การอัปเดตการขึ้นต่อกัน
- กิจกรรมตอนนี้ขึ้นอยู่กับวงจร
2.6.1
(8fc31d) - กิจกรรมในขณะนี้ขึ้นอยู่กับ ProfileInstaller
1.3.0
(83d3b1)
เวอร์ชัน 1.7.0-rc01
8 มีนาคม 2023
ปล่อย androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
และ androidx.activity:activity-ktx:1.7.0-rc01
แล้ว เวอร์ชัน 1.7.0-rc01 มีคอมมิตเหล่านี้
การอัปเดตการขึ้นต่อกัน
- กิจกรรมในขณะนี้ขึ้นอยู่กับ
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
จะมี CallbackonMultiWindowModeChanged()
ทั้ง 2 รายการที่ส่งออกไปแล้วเสมอ (Ic4d85) ActivityResultRegistry
จะไม่แสดงผลลัพธ์ไปยังActivityResultCallback
อีก เมื่อมีการเรียกใช้launch
Exception
และ Callback มีการลงทะเบียนโดยไม่มีLifecycleOwner
(Ia7ff7, b/238350794)- ตอนนี้
ComponentActivity
จะส่งออกการเรียกเมนูได้อย่างถูกต้องโดยไม่ต้องเรียกใช้ฟังก์ชันขั้นสูงในกิจกรรมของคุณ (Ie33c5, b/238057118)
การอัปเดตการขึ้นต่อกัน
- ตอนนี้ไลบรารี
Activity
จะขึ้นอยู่กับวงจร2.5.1
(If6697)
เวอร์ชัน 1.6.0-rc01
24 สิงหาคม 2022
ปล่อย androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
และ androidx.activity:activity-ktx:1.6.0-rc01
แล้ว เวอร์ชัน 1.6.0-rc01 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- การเริ่มต้น
OnBackPressedDispatcher
จะไม่ทําให้เกิดClassVerificationError
อีกต่อไปเมื่อใช้ SDK เวอร์ชันก่อน 33 (Ic32e1) - ระบบจะส่ง 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)
การอัปเดตการขึ้นต่อกัน
- ตอนนี้ไลบรารี
Activity
จะขึ้นอยู่กับวงจร2.5.1
(If6697)
เวอร์ชัน 1.5.0
เวอร์ชัน 1.5.0
29 มิถุนายน 2022
ปล่อย androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
และ androidx.activity:activity-ktx:1.5.0
แล้ว เวอร์ชัน 1.5.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0
- ComponentDialog -
ComponentDialog
เป็นคลาสย่อยของDialog
ที่มีOnBackPressedDispatcher
ซึ่งจะถูกเรียกเมื่อกดปุ่มย้อนกลับของระบบและกล่องโต้ตอบแสดงขึ้น ที่สำคัญ คลาสย่อยนี้ยังตั้งค่าViewTreeOnBackPressedDispatcherOwner
ด้วย ซึ่งทำให้สามารถดูวิธีการทั่วไปในการเรียกผู้มอบหมายงานที่ถูกต้องไม่ว่าจะมีอยู่ในComponentActivity
หรือComponentDialog
- อินเทอร์เฟซ Callback -
ComponentActivity
ใช้ชุดอินเทอร์เฟซ Callback แบบแยกส่วนซึ่งใช้แทน CallbackActivity
ได้แล้ว อินเทอร์เฟซเหล่านี้ ได้แก่OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
และOnMultiWindowModeChangedProvider
- CreationExtras Integration -
ComponentActivity
สามารถให้บริการViewModelProvider.Factory
แบบไม่เก็บสถานะผ่านCreationExtras
ของ Lifecycle2.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 มีการคอมมิตเหล่านี้
การอัปเดตการขึ้นต่อกัน
- กิจกรรมตอนนี้ขึ้นอยู่กับวงจร
2.4.0-beta01
เวอร์ชัน 1.5.0-alpha05
6 เมษายน 2022
ปล่อย androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
และ androidx.activity:activity-ktx:1.5.0-alpha05
แล้ว เวอร์ชัน 1.5.0-alpha05 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ขณะนี้
onPanelClosed()
ของComponentActivity
จะเรียกใช้ SuperonPanelClosed()
ด้วย ซึ่งแก้ไขปัญหาที่ระบบไม่เรียกใช้เมธอดonContextMenuClosed
(Ib6f77)
เวอร์ชัน 1.5.0-alpha04
23 มีนาคม 2022
ปล่อย androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
และ androidx.activity:activity-ktx:1.5.0-alpha04
แล้ว เวอร์ชัน 1.5.0-alpha04 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ตอนนี้
SavedStateViewFactory
รองรับการใช้CreationExtras
แล้ว แม้ว่าจะเริ่มต้นด้วยSavedStateRegistryOwner
ก็ตาม หากมีการระบุค่าเพิ่มเติม ระบบจะไม่สนใจอาร์กิวเมนต์เริ่มต้น (I6c43b, b/224844583)
เวอร์ชัน 1.5.0-alpha03
23 กุมภาพันธ์ 2022
ปล่อย androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
และ androidx.activity:activity-ktx:1.5.0-alpha03
แล้ว เวอร์ชัน 1.5.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้คุณสามารถส่งผ่าน
CreationExtras
ไปยังฟังก์ชันby viewModels()
ของกิจกรรม (I6a3e6, b/217600303) ได้แล้ว
เวอร์ชัน 1.5.0-alpha02
9 กุมภาพันธ์ 2022
ปล่อย androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
และ androidx.activity:activity-ktx:1.5.0-alpha02
แล้ว เวอร์ชัน 1.5.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
ComponentActivity
จะใช้อินเทอร์เฟซOnPictureInPictureModeChangedProvider
เพื่ออนุญาตให้ คอมโพเนนต์เพื่อรับเหตุการณ์การเปลี่ยนแปลงโหมดการแสดงภาพซ้อนภาพได้ (I9f567) - ตอนนี้
ComponentActivity
จะใช้อินเทอร์เฟซOnMultiWindowModeChangedProvider
เพื่ออนุญาตให้ เพื่อรับเหตุการณ์การเปลี่ยนแปลงโหมดหลายหน้าต่าง (I62d91)
เวอร์ชัน 1.5.0-alpha01
26 มกราคม 2022
ปล่อย androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
และ androidx.activity:activity-ktx:1.5.0-alpha01
แล้ว เวอร์ชัน 1.5.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
ComponentActivity
ได้ผสานรวมกับ ViewModel CreationExtras ซึ่งเป็นส่วนหนึ่งของ Lifecycle2.5.0-alpha01
แล้ว (Ie7e00, b/207012584) - เพิ่ม
ComponentDialog
ซึ่งเป็นคลาสย่อยของDialog
ที่มีOnBackPressedDispatcher
ที่จะถูกเรียกเมื่อปุ่มย้อนกลับของระบบ กดเมื่อกล่องโต้ตอบแสดงขึ้น สิ่งสำคัญ คลาสย่อยนี้ยังตั้งค่าViewTreeOnBackPressedDispatcherOwner
อนุญาตให้ดู วิธีทั่วไปในการเรียกผู้มอบหมายงานที่ถูกต้อง ว่ามีอยู่ใน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)
การสนับสนุนภายนอก
เวอร์ชัน 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.2.2: กิจกรรมตอนนี้ขึ้นอยู่กับวงจร
2.3.1
เวอร์ชัน 1.3.0-alpha04
10 มีนาคม 2021
ปล่อย androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
และ androidx.activity:activity-ktx:1.3.0-alpha04
แล้ว เวอร์ชัน 1.3.0-alpha04 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- จากกิจกรรม
1.2.1
: ตอนนี้RequestMultiplePermissions
จะแสดงผลลัพธ์ของสิทธิ์ที่ขอทั้งหมดทุกครั้ง แทนที่จะเป็นสิทธิ์ที่ไม่ได้รับก่อนหน้านี้เท่านั้น (I50bc3, b/180884668) - จากกิจกรรม
1.2.1
: ตอนนี้ActivityResultRegistry
ช่วยให้มั่นใจว่าคำขอlaunch()
ที่อยู่ระหว่างดำเนินการจะแสดงผลลัพธ์แม้ว่าคุณunregister()
แล้วจึงตามด้วยregister()
อีกครั้งด้วยคีย์เดิม (I9ef34, b/181267562) - การเขียนของกิจกรรมไม่เพิ่มการทดสอบอีกต่อไป ทรัพยากร 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
เมื่อใช้ Compose1.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 นั้น
- ส่วนขยาย Kotlin ที่ระงับ
การสนับสนุนของ
ViewTree
: ขณะนี้ComponentActivity
รองรับ API ของViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
และViewTreeSavedStateRegistryOwner
ที่เพิ่มลงใน Lifecycle2.3.0
และ SavedState1.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)
- ส่วนขยาย Kotlin ที่ระงับ
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการตรวจสอบ 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
ใหม่ที่ยืนยันว่าคุณกำลังใช้ Fragment1.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 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับ
ViewTreeViewModelStoreOwner
จาก Lifecycle2.3.0-alpha03
และViewTreeSavedStateRegistryOwner
จาก SavedState1.1.0-alpha01
เมื่อใช้View
ภายในComponentActivity
(aosp/1297993, aosp/1300264)
การเปลี่ยนแปลง API
- ตอนนี้สัญญา
TakePicture
แสดงboolean
ซึ่งระบุความสำเร็จแทนภาพขนาดย่อBitmap
เนื่องจากแอปกล้องแทบไม่มีการรองรับเมื่อเขียนรูปภาพไปยังUri
ที่ให้ไว้ (b/154302879) - ส่วนขยาย
invoke()
ในActivityResultLauncher
ถูกนำออกไปแล้วเพื่อใช้launch()
อย่างชัดแจ้ง เพื่อให้สามารถระบุได้ดียิ่งขึ้นว่าการดำเนินการเหล่านี้เป็นแบบไม่พร้อมกัน เพิ่มส่วนขยาย Kotlin สำหรับlaunch
ลงในแพ็กเกจandroidx.activity.result
สำหรับActivityResultLauncher<Void>
และActivityResultLauncher<Unit>
แล้ว ซึ่งจะลดความจำเป็นต้องส่งในnull
หรือUnit
ตามลำดับ ซึ่งจำลองลักษณะการทำงานดังกล่าวจากส่วนขยายinvoke()
ก่อนหน้านี้ (aosp/1304674, aosp/1304675) - เมธอด
IntentSenderRequest.Builder
สำหรับsetFlagsMask()
และsetFlagsValues()
รวมกันเป็นเมธอดsetFlags()
เดียว (aosp/1302111)
แก้ไขข้อบกพร่อง
- เมื่อลงทะเบียน
ActivityResultCallback
ด้วยLifecycleOwner
แก้ไขปัญหาที่ระบบจะทริกเกอร์ 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
ที่นี่และใน Fragment1.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 savedState1.0.0-rc03
เวอร์ชัน 1.1.0-rc02
7 พฤศจิกายน 2019
ปล่อย androidx.activity:activity:1.1.0-rc02
และ androidx.activity:activity-ktx:1.1.0-rc02
แล้ว เวอร์ชัน 1.1.0-rc02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงการขึ้นต่อกัน
- กิจกรรมตอนนี้ขึ้นอยู่กับวงจรชีวิตของ
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 เวอร์ชันเสถียร
แก้ไขข้อบกพร่อง
- กิจกรรมตอนนี้ขึ้นอยู่กับวงจร
2.2.0-alpha04
เวอร์ชัน 1.1.0-alpha02
7 สิงหาคม 2019
ปล่อย androidx.activity:activity:1.1.0-alpha02
และ androidx.activity:activity-ktx:1.1.0-alpha02
แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ขณะนี้
SavedStateViewModelFactory
เป็นค่าเริ่มต้นจากโรงงานเมื่อใช้by viewModels()
, ตัวสร้างViewModelProvider
หรือViewModelProviders.of()
ที่มีComponentActivity
(b/135716331)
เวอร์ชัน 1.1.0-alpha01
2 กรกฎาคม 2019
ปล่อย androidx.activity:activity:1.1.0-alpha01
และ androidx.activity:activity-ktx:1.1.0-alpha01
แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้
activity
จะขึ้นอยู่กับอายุการใช้งาน2.2.0-alpha02
(aosp/1007817) activity-ktx
เพิ่มทรัพยากร Dependency ในlifecycle-runtime-ktx
แล้ว คุณไม่จำเป็นต้องเพิ่มลงในการอ้างอิงอย่างชัดแจ้งเมื่อใช้activity-ktx
หรือไลบรารีที่ขึ้นอยู่กับactivity-ktx
(เช่นfragment-ktx
) (aosp/987162)
เวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0
5 กันยายน 2019
ปล่อย androidx.activity:activity:1.0.0
และ androidx.activity:activity-ktx:1.0.0
แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์หลักของ 1.0.0
- ComponentActivity:
ComponentActivity
ทำหน้าที่เป็นคลาสพื้นฐานใหม่สำหรับFragmentActivity
ใน Fragment1.1.0
และตามส่วนขยายAppCompatActivity
ใน AppCompat1.1.0
- activity-ktx: โมดูล
activity-ktx
มีส่วนขยายพร็อพเพอร์ตี้ Kotlinby viewModels
สำหรับเข้าถึง ViewModels ระบบจะรวมโมดูลนี้โดยอัตโนมัติเมื่อคุณรวมfragment-ktx
จาก Fragment1.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
สำหรับจัดเก็บออบเจ็กต์ที่รอดพ้นจากการเปลี่ยนแปลงการกำหนดค่า