android SystemProperties--如何配置系统属性
来源:互联网 发布:表格分析数据怎么取消 编辑:程序博客网 时间:2024/06/07 12:38
实现一个上层设置中的开关控制关机时是否在充电时打开呼吸灯的需求:
明确如何实现:
上层写入一个系统属性的变量,在开关打开和关闭时改变变量的值(bool类型即可),底层会去读取这个系统属性的值,从而做控制;
1.上层需要做的是如何进行设值:
import android.os.SystemProperties;
SystemProperties.set(String key, String value);
SystemProperties.set("persist.sys.charging.led", "true");//设值,value总是String
SystemProperties.get("persist.sys.charging.led");//获取,有许多获取方法
frameworks/base/core/java/android/os下的SystemProperties.java类
注意:key必须以persist.sys.开头,才能成功写入,测试以自定义的开头,或者以persist.开头都无法成功设值(原因不明,可能是权限问题)。
2.查看设值是否成功的方法:
adb shell进去输入如下命令:
getprop 用法:getprop [key]获取系统属性,没有key则获取全部
setprop用法:setprop [key] [value]一一对应,都需要
watchprops用法: 监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
明确如何实现:
上层写入一个系统属性的变量,在开关打开和关闭时改变变量的值(bool类型即可),底层会去读取这个系统属性的值,从而做控制;
1.上层需要做的是如何进行设值:
import android.os.SystemProperties;
SystemProperties.set(String key, String value);
SystemProperties.set("persist.sys.charging.led", "true");//设值,value总是String
SystemProperties.get("persist.sys.charging.led");//获取,有许多获取方法
frameworks/base/core/java/android/os下的SystemProperties.java类
注意:key必须以persist.sys.开头,才能成功写入,测试以自定义的开头,或者以persist.开头都无法成功设值(原因不明,可能是权限问题)。
2.查看设值是否成功的方法:
adb shell进去输入如下命令:
getprop 用法:getprop [key]获取系统属性,没有key则获取全部
setprop用法:setprop [key] [value]一一对应,都需要
watchprops用法: 监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
注:实际中是没有中括号的。
{00030725 如何增加或修改Android Property的值}
补:
2017.2.15:
最近又使用到一次SystemProperties,key值的命名以“sys.”开头也是可以使用的。所以之前上面的表述耗时存在问题的。
关于第三方应用无法使用SystemProperties这个接口的问题:
都需要将Android SDK 目录下data下的layoutlib.jar文件加到当前工程的附加库路径中,eclipse和androidstudio稍有区别:
eclipes直接将layoutlib.jar包拷贝到工程目录下的libs就可以使用了,但是androidstudio由于是通过gradle来配置编译lib库的,所以需要在build.gradle文件定义个变量,获取SDK_DIR路径。
String SDK_DIR = System.getenv("ANDROID_SDK_HOME")if(SDK_DIR == null) { Properties props = new Properties() props.load(new FileInputStream(project.rootProject.file("local.properties"))) SDK_DIR = props.get('sdk.dir');} dependencies { provided files("${SDK_DIR}/platforms/android-24/data/layoutlib.jar") }
参考:http://www.jianshu.com/p/74fdac3a0e35 0 0
- android SystemProperties--如何配置系统属性
- 如何使用Android系统属性(SystemProperties)
- Android 属性系统(SystemProperties)
- Android Systemproperties Android系统属性
- Android系统属性SystemProperties分析
- Android 系统属性 SystemProperties 分析
- Android系统属性SystemProperties分析
- Android SystemProperties 系统属性分析
- android设置系统属性SystemProperties
- Android系统属性SystemProperties分析 .
- Android系统属性SystemProperties…
- Android SystemProperties系统属性分析
- Android系统属性SystemProperties分析
- Android系统属性SystemProperties分析
- 浅析Android系统属性SystemProperties
- 浅析Android系统属性SystemProperties
- Android SystemProperties系统属性详解
- Android SystemProperties系统属性详解
- Java Too many open files Linux
- laravel Service Provider
- PC 上 QEMU模拟arm
- DIV+CSS定位position
- (译)Android官方提供的支持不同屏幕大小的全部方法
- android SystemProperties--如何配置系统属性
- html 查看html元素绑定的事件与方法的利器
- j2se学习笔记-容器
- java Map 按value排序
- openstack中Nova组件servers的所有python API 汇总
- pro git
- spring mvc +mybatis+spring +shrio 项目开发遇到的问题及解决方案。
- (转)完整java开发中JDBC连接数据库代码和步骤
- 二个硬盘对拷系统的方法