我正在为我的galaxy nexus 制作一个实用程序应用程序。我想以安全模式重新启动我的平板电脑。
我试着往里看PowerManager
PowerManager p = (PowerManager) getSystemService(POWER_SERVICE);
p.reboot(reason);
看来这不会以安全模式重新启动设备。是否可以以编程方式重新启动设备?如何?
我正在为我的galaxy nexus 制作一个实用程序应用程序。我想以安全模式重新启动我的平板电脑。
我试着往里看PowerManager
PowerManager p = (PowerManager) getSystemService(POWER_SERVICE);
p.reboot(reason);
看来这不会以安全模式重新启动设备。是否可以以编程方式重新启动设备?如何?
基本上有两种已知的进入安全模式的方法:
Android 检测到新安装的应用程序存在问题,并在进入安全模式时强制关闭它。
电源应用时的按键组合;
我怀疑还有另一种方法可以做到这一点。如果有的话,Custom ROMS 的大多数恢复和电源菜单都会包含它。
传递给的字符串reboot()
是内核参数,并且只有在设备的内核具有该选项时才会生效。您可以在这里尝试一些选项。
更新:
安全模式是切换在PackageManagerService
Android 的系统服务器(“包”服务)内部:
public void enterSafeMode() {
enforceSystemOrRoot("Only the system can request entering safe mode");
if (!mSystemReady) {
mSafeMode = true;
}
}
以下是关于从任何 APP 使用它的一些要点:
IPackageManager
了该服务的实现存根 ()。第三种进入安全模式的方法(在 GingerBread 2.3.5 之后的某个时间可用)
在设备完全通电的情况下,按电源按钮,然后长按电源关闭菜单项。一个选项似乎进入了安全模式。因此,现在可能有一种以编程方式进入安全模式的方法。当然希望能帮助解决问题。我正在记忆一篇引用了另一个来源的 lifehacker 文章。