AppCompatDelegate.MODE_NIGHT_AUTO aktualisiert meine vorhandene Aktivität nicht und ich bin nicht sicher warum.AppCompat MODE_NIGHT_AUTO funktioniert nicht
Ich erlaube dynamisch dem Benutzer, Nachtmodus zu ändern. Wenn der Benutzer den Modus auf Auto ändert gesetzt ich den Standard-Nachtmodus dann die Aktivität neu:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
recreate();
Wenn ich MODE_NIGHT_YES oder MODE_NIGHT_NO ändern, es funktioniert wie erwartet. Wenn ich zu MODE_NIGHT_AUTO wechsle, geht es zum richtigen Dark/Light-Thema, aber dann wird die Aktivität nach dem Übergang von Tag zu Nacht nicht aktualisiert. Es ist etwas nervig, das zu testen, weil ich auf Sonnenaufgang/Sonnenuntergang warten muss (BEARBEITEN: Ich kann die Zeit auf dem Gerät manuell ändern, anstatt warten zu müssen ... solange die Standortgenehmigung nicht verwendet wird).
Muss ich eine manuelle Überprüfung für den Nachtmodus-Flag in onresume durchführen und Ressourcen für vorhandene Aktivitäten manuell aktualisieren, oder mache ich etwas falsch? Wenn ich das Gerät rotiere und die Aktivität nach Sonnenuntergang neu erstellt wird, wird das dunkle Thema korrekt aufgenommen, aber vor der Drehung wird immer noch das helle Thema angezeigt.
Unterstützung lib 23.4.0, Android-Version 6.0.
Es könnte argumentiert werden, dass es ein Fehler ist. Es ist nicht zu Unrecht zu erwarten, dass der Wechsel von Tag zu Nacht (oder umgekehrt) eine Konfigurationsänderung auslösen sollte, die Ihre Aktivitäten automatisch neu erstellen würde. Zumindest wäre es schön, sich dafür zu entscheiden. Ich denke, es lohnt sich, in AOSP Bug Tracker zu berichten. –