MIUI 11/12 Theme Switch führt zu LifeCycleException, ClassCastException

Oct 27 2020

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

1 Ayush Oct 31 2020 at 10:56

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. :) :)