android SystemProperties--如何配置系统属性
2015-06-17 09:56
1456 查看
实现一个上层设置中的开关控制关机时是否在充电时打开呼吸灯的需求:
明确如何实现:
上层写入一个系统属性的变量,在开关打开和关闭时改变变量的值(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用法: 监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
注:实际中是没有中括号的。
相关文章推荐
- (译)Android官方提供的支持不同屏幕大小的全部方法
- Android Studio 简单介绍和使用问题小结
- android studio 更新 Gradle错误解决方法
- Android ListView的动态查询与更新
- 转载 解决Android与服务器交互大容量数据问题
- 【Android】下拉列表、拖动条、星级评分条与标签文本的触摸事件
- android自定义Switch样式
- android代码混淆之自定View问题
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
- android 自定义顶部状态栏颜色
- android 之 级联下拉 实现弹出和下拉两种效果
- Android中pendingIntent的深入理解
- 学习android第二天 Android单元测试
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
- android在Canvas使用drawBitmap画一幅画
- Android Studio 启动连接服务器的问题
- Android资源使用详解(一)
- Android 设置EditText光标颜色及粗细
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- Android Loader学习