android属性用Systemproperties.set(name, value),
获取android属性用Systemproperties.get(name)
需要注意的是android属性的名称是有一定的格式要求的

反射调用方式:

        try {
            Class<?> clazz = Class.forName("android.os.SystemProperties");
            Method  methodset = clazz.getMethod("set",String.class,String.class);
            methodset.setAccessible(true);
            methodset.invoke(null,"persist.log.tag.Bt","V");


            Method methodget = clazz.getMethod("get", String.class);
            methodget.setAccessible(true);
            String level = (String) methodget.invoke((Object)null, "persist.log.tag.Bt");
            if(level==null||level.equals("")) {
                Log.d(TAG,"logcat 没有开启");
            }else {
                Log.d(TAG,"logcat :"+level);
            }
        }catch (Exception e) {
            Log.d(TAG,"Exception");
            e.printStackTrace();
        }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐