您的位置:首页 > 移动开发 > Android开发

Android : 反射机制获取或设置系统属性(SystemProperties)

2016-11-01 18:01 357 查看
android.os.SystemProperties 提供了获取和设置系统属性的方法,但是这个类被隐藏了,应用开发时无法直接访问,可以通过反射的机制进行操作。

获取系统属性

public static public String getProperty(String key, String defaultValue) {
String value = defaultValue;
try {
Class<?> c = Class.forName("android.os.SystemProperties");
Method get = c.getMethod("get", String.class, String.class);
value = (String)(get.invoke(c, key, "unknown" ));
} catch (Exception e) {
e.printStackTrace();
}finally {
return value;
}
}


设置系统属性

public static void setProperty(String key, String value) {
try {
Class<?> c = Class.forName("android.os.SystemProperties");
Method set = c.getMethod("set", String.class, String.class);
set.invoke(c, key, value );
} catch (Exception e) {
e.printStackTrace();
}
}


示例

获取系统版本号(非Android版本)

getProperty("ro.build.display.id", "unknown");


通过 adb shell 打印系统属性的 key

打开系统的命令行工具(开始中输入cmd)

输入
adb shell
进入 adb shell

输入
cd system
进入 system 目录

输入
cat build.prop
查看所有系统属性



输入
cat build.prop | grep [指定字符串]
查看所有包含指定字符串的项



扩展:Android : adb 使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android