Android 13 像Settings一样开启关闭深色模式

一.背景

        由于客户定制的Settings需要开启关闭深色模式,所以需要自己调用开启关闭深色模式

二.前提条件

        首先应用肯定要是系统应用,并且导入framework.jar包,具体可以参考:

Android 应用自动开启辅助(无障碍)功能并使用辅助(无障碍)功能_android 自动开启无障碍服务_龚礼鹏的博客-CSDN博客

上述文档的第三步第四步有详细介绍

三.流程

        首先需要获取当前是否是深色模式,然后需要开启或者关闭当前的深色模式,主要实现都在UiModeManager类中,所以我们需要定义UiModeManager类的全局变量,然后通过全局变量获取到当前的深色模式开关状态,最后需要通过此变量设置深色模式开关

四.获取深色模式状态

        首先定义全局变量

private UiModeManager mUiModeManager;

        然后获取状态

    protected void initData() {
        mUiModeManager = getSystemService(UiModeManager.class);

        final boolean active = (getRe

你可能感兴趣的:(Android,13,Framework,android,Settings,深色模式,开启深色模式,Android,13,关闭深色模式,Settings,深色模式)