Android 怎么设置 Setting 中的默认选项

本文详细介绍了如何修改Android系统启动后的默认设置,包括通过修改SettingsProvider中的defaults.xml文件来调整如关屏超时时间、亮度和是否允许安装非Market应用等参数。同时,文章还探讨了如何为系统中未包含的设置选项添加默认值,并提供了相应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何修改系统启动后加载的默认值

修改SettingsProvider默认值,Settings能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的,那么第一次开机的时候这些数据都是从哪儿来的呢?

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

这个文件就是用来存储Android系统的默认设置


例如:
<integername="def_screen_off_timeout">600000</integer>设置关屏超时时间的默认值
<integername="def_screen_brightness">102</integer>设置亮度的默认值
<boolname="def_install_non_market_apps">false</bool>设置是否允许安装非Market应用程序的默认值



8X10代码:

如果有多个项目对同一个设置选项有不同的默认值,比如设置关屏超时时间的默认值:10s, 30s, 60s, never......这就需要在frameworks/base/core/java/android/os/的Build.java文件中添加宏PWV_SCREEN_OFF_TIMEOUT控制,在/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings的DatabaseHelper.java文件写算法,和buildspec.mk里的值想对应。



如果想定义defaults.xml中没有的,在这里添加后,需修改
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加入自己的存储代码。
从数据库读取这个,无法实现第一次开机就默认勾选Disable HW overlays,而defaults.xml,没有关于开发人员选项的内容,该如何添加?

自己在DatabaseHelper添加一个loadStringSettings来初始化Disable HW overlays
看了下HWC这个东西不是用settingsprovider存储的。。。。。。
那你往database里面怎么写也不会被调用到的。。。。。。
frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp中
mDebugDisableHWC(0),你把这个初始话改成1 试试看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值