Я могу получить 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 , на который уже есть принятый ответ со ссылкой на эту документацию.