系统属性获取及设置中的设置值

data/data/com.android.providers.settings/databases/settings.db

1.系统属性获取及设置

android.os.SystemProperties文件

android.os.Build文件

可以取得系统版本等信息。

类似adb shell : getprop看到的值

2.设置中的设置值

在android中,许多的系统属性都在settings应用当中进行设置的,比如wifi、蓝牙状态,当前本机语言,屏幕亮度等等一些相关的系统属性值。这些数据主要是存储在数据库中,对应的URI 为:content://settings/system和content://settings/secure,这两个是主要的,目前也只是涉及到这两个数据库表的使用。

  接下来,就了解下settings应用中是如何对系统属性进行设置的。

  当需要获得当前wifi状态的值,调用已封装的方法如下:

  Settings.Secure.getInt(getContentResolver() , Settings.Secure.WIFI_ON);

  修改wifi状态只需要调用对应的setInt方法就可以实现。

  当需要获得当前时间日期自动获取,调用如下:

  Settings.System.getInt(getContentResolver() , "auto_time");

  修改也是调用对应的setInt方法。

  注意:这里修改settings的系统属性值需要有相关的权限。如修改wifi状态需要有android.permission.WRITE_SETTINGS权限,权限问题只要参考sdk下的描述就可以。

  其实在settings应用中所获取或者修改属性都是调用了framework中android.provider.settings的 Settings类对应的方法,也就是说真正有跟数据库打交道的是在provider中,这里也体现了ContentProvider的用途。

  就大体说下android.provider.settings.Settings这个类吧。Settings里面创建了包含System和 Secure在内的几个内部类,每个内部类都对应了一张数据库表,也就是继承自BaseColumns类,System和Secure类分别对应着 system和secure数据库表。

  对于上面通过getInt获得的字段,其实是在初始获得数据库数值的时候,首先是有getString方法将数据库数据保留,然后在integer.parseInt将数据转换成int类型。这就是settings读取和保留数据的基本原理。

ref:

Android系统设置— android.provider.Settings
https://www.cnblogs.com/bluestorm/p/3665596.html

android系统属性获取及设置的更多相关文章

  1. getprop 获取android系统属性

    Android属性系统 property_get/property_set  (很透彻)http://www.blogjava.net/MEYE/articles/359773.html getpro ...

  2. 修改Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析

    简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改And ...

  3. Android 系统属性

    /************************************************************************ * Android 系统属性 * 说明: * 由于需 ...

  4. 变化Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析

    基本介绍: 从以前的博客中提到,我们,最后,通过关机过程变化Android关机属性(SystemProperties.java由JNI呼叫接入系统属性),当然,我们也能adb命令变化Android系统 ...

  5. 使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置

    使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置 http://icaoye.com/virtualbox-run-android/

  6. DOM属性获取、设置、删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Android : 反射机制获取或设置系统属性(SystemProperties)【转】

    本文转载自:https://blog.csdn.net/wei_lei/article/details/70312512 Android.os.SystemProperties 提供了获取和设置系统属 ...

  8. adb获取Android系统属性(adb shell getprop ***)数据来源

    在Android系统中,它的根文件系统下有几个用于启动系统时需要的配置文件: /init.rc /default.prop /system/build.prop 通常我们可以通过命令getprop获取 ...

  9. Android 系统属性SystemProperty分析

     http://www.cnblogs.com/bastard/archive/2012/10/11/2720314.html Android System Property 一 System Pro ...

随机推荐

  1. JAVA-常用集合类型转换例子(基础必备)

    package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  2. C#窗口防止闪烁两种方法

    public class PaintIncrease { public static void SetDoubleBuffered(object obj) { Type type = obj.GetT ...

  3. luogu 1631 序列合并

    priority_queue的使用,注意 a[1]+b[1],a[1]+b[2],a[1]+b[3],a[1]+b[4].......a[1]+b[n] a[2]+b[1]......... .. a ...

  4. C# this调用构造函数及析构函数

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace trai ...

  5. luogu P1052 过河

    传送门 容易想到设\(f_i\)表示走到坐标\(i\)的最少走过的石子数 但是这题数据范围很大,,, 不过一次可以走的步数范围是1-10,石子个数最多100个,所以中间会有很多多出来的没石子的路,可以 ...

  6. python技巧 列表推导

    val = [expression for value in collection if condition] 等价于 val = []for value in collection:    if c ...

  7. 阿里云服务器 ECS Linux 禁止IP 通过 SSH 登录

    这几天买的服务器老是受到黑客攻击被破解登录密码,今天修改了登录规则发现只有固定ip可以访问,其他ip即使有密码也无法登录我的服务器,但是能通过ip访问我的网站,哈哈. 限制 IP SSH 登录解决步骤 ...

  8. mysql 架构 ~ binlog_server

    一 简介 mysql binlog server 二 目的 实时备份线上的binlog 利用备份+binlog进行任何时间点的恢复 三  详细信息    1 基本命令 /usr/local/mysql ...

  9. Keil MDK忽略警告:文件末尾空白行警告

    使用Keil MDK调试程序的时候,没有习惯在每个文件的末尾增加一个空白行,结果文件一多,编译时产生的警告就一大堆,排错都得用滚轮滚好久,就一个空白行还得出警告,烦死了,烦死了,烦死了!实在受不了了, ...

  10. ActiveMQ集群

    1.ActiveMQ集群介绍 1.为什么要集群? 实现高可用,以排除单点故障引起的服务中断 实现负载均衡,以提升效率为更多客户提供服务 2.集群方式 客户端集群:让多个消费者消费同一个队列 Broke ...