/*** 恢复出厂设置,需要系统权限,以及系统签名 android:sharedUserId="android.uid.system"*/
public void resetSystem() {Intent intent = new Intent("android.intent.action.FACTORY_RESET");//8.0// intent = new Intent("android.intent.action.MASTER_CLEAR");//9.0intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);intent.setPackage("android");//以上区分不同系统intent.putExtra("android.intent.extra.REASON", "FactoryMode");//是否擦除SdCardintent.putExtra("android.intent.extra.WIPE_EXTERNAL_STORAGE", true);intent.putExtra("android.intent.extra.EXTRA_WIPE_ESIMS", true);sendBroadcast(intent);
}

恢复出厂设置的脚本

#/bin/shrm -rf /cache/recovery/command
echo "--wipe_data" > /cache/recovery/command
echo "--wipe_cache" >> /cache/recovery/command
sync
sync
sleep 1
sync
sync
reboot recovery

把以上脚本写到一个 reset.sh 文件中
push reset.sh 到 /data/local/tmp/
adb shell sh /data/local/tmp/reset.sh

恢复出厂设置的流程
(1)用户在系统设置中选择了“恢复出厂设置”。
(2)Android 系统在/cache/recovery/command 中写入“–wipe_data”。
(3)设备重启后发现了 command 命令,于是进入 recovery。
(4)recovery 将在 BCB(bootloader control block)中写入“boot-recovery”和“–wipe_data”具体是在 get_args()函数中——这样即便设备此时重启,也会再进入 erase 流程。
(5)通过 erase_volume 来重新格式化/data。
(6)通过 erase_volume 来重新格式化/cache。
(7)finish_recovery 将擦除 BCB,这样设备重启后就能进入正常的开机流程了。
(8)main 函数调用 reboot 来

Android恢复出厂设置代码+脚本相关推荐

  1. Android恢复出厂设置代码流程分析

    工作中排查到了恢复出厂设置的bug, 有一些细节是需要注意的,于是把这块的代码流程看一下: 代码基于:Android9.0 应用层: 就发送MASTER_CLEAR的广播, 这里没有带参数的 priv ...

  2. android 恢复出厂设置代码流程(Good!)

    android的恢复出厂设置 文章问多一般都是从完整的recover mode讲起,恢复出厂设置只是 recovery mode下一个小部分. recovery mode流程分析的文章很多,比较完整的 ...

  3. android 恢复出厂设置 代码,android恢复出厂设置以及系统升级流程

    http://www.bangchui.org/simple/?t5938.html ============================================= 恢复出厂设置流程概括: ...

  4. android 恢复出厂设置 时间,Android 恢复出厂设置后,时间不能恢复替:2013年1月1日...

    Android 恢复出厂设置后,时间不能恢复为:2013年1月1日 前言         欢迎大家我分享和推荐好用的代码段~~声明         欢迎转载,但请保留文章原始出处: CSDN:http ...

  5. Android 恢复出厂设置(recovery)

    Android 恢复出厂设置基本流程 (1)遥控器/按键板后门键触发,或者应用里面从系统设置里面恢复出厂选项也可触发: // 后面以系统设置的应用触发为例 (2)选择恢复出厂设置之后,就会发送广播&q ...

  6. Android 恢复出厂设置(系统时间不修改)

    Android恢复出厂设置时,只会将/data和/cache分区进行清除,时间和其他分区不会清除, 时间由rtc硬件模块来进行维护的,时间更新后会将时间信息写入此硬件模块,在系统启动时,RTC硬件驱动 ...

  7. Android恢复出厂设置流程分析【Android源码解析十】

    最近看恢复出厂的一个问题,以前也查过这方面的流程,所以这里整理一些AP+framework层的流程: 在setting-->备份与重置--->恢复出厂设置--->重置手机---> ...

  8. android恢复出厂设置流程分析

    原文出自:http://blog.csdn.net/wdaming1986/article/details/11988531 最近看恢复出厂的一个问题,以前也查过这方面的流程,所以这里整理一些AP+f ...

  9. Android 恢复出厂设置上层流程

    最近看恢复出厂的一个问题,以前也查过这方面的流程,所以这里整理一些AP+framework层的流程: 在setting-->备份与重置--->恢复出厂设置--->重置手机---> ...

最新文章

  1. hbase参数配置及优化
  2. OSI模型中的数据链路层和物理层的区分
  3. SwiftUI之如何创建常量绑定与自定义绑定
  4. 山寨今日头条的标题title效果
  5. python绘制散点图的函数_python matplotlib更新函数的散点图
  6. 在ubuntu怎样修改默认的编码格式
  7. R语言ggplot2绘图——柱状图
  8. 一般的模式匹配算法(求子串位置)
  9. System V 共享内存区
  10. 全球五十家知名传感器制造商分布盘点、特点分析
  11. DevOps-2-从凤凰项目谈起
  12. CentOS在ssh远程重装系统的步骤
  13. GLUE部分基准数据集介绍:RTE、MRPC、SST-2、QNLI、MNLI、QQP
  14. 阿里大厂面试:2亿条数据需要缓存,如何设计这个存储方案?
  15. 数学之美 读书心得与笔记
  16. 罗技无线鼠标响应缓慢
  17. look forward to 用法
  18. 2021年危险化学品生产单位安全生产管理人员试题及解析及危险化学品生产单位安全生产管理人员模拟考试
  19. SIPWeb视频对讲,群呼,广播会议一体方案分析
  20. 决策树相关算法——ID3、C4.5的详细说明及实现

热门文章

  1. event.stopPropagation/event.preventDefault()/event.cancelBubble等Event属性含义
  2. “Operatig System not found“解决办法
  3. 《传统文化与中医养生》笔记
  4. 炉石胖枫抽到什么刀片服务器准系统整机主板,炉石传说砰砰计划胖枫奇数防战解析_炉石传说砰砰计划胖枫奇数防战卡组思路_牛游戏网...
  5. 真的发生了删库跑路事件!
  6. 父亲故意灌醉即将上大学的17岁亲生女儿, 后来说了这样一段话
  7. 【移动安全技术】_第一站
  8. PS通道抠图-头发等丝状物细致抠图…
  9. 电脑上计算机和网络打不开怎么办,电脑登陆wifi设置网址打不开怎么办?
  10. 感恩工作平台心得体会_结合自己的工作感受浅谈感恩企业