1、手机系统所有属性可以通过adb命令获取:adb getprop ;
2、也可以通过代码获取,一部分属性可以通过android.os.Build这个类获取,但是有一部分获取不了,比如手机子品牌“ro.product.brand.sub”,那么可以通过反射android.os.SystemProperties的方法获取,这里做个记录,代码如下:
/**
* 设置属性值
*
* @param key 长度不能超过31,key.length <= 30
* @param value 长度不能超过91,value.length<=90
*/
public static void set(String key, String value) {
// android.os.SystemProperties
// public static void set(String key, String val)
try {
Class<?> cls = Class.forName("android.os.SystemProperties");
Method method = cls.getMethod("set", String.class, String.class);
method.invoke(null, key, value);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取属性值
*
* @param key 长度不能超过31,key.length <= 30
* @param defValue
* @return
*/
public static String get(String key, String defValue) {
// android.os.SystemProperties
// public static String get(String key, String def)
try {
Class<?> cls = Class.forName("android.os.SystemProperties");
Method method = cls.getMethod("get", String.class, String.class);
return (String) method.invoke(null, key, defValue);
} catch (Exception e) {
e.printStackTrace();
}
return defValue;
}
}