`
suking3
  • 浏览: 32723 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

android settings--简述获取部分系统属性

阅读更多

在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读取和保留数据的基本原理。

 

 

 

 

 

0
1
分享到:
评论

相关推荐

    0001-Android-Settings-displaySettings.patch

    该补丁用在rk3288android5.1上,在设置->显示 里添加了一个"永久隐藏状态栏和虚拟按键"的选项,文件名:0001-Android-Settings-displaySettings.patch

    0001-Android-Settings-displaySettings_RK3288_

    "0001-Android-Settings-displaySettings.patch"这个文件是补丁的具体实现,它是以Git或其他版本控制系统中的补丁格式存储的,用于将源代码的修改应用到现有的代码库上。通过分析这个补丁文件,我们可以了解到具体的...

    Android-Settings-Ethernet-master.zip

    4. **设置应用(Settings App)**:"Android-Settings-Ethernet-master"很可能包含的是Android设置应用的源代码,这部分代码更新或添加了以太网配置界面,允许用户输入静态IP、子网掩码、网关和DNS服务器等信息。...

    Android8.1-Settings-display里添加控制屏幕旋转方向的菜单.zip

    基于Android8.1,在设置-显示下添加一个控制屏幕显示方向的菜单, 包括0°、90°、180°、270°四个方向, 主要是用ListPreference实现菜单显示。 有实现的Java源码。 代码一验证有效。

    settings-v0.71-1.tgz

    settings-v0.71-1.tgz 是一个与Cacti监控系统相关的压缩包文件,其版本号为0.71-1。Cacti是一款开源的网络监控和图形性能工具,广泛用于网络管理员和IT专业人员,以监控网络设备和服务的性能。这个压缩包可能包含了...

    maven-settings-3.0.jar

    maven-settings-3.0.jar

    linux系统android-studio-ide-193.6514223安装文件

    《Linux系统下Android Studio 4.0安装指南》 Android Studio是Google官方推出的Android应用程序开发集成开发环境(IDE),版本号为193.6514223的安装文件对应于Android Studio 4.0。对于Linux用户来说,安装这一...

    qt-settings-19-23.12.el7.centos.noarch.rpm

    官方离线安装包,亲测可用

    PyPI 官网下载 | settings-overrider-0.5.0.tar.gz

    标签中提到了"zookeeper"、"分布式"、"云原生"和"cloud native",这些关键词暗示`settings-overrider`可能与分布式系统和云环境下的配置管理有关。Zookeeper是一个分布式的、开放源码的协调服务,常用于管理分布式...

    Android代码-SIM卡运营商获取手机号码功能暂时无法实现.zip

    开发者通常可以通过以下方式获取部分SIM卡相关的信息: 1. **SIM卡运营商信息获取**: - 使用`SubscriptionManager`类:Android 5.0(API级别21)及以上版本提供了`SubscriptionManager`,可以获取到所有可用的...

    maven-settings-builder-3.0.jar

    maven-settings-builder-3.0.jar

    Python库 | django-settings-custom-1.0.9.tar.gz

    为了解决这个问题,"django-settings-custom-1.0.9"库应运而生,它提供了一种更加灵活的方式来管理和组织Django项目的设置。 "django-settings-custom-1.0.9"库是专门为Django定制的设置模块,旨在提高代码的可维护...

    VMware安装Android2.2-x86图文教程

    今天我们将学习如何在 VMware 中安装 Android 2.2-x86 操作系统。 首先,需要下载 Android 2.2-x86 的ISO镜像文件,可以从官方网站下载。下载完成后,需要在 VMware 中新建一个虚拟机,并选择“FreeBSD”或“Other ...

    Android-史上最全、最完整,获取设备信息、获取手机唯一标识

    6. **Android ID**:使用`Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID)`可以获取一个全局唯一的64位十六进制字符串,但注意它可能会在出厂重置后改变。 7. **Wi-Fi MAC地址**:...

    gnome-settings-daemon-3.32.0-16.el8.x86_64.rpm

    离线安装包,亲测可用

    gnome-settings-daemon-3.28.1-11.el7_9.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    Android-一个获取Android设备唯一id的工具类

    Android系统提供了多种方法来获取与设备相关的唯一标识,但每种方法都有其局限性和适用场景。例如: 1. **IMEI(国际移动设备识别码)**:这是GSM和UMTS网络中手机的唯一标识,可以通过`TelephonyManager`获取。...

    Android Studio Koala(android-studio-2024.1.1.12-windows.exe.002)

    Android Studio Koala 2024.1.1(android-studio-2024.1.1.12-windows.exe)适用于Windows系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: ...

    Android oschina-android-app(开源中国).zip

    描述部分重复了标题,表明这是一个与Android oschina-android-app相关的压缩文件,可能包含了该应用的源代码、资源文件、构建脚本等开发所需的所有元素。通常,开发者会将这些内容打包成.zip或.rar文件以便于分发和...

    Android Settings

    Android Settings是Android操作系统中至关重要的组成部分,它是用户与系统进行交互,设置设备个性化参数的主要入口。这篇详细的文章将带你深入理解Android Settings的源码实现,探讨其工作原理以及如何利用这些知识...

Global site tag (gtag.js) - Google Analytics