SettingsProvider分析

相关命令:
adb shell settings get/put global/system/secure //获取 ,设置
adb shell settings list global/system/secure //获取所有

一.涉及的源码库

frameworks/base/packages/SettingsProvider //SettingsProvider.apk
packages/apps/Settings //Setting.apk
frameworks/base/core/java/android/provider //framework.jar
packages/providers/MediaProvider //SettingsProvider.apk
frameworks/base/packages/SettingsLib

二.SettingsProvide分析

1.三种类型的Settings数据
/data/system/users/0/settings_global.xml //global,第三方APP有读没有写的权限
/data/system/users/0/settings_system.xml 三方app可读可写
/data/system/users/0/settings_secure.xml ,第三方APP有读没有写的权限

SettnigsProvider启动时会创建settings.db数据库,然后把所有的默认设置项(defaults.xml)写入到数据库,接着会把数据库中所有的设置项从数据库转移到xml文件中,最后将settings.db删除

2.启动:
SystemServer中的startOtherServices
→mActivityManagerService.installSystemProviders()
加载xml文件流程如下
在这里插入图片描述

三.具体定制

1.wifi默认打开
修改 /frameworks/base/packages/SettingsProvider/res/values/defaults.xml 中def_wifi_on的值为true
对应global wifi_on

2.显示虚拟键盘默认开启
修改 /frameworks/base/packages/SettingsProvider/res/values/defzaults.xml 中的def_show_ime_with_hard_keyboard值为true
对应secure show_ime_with_hard_keyboard

3.默认打开飞行模式
修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml 中的def_airplane_mode_on为true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AndroidSettingsProvider是一个系统级应用程序,用于管理设备的设置信息。当Android系统升级时,SettingsProvider也会相应地进行升级。 首先,升级会带来一些新的设置选项。随着Android版本的更新,新的功能和特性将被引入到系统中,这些功能和特性将需要对应的设置选项来进行配置。因此,SettingsProvider需要进行升级,以支持这些新的设置选项。 其次,升级还会修复一些已知的问题和漏洞。在旧版本的SettingsProvider中可能存在一些bug或者安全漏洞,这些问题会被逐步修复和解决。升级后的SettingsProvider将包含修复后的代码,以提高系统的稳定性和安全性。 此外,升级还可能会改变SettingsProvider的数据结构或存储方式。为了满足新的需求和功能,SettingsProvider的数据存储可能需要进行调整和优化。这可能涉及到数据库表结构的更改或者数据存储的格式改变等。 最后,升级还可能会提供更好的性能和响应速度。随着系统的发展,我们对设备的性能和用户体验的要求也在不断提高。升级后的SettingsProvider可能会经过优化,以提供更快的数据查询和更新速度,从而使用户的设置操作更加流畅和高效。 综上所述,Android系统的升级会带来SettingsProvider的升级,以支持新的设置选项、修复问题和漏洞、改变数据结构和存储方式,并提供更好的性能和响应速度。这些升级将不断提高Android设备的功能和使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值