MIUI 11/12 Theme Switch führt zu LifeCycleException, ClassCastException
Da MIUI 11/12 seine eigene benutzerdefinierte Implementierung des Dunkelmodus verwendet, führt die Verwendung des folgenden Codes zu ClassCastException und Activity Life Cycle Exception, da DefaultNightMode und LocalNightMode immer nicht angegeben sind, dh -100 anstelle von 0 oder 1.
Wenn jemand eine Problemumgehung für Xiaomi-Geräte speziell für MIUI 11/12 erstellt hat. Bitte helfen Sie mir dabei.
Verwendeter Code:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
this.recreate();
Fehler verursacht:
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
Antworten
Ich habe es selbst gelöst. Nachdem ich eine Woche lang damit herumgespielt hatte, tat ich es.
Hier ist, wie:
- Anstatt android zu setzen: forceDarkAllowed = "false" für jede Aktivität.
- Gehen Sie einfach zu values.xml und platzieren Sie diese in Ihrem AppTheme
<item name="android:forceDarkAllowed">false</item>
Sie werden aufgefordert, eine valuesv29.xml zu erstellen. Erstellen Sie es und entfernen Sie forceDarkAllowed = "false" aus allen Aktivitäten.
Herzlich willkommen. :) :)