Android(安卓): 反射机制获取或设置系统属性(SystemProperties)
16lz
2021-01-25
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(); } }
示例
- 获取系统版本号(非Android版本)
getProperty("ro.build.display.id", "unknown");
通过 adb shell 打印系统属性的 key
- 打开系统的命令行工具(开始中输入cmd)
- 输入
adb shell
进入 adb shell - 输入
cd system
进入 system 目录 输入
cat build.prop
查看所有系统属性输入
cat build.prop | grep [指定字符串]
查看所有包含指定字符串的项
扩展:Android : adb 使用
更多相关文章
- Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
- android 打开系统程序 显示系统图片与视频(用于备忘)
- Android中NavigationView的使用与相关问题解决
- android c和java代码中获取配置属性
- Android自定义控件之自定义进度条
- Android之Notification-android学习之旅(二)
- Android学习笔记之获得屏幕属性DisplayMetrics
- Android(安卓)L Camera2 API 使用实例程序汇总
- Ubuntu16.04编译Android8.0系统源码