使用adb查看Settings Provider的值

        使用adb查看Settings Provider的值


前言

   在Android的ROM开发中,经常会遇到一些修改系统默认的Settings Provider的值要求,那么修改以后,怎么验证呢。本篇文章介绍一种方法,通过adb查看。




Settings Provider简介

   SettingsProvider顾名思义是一个提供设置数据共享的Provider,里面存放了许多Android的一些默认初始值。 Settings Provider是指通过如下方式设置的系统变量数据库:

Settings.System.putInt(getActivity().getContentResolver(), "xxx", 1);
Settings.System.putString(getActivity().getContentResolver(), "xxx", "1");
Settings.System.putLong(getActivity().getContentResolver(), "xxx", 1);
Settings.System.putFloat(getActivity().getContentResolver(), "xxx", 1);

Settings共有三种分类,分别如下:

  • Global:所有的偏好设置对系统的所有用户公开,第三方APP有读没有写的权限;
  • System:包含各种各样的用户偏好系统设置;
  • Secure:安全性的用户偏好系统设置,第三方APP有读没有写的权限。



查看Settings Provider值方法汇总

当我们调试时,需要查看设置里面的值,有如下几种方式:
(1) 通过代码进行查看
(2) Android 7.xx平台直接进入/data/system/users/0里面查看,在5.xx平台/data/data/com.android.providers.settings/databases下查看

//5.xx平台,如果借助第三方sql工具
root@XXX:/data/data/com.android.providers.settings/databases # ls
settings.db
settings.db-journal
root@XXX:/data/data/com.android.providers.settings/databases #

//7.xx平台,可以直通cat查看settings_system.xml,settings_global.xml,settings_secure.xml三个文件
XXX:/data/system/users/0 # ls
app_idle_stats.xml       runtime-permissions.xml settings_system.xml
appwidgets.xml           settings_global.xml     wallpaper_info.xml
package-restrictions.xml settings_secure.xml
XXX:/data/system/users/0 #

(3) 最简单简便方法,我们通过adb就可以查看,命令行如下:

λ adb shell settings
usage:  settings [--user <USER_ID> | current] get namespace key
        settings [--user <USER_ID> | current] put namespace key value
        settings [--user <USER_ID> | current] delete namespace key
        settings [--user <USER_ID> | current] list namespace

'namespace' is one of {system, secure, global}, case-insensitive
If '--user <USER_ID> | current' is not given, the operations are performed on the system user.
//譬如查看screen_off_timeout的值,可以使用下面的命令
λ adb shell settings get system  screen_off_timeout
2147483647

其中的get system可以根据设置的具体情况改成get global或者get secure
如果返回null说明没有这个选项
当然我们也可以设置相关选项的值,通过put命令,示例如下:

//修改休眠时间
adb shell settings put   system  screen_off_timeout   120000

(4) 当然,假如我们不知道此时我们要查询的具体字段是什么的时候,我们也可以通过list将相关的字段遍历出来,如下:

XXX:/ # settings list system                              
accelerometer_rotation=0                                   
alarm_alert=content://media/internal/audio/media/11        
alarm_alert_set=1                                          
dim_screen=1                                               
dtmf_tone=1                                                
dtmf_tone_type=0                                           
font_scale=1.0                                             
haptic_feedback_enabled=1                                  
hearing_aid=0                                              
lockscreen_sounds_enabled=1                                
mode_ringer_streams_affected=294                           
mute_streams_affected=46                                   
notification_light_pulse=1                                 
notification_sound=content://media/internal/audio/media/92 
notification_sound_set=1                                   
pointer_speed=0                                            
reboot_every_24_hours=1                                    
ringtone=content://media/internal/audio/media/170          
ringtone_set=1                                             
screen_brightness=75                                       
screen_brightness_mode=0                                   
screen_off_timeout=60000                                   
sound_effects_enabled=1                                    
status_bar_show_battery_percent=1                          
system_locales=zh-CN                                       
time_12_24=24                                              
transition_animation_scale=1.0                             
tty_mode=0                                                 
vibrate_when_ringing=0                                     
volume_alarm=6                                             
volume_bluetooth_sco=7                                     
volume_music=11                                            
volume_music_headphone=10                                  
volume_music_headset=10                                    
volume_notification=5                                      
volume_ring=5                                              
volume_system=7                                            
volume_voice=4                                             
window_animation_scale=1.0                                 
  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值