Сохранение / восстановление настроек темного режима по умолчанию после обновления приложения

Я реализую новую функцию Android 10 под названием Dark Mode, документ можно найти ЗДЕСЬ. Предлагается эта строка для переключения:

AppCompatDelegate.setDefaultNightMode(mode);

И это работает нормально (включено, выключено, система) - я устанавливаю приложение отладки, устанавливаю правильный режим в настройках своих приложений, все Activitiesперезапускает тематические по желанию. Я могу закрыть приложение, принудительно закрыть, вернуться, но мои настройки все еще там. Проблема в том, что когда я снова создаю apk и устанавливаю (даже без изменения кода, просто Shift + F10 в AS), затемgetDefaultNightMode() возвращается MODE_NIGHT_UNSPECIFIEDкоторый является настройкой по умолчанию и который возвращается в систему, зависит от источников. Похоже, что в будущих обновлениях приложений темный режим будет сброшен. Как я могу предотвратить это, я что-то пропустил?

PS. Да, я мог бы сохранить установленный режим самостоятельно и принудительно вернуть его, когдаAppCompatDelegate вернет режим по умолчанию, но обратите внимание на это примечание из приведенного выше документа:

Примечание. Начиная с AppCompat v1.1.0, setDefaultNightMode() автоматически воссоздает все начатые действия.

Я не хочу, чтобы пользовательский интерфейс моргал (потенциально) при первом запуске после каждого обновления...

0 ответов

Другие вопросы по тегам