1.定义属性的操作类
//获取属性
static String getProperty(String key, String defaultValue) {
String value = defaultValue;
try {
//获取对应的属性类 SystemProperties
Class<?> c = Class.forName("android.os.SystemProperties");
//得到具体的方法,第一个参数 表示要查找的方法名 后面的参数指定对应的形参类型
Method get = c.getMethod("get", String.class, String.class);
//Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,返回值也是对象
//invoke 就是调用对应类的对应方法 第一个参数是要调用的方法所隶属的对象实体 第二个参数是方法的参数值
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();
}
}
2.调用获取属性
String property = getProperty("ro.oem.key1", "unknown");