如何在android
中调用工厂重置答案 0 :(得分:6)
老话题,但也许可以帮助别人。
没有任何官方事件表明将执行Factory Data Reset。但是对于Android< = 22(Lollipop),存在非官方(隐藏在代码中)广播意图 android.intent.action.MASTER_CLEAR ,当外部存储将被格式化时会触发。如果您单击Android设置的恢复出厂设置,则会触发MASTER_CLEAR意图,结果您可以声明将恢复出厂设置。
示例代码:
// Class Member
private BroadcastReceiver receiver;
.
.
.
// In some method, e.g. onCreate()
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.ACTION_SHUTDOWN");
filter.addAction("android.intent.action.MASTER_CLEAR");
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(
Intent.ACTION_SHUTDOWN)) {
Log.d(TAG, "SHUTDOWN")
}
if (intent.getAction().equals("android.intent.action.MASTER_CLEAR")) {
Log.d(TAG, "FACTORY DATA RESET")
}
};
registerReceiver(receiver, filter);
如果出厂重置,那么您将看到MASTER_CLEAR操作,然后是SHUTDOWN操作。我测试了Nexus 5和Androids 4.4.4,5.0,6.0,6.0.1并且正常工作。
答案 1 :(得分:0)
没有事件可以跟踪恢复出厂设置