20250917让荣品RD-RK3588-MID开发板的Android13系统在刷机的时候就直接以百分比显示电池电量
20250917让荣品RD-RK3588-MID开发板的Android13系统在刷机的时候就直接以百分比显示电池电量
2025/9/17 14:17
缘起:比较喜欢以百分比/数字的形式显示电池电量。
BAIDU了一下,在CSDN上找到了方法!
rootroot@rootroot-X99-Turbo:~/rk-android13-20250818RD-RK3588-MID$
rootroot@rootroot-X99-Turbo:~/rk-android13-20250818RD-RK3588-MID$ find . -name DatabaseHelper.java
./packages/providers/MediaProvider/src/com/android/providers/media/DatabaseHelper.java
./packages/apps/Messaging/src/com/android/messaging/datamodel/DatabaseHelper.java
./frameworks/base/services/voiceinteraction/java/com/android/server/voiceinteraction/DatabaseHelper.java
./frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
rootroot@rootroot-X99-Turbo:~/rk-android13-20250818RD-RK3588-MID$
Y:\android13-20250818\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
Z:\rk-android13-20250818RD-RK3588-MID\frameworks\base\packages\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(?,?);");
// Settings.System.SHOW_BATTERY_PERCENT
loadSetting(stmt, "status_bar_show_battery_percent", 1); // 2025/9/17 11:23 wenyuanbo add
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);
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);
loadIntegerSetting(stmt, Settings.System.USER_ROTATION, R.integer.def_user_rotation);
loadDefaultHapticSettings(stmt);
loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE,
R.bool.def_notification_pulse);
loadBooleanSetting(stmt, Settings.System.SYSTEM_HIDE_STATUS_BAR,
R.bool.def_hide_status_bar);
loadBooleanSetting(stmt, Settings.System.SYSTEM_HIDE_NAVIGATION,
R.bool.def_hide_navigation);
loadUISoundEffectsSettings(stmt);
loadIntegerSetting(stmt, Settings.System.POINTER_SPEED,
R.integer.def_pointer_speed);
/*
* 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();
}
}
百度:RK3588 Android13默认开启电池百分比数字显示Framework_android13 配置 config.xml
https://blog.csdn.net/wxd_csdn_2016/article/details/109066597?spm=1001.2101.3001.6650.15&utm_medium=distribute.wap_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-109066597-blog-117755061.237%5Ev3%5Ewap_relevant_t0_download&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-109066597-blog-117755061.237%5Ev3%5Ewap_relevant_t0_download&share_token=aba2fbef-036b-4b3b-8cdb-7345d7d8b566
默认打开电池电量百分比显示
https://blog.csdn.net/wxd_csdn_2016/article/details/109066597
于 2020-10-14 10:04:14 发布
这篇博客详细介绍了Android SettingsProvider的内部实现,特别是`DatabaseHelper`类中的`loadSystemSettings`方法,该方法负责加载系统设置,如`Settings.System.SHOW_BATTERY_PERCENT`的设置值。通过SQLite数据库操作,将系统设置加载到内存中,确保系统运行时能够正确显示电池百分比等关键设置。
SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
private void loadSystemSettings(SQLiteDatabase db) {
...
// Settings.System.SHOW_BATTERY_PERCENT
loadSetting(stmt, "status_bar_show_battery_percent", 1); // 添加
...
}
https://blog.csdn.net/qq_37580586/article/details/114590432?spm=1001.2101.3001.6650.20&utm_medium=distribute.wap_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-20-114590432-blog-132890240.237%5Ev3%5Ewap_relevant_t0_download&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-20-114590432-blog-132890240.237%5Ev3%5Ewap_relevant_t0_download&share_token=7bef461b-1f98-4aa3-938c-1d7d5ce82d09
Android系统默认显示电池电量百分比
https://blog.csdn.net/qq_37580586/article/details/114590432
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);
//Default display battery percentage
loadSetting(stmt, Settings.System.SHOW_BATTERY_PERCENT, 1);//设置默认显示电池百分比
}
通过loadSetting(stmt, Settings.System.SHOW_BATTERY_PERCENT, 1);来给SHOW_BATTERY_PERCENT设置默认值为1,编译后刷机,开机后默认显示电池百分比。
问题解决~ '(>﹏<)′
https://blog.csdn.net/baidu_41666295/article/details/117755061?spm=1001.2101.3001.6650.17&utm_medium=distribute.wap_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-117755061-blog-114590432.237%5Ev3%5Ewap_relevant_t0_download&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-117755061-blog-114590432.237%5Ev3%5Ewap_relevant_t0_download&share_token=96ccd8af-548b-4c66-b436-36413e76263f
android 10.0状态栏显示电量百分比
https://blog.csdn.net/baidu_41666295/article/details/117755061
2.状态栏显示电量百分比的核心类
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java