android 救援模式( RescueParty )

android RescueParty 服务:此服务为防止系统及persist应用进程异常恢复机制

1.系统属性介绍

persist.sys.enable_rescue:是否开启系统急救模式 true:开启(1) false:关闭(0无默认值也做为关闭处理)
persist.sys.disable_rescue:( true:禁止, false:开启)是否禁止系统急救模式,与以上冲突如persist.sys.enable_rescue设置为1则不再检测此属性
sys.rescue_level:救援级别
        1:(LEVEL_RESET_SETTINGS_UNTRUSTED_DEFAULTS)重置不信任默认数据库字段
               resetAllSettings(context, Settings.RESET_MODE_UNTRUSTED_DEFAULTS);
        2:(LEVEL_RESET_SETTINGS_UNTRUSTED_CHANGES)重置不信任更改数据库字段
               resetAllSettings(context, Settings.RESET_MODE_UNTRUSTED_CHANGES);
        3:(LEVEL_RESET_SETTINGS_TRUSTED_DEFAULTS) 重置可信数据库字段
               resetAllSettings(context, Settings.RESET_MODE_TRUSTED_DEFAULTS);
        4:(LEVEL_FACTORY_RESET) 恢复出厂设置(会进入recovery模式选择是否恢复出厂设置)
               RecoverySystem.rebootPromptAndWipeUserData(context, TAG);
        sys.rescue_boot_count:SystemServer进程启动计数,超过TRIGGER_COUNT次则触发sys.rescue_level对应任务
            RescueParty.noteBoot

2.触发条件

        两次进程挂掉时间在规定时间内(SystemServer 为BOOT_TRIGGER_WINDOW_MILLIS  persist APP 为PERSISTENT_APP_CRASH_TRIGGER_WINDOW_MILLIS),且重复挂掉TRIGGER_COUNT次则触发系统设置急救模式的方式(sys.rescue_level)

3.编译设置系统属性

        在系统system.prop中设置persist.sys.enable_rescue跟sys.rescue_level即可

备注:除非数据库经常出问题,否则建议将救援级别设置为4走恢复出厂设置流程。原生急救模式会进入Recovery让用户选择是否恢复出厂设置,若不想进入Recovery则可将:RecoverySystem.rebootPromptAndWipeUserData(context, TAG)改为:RecoverySystem.rebootWipeUserData(context)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值