在出厂重置和系统更新期间,系统是否广播任何意图?

时间:2012-02-29 11:07:22

标签: android factory

如何在android

中调用工厂重置

2 个答案:

答案 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)

没有事件可以跟踪恢复出厂设置