Я могу получить UI_MODE_NIGHT_MASK
, позвонив resources.configuration.uiMode
и Configuration.UI_MODE_NIGHT_MASK
.
Мне нужно прослушать эту переменную и изменить тему при получении нового значения.
Думаю, я мог бы добавить BroadcastReceiver
, чтобы сделать getSystemService(A_CONSTANT_FROM_Context)
и зарегистрировать обратный вызов темы, аналогичный ConnectivityManager.NetworkCallback
. Но я нашел это только в документации: расширение Theme.MaterialComponents.DayNight
на стили моей темы и наличие values-night
. Вопрос dark them config, на который уже есть принятый ответ, относится к этой документации. .