以下两种恢复出厂设置方案适用于8.0以上平台
方案一,主要是采用intent广播接口方式。
方案二,主要是直接调引用RecoverySystem类。
两种方案均验证有效。
方案一:
// 对应hide类型的intent的TAG定义:
public static final String EXTRA_REASON = "android.intent.extra.REASON"; public static final String EXTRA_WIPE_EXTERNAL_STORAGE = "android.intent.extra.WIPE_EXTERNAL_STORAGE";
public static final String EXTRA_WIPE_ESIMS = "com.android.internal.intent.extra.WIPE_ESIMS";
public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
//是否清除SDCard和ESim数据变量定义:
private boolean mEraseSdCard=false; //是否清除SDCard上的数据,默认为false,具体看有无外部sdcard来决定
private boolean mEraseEsims=true;//是否清除ESIMS上的数据,默认为true
//恢复出厂设置接口定义:
private void doMasterClear() {
Intent intent = new Intent(Intent.ACTION_FACTORY_