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;
}
}