10

我正在制作一个 Android 应用程序,该应用程序需要在单击按钮时重启或关闭手机。这可能吗?还是手机需要root访问权限?

4

3 回答 3

20

您可以使用android.os.PowerManager. 功能reboot(String reason)可用,需要权限:

android.permission.REBOOT

官方网站:

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

当然,只有当您的应用程序使用系统签名密钥进行签名时,您才有可能获得该权限:

如何使用系统权限编译 Android 应用程序

于 2011-02-11T07:21:09.040 回答
1

我通过调用下面的方法在我的应用程序中做到了这一点。

注意: 1.确保手机已root 2.允许root管理器中的应用程序自动授予root权限。

    void reboot() {
        if (reboot) {

          try {
              Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot"});
              proc.waitFor();
          } catch (Exception ex) {
              Log.e(TAG, "Error ", ex);
          }

        }
  }
于 2016-12-10T06:03:54.817 回答
0

如果您的设备是根设备,那么您可以使用以下代码。

Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot now"});
于 2016-07-22T04:37:21.250 回答