在MasterClearConfirm.java中显示恢复出厂提示和对应button,点击button后调用button的
click方法
1. 如果选中erase sd card, 则startService(ExternalStorageFormatter)
2. 如果没有则直接发送广播,sendbroadcast(android.intent.action.MASTER_CLEAR), 对应的在
MasterClearReceiver会接受此广播,在onReceive()方法中会调用
RecoverySystem.rebootWipeUserData()方法.
3. RecoverySystem.rebootWipeUserData()的流程如下:
3.1. 广播intent “android.intent.action.MASTER_CLEAR_NOTIFICATION” 通知所有接
收端处理相关行为.
3.2. 等待所有接收完成动作.
3.3. 写入一个command file于/cache/recovery/command, 內容为” --wipe_data”
3.4. 重新开机进入ecovery mode.
4.进入recovery mode之后,读取/cache/recovery/command, 內容為” --wipe_data”
5.按照读取的command,进行wipe data操作。
6.操作成功之后重新开机进去normal mode
click方法
1. 如果选中erase sd card, 则startService(ExternalStorageFormatter)
2. 如果没有则直接发送广播,sendbroadcast(android.intent.action.MASTER_CLEAR), 对应的在
MasterClearReceiver会接受此广播,在onReceive()方法中会调用
RecoverySystem.rebootWipeUserData()方法.
3. RecoverySystem.rebootWipeUserData()的流程如下:
3.1. 广播intent “android.intent.action.MASTER_CLEAR_NOTIFICATION” 通知所有接
收端处理相关行为.
3.2. 等待所有接收完成动作.
3.3. 写入一个command file于/cache/recovery/command, 內容为” --wipe_data”
3.4. 重新开机进入ecovery mode.
4.进入recovery mode之后,读取/cache/recovery/command, 內容為” --wipe_data”
5.按照读取的command,进行wipe data操作。
6.操作成功之后重新开机进去normal mode