Запретить системе самой изменять тему

В приложении есть возможность смены тем:

    if (color == BLACK) {
        setTheme(R.style.AppThemeNight);
    }
    if (color == WHITE) {
        setTheme(R.style.AppTheme);
    }

Но Андроид 11 все равно самостоятельно контролирует смену тем в установленных приложениях и ставит ту, что установлена в системе Как ему запретить это делать?


Ответы (1 шт):

Автор решения: ru38irk

В общем проблему решил: Добавил атрибут светлой темы в styles.xml

<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>

Но решение это не изящное - в задумках сделать смену тем через AppCompatDelegate.setDefaultNightMode() сделав три варианта - светлая, темная и системная

→ Ссылка