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

原文:http://blog.csdn.net/doris_d/article/details/52998237


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

猜你喜欢

转载自blog.csdn.net/lindonghai/article/details/78782568