Android 全局属性的保存方式-SystemProperty

一、需求说明
应用有个功能依赖一个属性开关,如果关了每次进应用都会弹出一个提示,这个提示有个选项叫做【不再提示】,设置不在提示后,只要不断电,每次再进应用,不会弹出,但是断电后,需要重新弹。

二、实现方法
这里是用SystemProperty来实现的,自定义sys开头系统属性。

先了解下SystemProperty属性的规则:

  • "ro."开头的属性, 一旦设置,就不能再被改变;非 “ro.” 开头的属性值可以被修改。

    例如:ro.his.prduct_model="KKK"这种产品型号。

  • "persist."开头的属性,可修改,断电修改值不受影响,如果是系统本身的属性恢复出厂后会恢复到原来的值,如果是应用自己新加的,恢复出厂属性就没了,因为属性表会按系统默认的重新覆盖写入。

    例如:persist.setting.energy_saveing="1"设置节能开关,系统默认是关的,用户使用过程中会打开,只要恢复出厂又会变回默认值,关的状态。(生命周期和settingprovider类似)

  • "sys."开头的属性,可修改,但是只要断电重启,属性就没了,因为这个属性是存在内存的。

    例如:这个就是我要用到的属性了,所以可以新建一个属性:sys.energy_tip.hide=“1”。属性值含义应用可自己设置。

三、SystemProperty设置获取工具类:

import java.lang.reflect.Method;

public class PropertyUtils {
   
    private static Class<?> sPropertyClass = null;
    private static Method sSetMethod;
    private static Method sGetMethod;
    private static Method sGetIntMethod;

    public static void set(String prop, String value) {
   
        try {
   
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值