Android系统默认显示电池电量百分比

整理一下修该需求时候遇到的问题以及进行修改的思路:

需求:Android 11 让系统默认显示电池电量百分比

首先想到的是系统设置中的电池设置选项,就是让设备第一次开机或者恢复出厂之后默认打开显示电池电量百分比这个选项:
在这里插入图片描述
首先进入adb shell:
然后settings list system 可以看到:
在这里插入图片描述
status_bar_show_battery_percent=1

这个数值就是用来控制是否默认显示电池百分比的(0不显示 1显示)
我们也可以通过adb sehll 来修改这个数值:
settings put system status_bar_show_battery_percent 0(不显示电池电量百分比)
settings put system status_bar_show_battery_percent 0(显示电池电量百分比)

那么如果说是想让系统默认显示电池电量百分比其实就是让这个数值默认为1就好了
通过查找status_bar_show_battery_percent可以发现对应的String 名字为SHOW_BATTERY_PERCENT
然后查找SHOW_BATTERY_PERCENT
最后发现许多数值都是在/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java中设置的默认值:
通过如下方法设置的默认值:

private void loadSystemSettings(SQLiteDatabase db) {
        SQLiteStatement stmt = null;
        try {
            stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
                    + " VALUES(?,?);");

            loadBooleanSetting(stmt, Settings.System.DIM_SCREEN,
                    R.bool.def_dim_screen);
            loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
                    R.integer.def_screen_off_timeout);

            // Set default cdma DTMF type
            loadSetting(stmt, Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, 0);

            // Set default hearing aid
            loadSetting(stmt, Settings.System.HEARING_AID, 0);

            // Set default tty mode
            loadSetting(stmt, Settings.System.TTY_MODE, 0);

            //Default display battery percentage
            loadSetting(stmt, Settings.System.SHOW_BATTERY_PERCENT, 1);//设置默认显示电池百分比

            loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS,
                    R.integer.def_screen_brightness);

            loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
                    com.android.internal.R.integer.config_screenBrightnessForVrSettingDefault);

            loadBooleanSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_MODE,
                    R.bool.def_screen_brightness_automatic_mode);

            loadBooleanSetting(stmt, Settings.System.ACCELEROMETER_ROTATION,
                    R.bool.def_accelerometer_rotation);

            loadDefaultHapticSettings(stmt);

            loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE,
                    R.bool.def_notification_pulse);

            loadUISoundEffectsSettings(stmt);

            loadIntegerSetting(stmt, Settings.System.POINTER_SPEED,
                    R.integer.def_pointer_speed);

            /// M: Load MTK added System providers before Android M.
            mUtils.loadCustomSystemSettings(stmt);

            /*
             * IMPORTANT: Do not add any more upgrade steps here as the global,
             * secure, and system settings are no longer stored in a database
             * but are kept in memory and persisted to XML.
             *
             * See: SettingsProvider.UpgradeController#onUpgradeLocked
             */
        } finally {
            if (stmt != null) stmt.close();
        }
    }

通过loadSetting(stmt, Settings.System.SHOW_BATTERY_PERCENT, 1);来给SHOW_BATTERY_PERCENT设置默认值为1,编译后刷机,开机后默认显示电池百分比。
问题解决~ '(>﹏<)′

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WLHG8PLUS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值