栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

通过反射方式获取Android设备系统属性

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过反射方式获取Android设备系统属性

1.定义属性的操作类

//获取属性
    static String getProperty(String key, String defaultValue) {
        String value = defaultValue;
        try {
            //获取对应的属性类 SystemProperties
            Class c = Class.forName("android.os.SystemProperties");
            //得到具体的方法,第一个参数 表示要查找的方法名   后面的参数指定对应的形参类型
            Method get = c.getMethod("get", String.class, String.class);
            //Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,返回值也是对象
            //invoke 就是调用对应类的对应方法  第一个参数是要调用的方法所隶属的对象实体  第二个参数是方法的参数值
            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();
        }
    }

2.调用获取属性

String property = getProperty("ro.oem.key1", "unknown");
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/462799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号