清除数据与恢复出厂:远程触发
两种擦除方式
| API | 效果 | 触发权限 |
|---|---|---|
| wipeData() | 清除当前用户的应用数据和设置 | Device Owner / Profile Owner |
| factoryReset() | 完全恢复出厂设置,清除所有用户数据 | 只有 Device Owner |
两者都是不可逆的,执行后数据无法恢复。
wipeData()(清除当前用户数据)
相当于 Android 设置里的「清除所有数据」按钮——清除当前用户的应用数据、设置、登录的账号,但保留设备本身。设备恢复到刚开机的状态,需要重新配置。
factoryReset()(恢复出厂设置)
只有 Device Owner 能调用。完全清空设备,恢复到出厂状态——包括所有用户的所有数据。这个 API 的设计初衷是企业 MDM 在设备丢失时远程擦除。
OwnDroid API 远程触发:
WIPE_DATA() # 清除当前用户数据(如果支持)
# factoryReset 需要单独操作,OwnDroid 界面上应该有对应入口
安全考虑
- 无法被阻止——一旦 Device Owner 调用 factoryReset(),系统会执行,没有二次确认弹窗。所以千万不要把 OwnDroid 的 API Key 泄漏
- 不擦除 SD 卡(大部分设备)——恢复出厂设置默认只擦除内部存储,外置 SD 卡的数据可能还在
- FRP(Factory Reset Protection)——如果设备开了 Google 的 FRP,恢复出厂后需要用当初绑定的 Google 账号解锁。企业设备建议先关闭 FRP 再设置 Device Owner
适合什么场景
- 企业 MDM:设备丢失时远程擦除防止数据泄露
- 出售/赠送设备前:自己手动擦除一次,不用等 Device Owner 远程
- 设备数据异常且无法正常恢复时:但 OwnDroid 本身就是 Device Owner——如果 OwnDroid 出问题了你还能操作它触发擦除吗?注意 Device Owner 状态下 OwnDroid 自身无法被卸载
为什么我在 OwnDroid 界面上找不到这个选项?
OwnDroid 的 wipeData / factoryReset 按钮被设计得比较隐蔽——这是出于安全考虑。一般在系统管理区的角落或长按某个菜单才能触发。需要通过 API 远程调用时更直接。