Я знаю, что в Android 15 можно программно изменить общесистемную темную тему, поскольку она работает в приложении Tasker (также с разрешением WRITE_SECURE_SETTINGS).
Что НЕ работает:
- Я пробовал это с < strong>UiModeManager, как предложено в этой теме, но ничего не происходит:
Код: Выделить всё
application.getSystemService(Context.UI_MODE_SERVICE) as UiModeManager
uiModeManager.nightMode = UiModeManager.MODE_NIGHT_YES
Код: Выделить всё
Settings.Secure.getInt(contentResolver, "ui_night_mode") // Value: 1
Settings.Secure.putInt(contentResolver, "ui_night_mode", 2)
Settings.Secure.getInt(contentResolver, "ui_night_mode") // Value: 2
Похоже, что настройки оболочки adb put secure ui_night_mode 2 работали в предыдущих версиях Android для изменения темы, но точно так же, как и мой программный вариант, тема остается неизменной.
Что работает в ADB, так это оболочка adb «cmd uimode night, да. Она успешно переключает систему на темную тему, но я понятия не имею, работает ли она и как я мог сделать это из моего приложение.
Что мне не хватает? Заранее спасибо за любую помощь.>
Подробнее здесь: https://stackoverflow.com/questions/791 ... android-15