AOSP: 如何恢复出厂设置?
16lz
2021-01-26
在手机安装了很多垃圾应用以及手机反应迟钝之后,除了更换一部新手机之外,我想还有一个好办法就是“恢复出厂设置”。
那麽,android 是如何实现的呢?
先看一个 demo,没有那麽惊艳,只是说明问题。
看一下效果图,这样会直观一点。
第一张图,是我自己的布局,后两张图是 android 自己的东西。
点击 “恢复出厂设置”会相继跳到相关的页面。
实现代码:
package mark.zhang;import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.os.Bundle;import android.view.View;public class RestoreFactorySettingsActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onRestoreSetting(View v) { Intent intent = new Intent(); String pkgName = "com.android.settings"; String className = "com.android.settings.MasterClear"; // methond 1 // intent.setClassName(pkgName, className); // methond 2 ComponentName cn = new ComponentName(pkgName, className); intent.setComponent(cn); startActivity(intent); }}
代码 so easy,但是要想把整个流程弄明白,没有那麽简单。
从代码上我们可以看出,直接调用 com.android.settings.MasterClear.java 这个 Activity 哟!
具体调用流程,推荐:http://webcenterol.iteye.com/blog/1231224
这里提醒几点,共享:
1. MasterClear 发送一个广播
sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
这个广播被 MasterClearReceiver(继承自 BroadcastReceiver),注册信息可以见:源码路径/frameworks/base/core/res/AndroidManifest.xml
2. MasterClear 中的 onActivityResult 与com.android.settings.ConfirmLockPattern.java 相关(可以自行研究)。
更多相关文章
- Android高手进阶教程(八)之----Android(安卓)Widget开发案例(世
- 跟Android初学者分享几点经验
- android中webview控件和javascript交互实例
- Android:Dagger2系列2 实例解析(更新完毕)
- 浅谈Android(安卓)O Touch声音播放流程
- Flutter Android/iOS包大小分析
- Android中MaterialSearchView(搜索框)的简单实用
- 手动从Eclipse移植Android项目到Android(安卓)Studio记录
- android-编译