如何以编程方式关闭Android手机?

Ven*_*kat 7 android

是否可以以编程方式关闭移动设备.没有使用su命令..

She*_*yar 6

这是可能的,但您需要Rooted具有Superuser访问权限的Android设备.除非你的应用程序与登录,不能无根这样做System Firmware Key.尝试使用以下代码:

关掉:

try {
    Process proc = Runtime.getRuntime()
                    .exec(new String[]{ "su", "-c", "reboot -p" });
    proc.waitFor();
} catch (Exception ex) {
    ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

重启:

相同的代码,只需使用"reboot"而不是"reboot -p".

[另一方面:我在某处看到这些命令在Stock HTC ROM上不起作用,但还没有证实我自己]

  • 你确定你使用"rebo​​ot -p"而不仅仅是"重启".另请告诉我们您的设备,Android版本和ROM. (3认同)

Kri*_*lal 4

您可以使用 PowerManager 使其重新启动(这并不能保证它会重新启动 - 操作系统可能会取消它):

http://developer.android.com/reference/android/os/PowerManager.html#reboot(java.lang.String )

它需要 REBOOT 权限:

http://developer.android.com/reference/android/Manifest.permission.html#REBOOT

您还可以在尝试启用/禁用键盘保护时检查您的 logcat,并发布其中的内容吗?

您无法通过普通的 SDK 应用程序执行此操作。只有使用系统固件签名密钥签名的应用程序才能执行此操作