Android4.4 添加系统属性
Android源码GlobalAction设置中,要用到一些全局标志或者说变量,这时候要给android系统添加自己想要的属性。
1.Settings.Global.putInt()
Settings.Global.putInt(mContext.getContentResolver(),Settings.Global.AIRPLANE_MODE_ON, 1);//1:开启飞行模式,0:关闭飞行模式
需求:添加LOW_POWER_TEST系统属性
Settings.Global.putInt(mContext.getContentResolver(),Settings.Global.LOW_POWER_TEST, 1);
2.添加
<1>在frameworks/base/core/java/android/provider/Settings.java定义系统属性名:LOW_POWER_TEST,
public static final class Global extends NameValueTable {
/*** Whether Airplane Mode is on.*/
public static final String AIRPLANE_MODE_ON = "airplane_mode_on";
public static final String AIRPLANE_MODE_CHANGED = "airplane_mode_changed";
//add
public static final String LOW_POWER_TEST = "low_power_test";
}
<2>系统启动加载这个属性
static {
// these are moving directly from system to global
MOVED_TO_GLOBAL.add(Settings.Global.AIRPLANE_MODE_ON);
//add
MOVED_TO_GLOBAL.add(Settings.Global.LOW_POWER_TEST);
}
<3>SystemProperties
android的系统属性设置最终的调用流程在java层:Systemproperties.set(name, value) 和Systemproperties.set(name, value)
调用jni代码:property_set()和property_get() ----->system/core/init/property_service.c调用:property_set()和__property_get()
添加系统属性设置的程序,也必须有system或root权限,添加路径:system/core/rootdir/init.rc
在on post-fs-data 下添加:
setprop persist.sys.low_power_test 1 //persist.sys前缀名, 1为初始值
<4>编译android源码后
#adb shell
#getprop //就可以看到下面属性,说明设置成功
[persist.sys.low_power_test]: [1]
使用新加系统属性设置
Settings.Global.putInt(mContext.getContentResolver(),Settings.Global.LOW_POWER_TEST, 1 );//设置LOW_POWER_TEST属性为1
Settings.Global.getInt(mContext.getContentResolver(),Settings.Global.LOW_POWER_TEST, 0) ;//获取LOW_POWER_TEST属性状态
Android4.4 添加系统属性相关推荐
- 怎么在Android系统中增加系统属性?
系统属性:就是在整个Android系统中都是可以调用的属性,比如我们某个功能,在fw层和c层都有改动,我们需要用一个变量去控制这个功能是否启用和关闭,这就需要用到全局的系统属性: /system/bu ...
- ios给系统添加分类管理属性
ios给系统添加分类管理属性 swift 测试 import UIKit import ObjectiveCstruct MDTableConst{static let associatedKey = ...
- java 反射 systemproperties,Android添加自己的系统属性(反射调用SystemProperties)
我们可以通过调用SystemProperties.java类设置和获取系统的属性,但是这个类目前是hide的.也就是我们在开发的时候想直接调用时不可以的.除非你是在系统层上面的开发. 这里通过Andr ...
- Android 使用反射机制获取或设置系统属性(SystemProperties)
网上有很多介绍,但是感觉比较混乱!由于自己能力有限,只做一些简单易懂的介绍. 一.获取和设置SystemProperties属性的代码 下面是通过反射来获取和设置系统属性的代码 public fina ...
- Confluence 6 配置系统属性
2019独角兽企业重金招聘Python工程师标准>>> 在这个页面中描述 Confluence 启动时如何设置 Java 属性和其他选项. 请查看 How to fix out of ...
- WPF整理-为User Control添加依赖属性
WPF整理-为User Control添加依赖属性 原文:WPF整理-为User Control添加依赖属性 依赖属性 ".NET properties are nothing more t ...
- jdk 安全属性_系统属性的JDK 12 Javadoc标记
jdk 安全属性 JDK 12 Early Access Build 20 ( 2018/11/15 )可用,可以用来试用新的Javadoc标签{@systemProperty} . 新的{@syst ...
- 系统属性的JDK 12 Javadoc标记
JDK 12 Early Access Build 20 ( 2018/11/15 )可用,可以用来试用新的Javadoc标签{@systemProperty} . 新的{@systemPropert ...
- 计算机管理中添加用户属性,如何在计算机右键菜单栏中添加属性选项
如何在计算机右键菜单栏中添加属性选项 电脑是现在最常用的工具之一,有些用户想知道如何在计算机右键菜单栏中添加属性选项,接下来小编小编就给大家介绍一下具体的操作步骤. 具体如下: 1. 首先第一步按下[ ...
最新文章
- Transforms CTM, 转换矩阵
- jQueryEasyUI 的入门
- 20172310 2017-2018-2 《程序设计与数据结构》第十一周学习总结
- 使用Apriori算法进行关联分析
- Cocos2D-X2.2.3学习笔记5(UI系统)
- mysql镜像压缩包使用_如何连接docker的mysql镜像
- 自动采集壁纸的微信小程序
- Mybatis自学日志04(日志工厂)
- [编织消息框架][优化系统]突破连接上限(上)
- Linux时间子系统之(五):POSIX Clock
- 试题14 回文数(详解)
- C++Builder2010创建线程
- CentOS 6.3_Nagios安装笔记
- 链路聚合的配置(思科)
- 码力十足学量化|如何获取指数成分股及权重数据
- 如何让html 兼容IE和chrome,chrome兼容模式如何切换成IE兼容模式_chrome兼容模式切换成IE兼容模式的方法-系统城...
- 今日头条 ANR 优化实践系列 - Barrier 导致主线程假死
- 中龙电力什么理财产品预期收益高又安全?介绍四类理财产品
- php手册经常见到,什么是“二进制安全”?
- 手写基于redis实现分布式限流器-pdlr