使用adb查看Settings Provider的值

2023-05-16

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

使用adb查看Settings Provider的值 的相关文章

随机推荐

  • BlockCode 少儿编程 10 《分铅笔》

    1 题目 34 分铅笔 34 34 妈妈给姐姐买了8支铅笔 xff0c 给弟弟买了4支铅笔 xff0c 姐姐分给弟弟 xff0c 使得姐弟俩两人的铅笔一样多 34 34 8支 xff0c 4支 34 34 姐姐最后有几只铅笔 xff1f 3
  • USB3.0扩展坞集线器Hub引起鼠标卡顿飘解决方法

    大部分USB3 0扩展坞集线器Hub会引起鼠标卡顿飘 xff0c 尤其是无线鼠标 蓝牙鼠标 xff0c 无线键盘也会出现输入迟缓的问题 mac 和 Windows都是这样 解决方法 xff1a 1 xff09 usb3 0集线器插入2 0接
  • 禁止鼠标唤醒睡眠的电脑,无线鼠标、蓝牙鼠标

    经常一不小心碰到鼠标就会唤醒睡眠的电脑 xff0c 有时咳嗽声大一点也能唤醒 解决方法 xff1a xff08 1 xff09 打开 设备管理器 在 此电脑 上右键 xff0c 属性 左侧找到设备管理器 或者 xff0c 在开始按钮上右键
  • C#与C++ dll 之间传递字符串string wchar_t* char* IntPtr

    1 由C 向C 43 43 dll 传入字符串时 xff0c 参数直接用string xff0c 设置编码格式 CharSet Unicode CharSet Ansi C 43 43 dll接收使用wchar t 或 char 2 由C
  • SwiftUI 导航 NavigationStack NavigationLink navigationDestination

    导航的显示区域使用NavigationStack 导航的新视图会显示在NavagationStack中 左右分栏导航使用NavigationSplitView 触发导航的按钮使用NavigationLink 示例1 显示颜色视图 struc
  • SwiftUI 数组初始化 append 不工作 无效 init中 State Array

    State的数组在初始化函数init是不能添加数据的 xff0c append在init中无效 xff0c 不能添加数据 实现方法如下 xff1a 采用视图控件的回调函数 appear if myArray count 61 61 0 my
  • SwiftUI List 中 多个 按钮 button 同时触发 buttonStyle

    在list中的一个单元格中设置多个按钮会出现同时触发的问题 xff0c 解决方法是增设按钮的类型属性 buttonStyle borderless 在List的单元格中 xff0c 按钮的下面 buttonStyle borderless
  • 隐私策略

    隐私权声明 软件注重对您的个人隐私的保护 我们不会在任何情况下收集您的信息 本隐私权声明适用于本软件的所有相关服务 您个人信息的搜集 本软件不收集任何您的个人信息 控制您的个人信息 本软件不控制您的任何个人信息 您个人信息的安全 严格保护您
  • MMPlayer同步文件到手机应用中的方法

    自己准备好要同步的文件 xff0c 如mp3 mp4 xff0c 然后按照如下操作 xff1a xff08 1 xff09 mac电脑插上iPhone xff08 2 xff09 打开访达Finder xff08 3 xff09 在左上列表
  • 全世界到底有多少软件开发人员?

    埃文斯数据公司 Evans Data Corporation 2019 最新的统计数据 xff08 原文 xff09 显示 xff0c 2018 年全球共有 2300 万软件开发人员 xff0c 预计到 2019 年底这个数字将达到 264
  • 并查集【通俗易懂】【知识点】

    为了解释并查集的原理 xff0c 我将举一个有爱的例子 话说江湖上散落着各式各样的大侠 xff0c 有上千个之多 他们没有什么正当职业 xff0c 整天背着剑在外面走来走去 xff0c 碰到和自己不是一路人的 xff0c 就免不了要打一架
  • QtreeWiget各节点之间连线样式设置

    QTreeWidget树状图默认各节点直接是没有线连接的 xff0c 看着层次感不强 xff0c 用户体验不太好 xff0c 所以需要设置一下样式 方法一 xff1a 通过对qtreewidget进行qss样式设置 效果图如下 xff1a
  • gitlab安装部署及问题解决(实践篇)

    系统环境 xff1a centos7 9 gitlab版本 xff1a 11 1 4 一 GitLab简介 GitLab 是一个用于仓库管理系统的开源项目 xff0c 使用Git作为代码管理工具 xff0c 并在此基础上搭建起来的web服务
  • 详解利用nodejs对json文件进行新增数据及删除指定的数据

    细节链接 详解利用nodejs对本地json文件进行增删改查 文件 1 首先存在packagename json文件 xff0c 具体内容如下 34 label 34 34 星享优惠 34 34 value 34 34 com kyy xx
  • VS.NET中Web Services入门

    Visual Studio NET 中的 XML Web services 入门 摘要 xff1a Microsoft Visual Studio NET 和 XML Web services 提供了一个简单 灵活且基于标准的模型 xff0
  • Openstack Manila使用初探 (Packstack)

    使用Packstack All in one 安装好Openstack之后 研究一下Manila组件的使用 主机名 cloud 192 168 31 233 1 manila conf 1 1 配置文件分析 Packstack的配置文件pa
  • Centos7+Packstack安装部署Openstack Mitaka之(一) 安装Packstack

    学习Openstack的前两个月 时间都花在环境部署上了 主要是版本的问题 导致了一系列的麻烦 之前使用devstack已经部署成功了 但是manila不能用 残念 问题主要出在网络上 研究完manila的网络模块之后再回头找原因吧 不打算
  • Tomcat的四种web应用部署方式详解

    在Tomcat中有四种部署Web应用的方式 xff0c 简要的概括分别是 xff1a xff08 1 xff09 利用Tomcat自动部署 xff08 2 xff09 利用控制台进行部署 xff08 3 xff09 增加自定义的Web部署文
  • 虚拟机linux插入U盘搜索不到怎么整

    我在 dev下找 xff0c 使用fdisk xff0c 都没有找到插入的u盘 看了下服务 vmware的USB也是开启的 最后发现vmware的USB是2 0 xff0c 改成3 0就好了 又白白浪费了半天时间
  • 使用adb查看Settings Provider的值

    使用adb查看Settings Provider的值 前言 在Android的ROM开发中 xff0c 经常会遇到一些修改系统默认的Settings Provider的值要求 xff0c 那么修改以后 xff0c 怎么验证呢 本篇文章介绍一