MIUI 11/12 Theme Switch ส่งผลให้ LifeCycleException, ClassCastException
Oct 27 2020
เนื่องจาก MIUI 11/12 ใช้การปรับใช้โหมดมืดแบบกำหนดเองการใช้โค้ดด้านล่างส่งผลให้ ClassCastException และ Activity Life Cycle Exception เป็น DefaultNightMode และ LocalNightMode เสมอ Unspecified เช่น -100 แทนที่จะเป็น 0 หรือ 1
หากใครได้สร้างวิธีแก้ปัญหาสำหรับอุปกรณ์ Xiaomi โดยเฉพาะสำหรับ MIUI 11/12 โปรดช่วยฉันออกเกี่ยวกับเรื่องนี้.
รหัสที่ใช้:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
this.recreate();
เกิดข้อผิดพลาด:
2020-10-25 07:04:43.626 9167-9167/com.xxxx.xxxxxx E/ActivityInjector: get life cycle exception
java.lang.ClassCastException: android.os.BinderProxy cannot be cast to android.app.servertransaction.ClientTransaction
คำตอบ
1 Ayush Oct 31 2020 at 10:56
ฉันแก้มันด้วยตัวเอง หลังจากเล่นกับมันมาหนึ่งสัปดาห์ฉันก็ทำมัน ..
นี่คือวิธี:
- แทนที่จะตั้งค่า android: forceDarkAllowed = "false" สำหรับแต่ละกิจกรรม
- เพียงแค่ goto values.xml และวางไว้ใน AppTheme ของคุณ
<item name="android:forceDarkAllowed">false</item>
จะขอให้คุณสร้าง valuesv29.xml สร้างและลบ forceDarkAllowed = "false" ออกจากกิจกรรมทั้งหมด
ยินดีต้อนรับ. :)