android.os.SystemProperties反射调用

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

猜你喜欢

转载自blog.csdn.net/weixin_41477306/article/details/113311150