【问题标题】:Reboot the phone on a button click一键重启手机
【发布时间】:2011-02-11 07:13:15
【问题描述】:

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

【问题讨论】:

  • 我不确定用户是否意识到他们的设备突然重新启动或停止。我们在这里谈论的是手机,而不是 Windows PC。
  • 是的。它的手机。哈哈,重启不会突然他们知道如果他们选择那个按钮会发生什么。

标签: android powermanager


【解决方案1】:

您可以使用android.os.PowerManager 做到这一点。函数reboot(String reason)可用,需要权限:

android.permission.REBOOT

官方网站:

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

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

How to compile Android Application with system permissions

【讨论】:

  • 您不会被授予此权限!
  • @Zelimir 我应该如何传递这个函数reboot(String reason)..你能发布一些示例代码吗
【解决方案2】:

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

注意事项: 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);
          }

        }
  }

【讨论】:

    【解决方案3】:

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

    Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot now"});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      相关资源
      最近更新 更多