最近在8.0系统上面调试公司自主开发的setting,发现无法恢复出厂,原来在7.1 7.0 6.0 5.1上面使用的广播已经没有效果,查阅8.0的原生Settings源码之后发现恢复出厂的代码在8.0上面已经偷偷摸摸地换成了用另外一个广播android.intent.action.FACTORY_RESET。原来如此。
特将恢复出厂的方法总结如下:
public static void startFactoryDefault(Context context) throws Exception {
if (Build.VERSION.SDK_INT < 26) {
context.sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
} else {
Intent intent = new Intent("android.intent.action.FACTORY_RESET");
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
intent.setPackage("android");
context.sendBroadcast(intent);
}
}
就酱紫,老夫还需要管它什么版本号啊?!