首页 > 移动平台 > 详细

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

时间:2018-06-09 14:59:30      阅读:304      评论:0      收藏:0      [点我收藏+]

本文转载自:https://blog.csdn.net/wei_lei/article/details/70312512

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;  
    }
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

设置系统属性

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();
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

示例

  • 获取系统版本号(非Android版本)
getProperty("ro.build.display.id", "unknown");
  • 1
  • 1

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

  • 打开系统的命令行工具(开始中输入cmd)
  • 输入 adb shell 进入 adb shell
  • 输入 cd system 进入 system 目录
  • 输入 cat build.prop 查看所有系统属性

    技术分享图片

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

    技术分享图片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wei_lei/article/details/70312512
文章标签: SystemProperties

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

原文:https://www.cnblogs.com/zzb-Dream-90Time/p/9159409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!