Сохранение / восстановление настроек темного режима по умолчанию после обновления приложения
Я реализую новую функцию Android 10 под названием Dark Mode, документ можно найти ЗДЕСЬ. Предлагается эта строка для переключения:
AppCompatDelegate.setDefaultNightMode(mode);
И это работает нормально (включено, выключено, система) - я устанавливаю приложение отладки, устанавливаю правильный режим в настройках своих приложений, все Activities
перезапускает тематические по желанию. Я могу закрыть приложение, принудительно закрыть, вернуться, но мои настройки все еще там. Проблема в том, что когда я снова создаю apk и устанавливаю (даже без изменения кода, просто Shift + F10 в AS), затемgetDefaultNightMode()
возвращается MODE_NIGHT_UNSPECIFIED
который является настройкой по умолчанию и который возвращается в систему, зависит от источников. Похоже, что в будущих обновлениях приложений темный режим будет сброшен. Как я могу предотвратить это, я что-то пропустил?
PS. Да, я мог бы сохранить установленный режим самостоятельно и принудительно вернуть его, когдаAppCompatDelegate
вернет режим по умолчанию, но обратите внимание на это примечание из приведенного выше документа:
Примечание. Начиная с AppCompat v1.1.0, setDefaultNightMode() автоматически воссоздает все начатые действия.
Я не хочу, чтобы пользовательский интерфейс моргал (потенциально) при первом запуске после каждого обновления...