使用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下查看
root@XXX:/data/data/com.android.providers.settings/databases # ls
settings.db
settings.db-journal
root@XXX:/data/data/com.android.providers.settings/databases #
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.
λ 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:/
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)