Systemproperties用法
2015-07-24 14:05
288 查看
Systemproperties类在android.os下,但这个类是隐藏的, 上层程序开发无法直接使用。其实用java的反射机制是可以使用这个类。何谓java反射机制,请自行研究学习,在此不做介绍,放到后续文章中。用JNI 的方式,可以绕过Systemproperties这个类,直接本地调用来实现创建、获取及修改系统属性。在此也不做介绍,也放到后续文章中。
这篇文章主要介绍android系统属性的命名方式:
创建与修改android属性用Systemproperties.set(key, value),获取android属性用Systemproperties.get(key,def),需要注意的是android属性的名称是有一定的格式要求的,如下: 前缀必须用system\core\init\property_service.c中定义的前缀 ,进行系统属性设置的程序也必须有system或root权限,
如何将android程序的权限提升到system权限?方法是这样的:
1、在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system "。
2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE := platform 。
经过以上两步就可以把ap的权限提升到system权限了。 但是用这种方法提升权限有两个弊端,如下:
1、程序的拥有都必须有程序的源码;
2、程序的拥有都还必须有android开发环境,就是说自己能make整个android系统。
一般能做这两点的,基本上都是开发人员!
Systemproperties.get(key,def)如果能找到key,则返回对应的value.否则返回def字符串
注意:key赋值时如果是system属性时要用“sys.”开头。例如:private final String mClientNameKey = "sys.cli.info";
这篇文章主要介绍android系统属性的命名方式:
创建与修改android属性用Systemproperties.set(key, value),获取android属性用Systemproperties.get(key,def),需要注意的是android属性的名称是有一定的格式要求的,如下: 前缀必须用system\core\init\property_service.c中定义的前缀 ,进行系统属性设置的程序也必须有system或root权限,
如何将android程序的权限提升到system权限?方法是这样的:
1、在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system "。
2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE := platform 。
经过以上两步就可以把ap的权限提升到system权限了。 但是用这种方法提升权限有两个弊端,如下:
1、程序的拥有都必须有程序的源码;
2、程序的拥有都还必须有android开发环境,就是说自己能make整个android系统。
一般能做这两点的,基本上都是开发人员!
Systemproperties.get(key,def)如果能找到key,则返回对应的value.否则返回def字符串
注意:key赋值时如果是system属性时要用“sys.”开头。例如:private final String mClientNameKey = "sys.cli.info";
相关文章推荐
- Linux下安装Nginx详细图解教程
- [转]opencv中标定函数calibrateCamera
- Openssl verify命令
- 模拟器不能运行 Failed to start emulator: Cannot run program "/home/kroaity/Downloads/android-sdk-linux//tools/emulator": error=2
- Linux 内核中RAID5源码详解之stripe_head的管理
- 镜像网站
- 我的bashrc - PS1
- 设置Tomcat启动窗体Title
- 关于apache做301的问题
- 从零开始搭建hadoop分布式集群环境:(五)hadoop完全分布式集群环境配置
- squid需要调的几项参数
- nopCommerce的源代码结构和架构
- linux服务器做路由,映射同网段机器
- CentOS yum中科大源
- shell脚本中一些特殊符号
- mysql创建、删除用户与授权(linux测试)
- CentOS6.6(单用户模式)重设root密码
- Tomcat内存设置详解
- vs project properties配置
- 30分钟玩转Docker系列课程1---初识Docker