【问题标题】:Android superuser shutdown/reboot commands not doing anythingAndroid超级用户关机/重启命令不做任何事情
【发布时间】:2011-06-03 13:50:15
【问题描述】:

我正在尝试制作一个只需按一下按钮即可关闭/重启手机的应用。我在网上找到了一个重启命令:

public void rebootPhone() {
    try {
        Runtime.getRuntime().exec("su");
        Runtime.getRuntime().exec("reboot");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我知道这需要 root(对于“su”超级用户命令);我的手机已经root了,所以我可以获得su访问权限。但是,当运行此方法时(在我在提示符上按“是”以允许 su 访问后)手机不会重新启动,没有任何反应!我还需要包含其他内容以使手机重新启动吗?

另外,用于关机的 su 命令是什么(即关闭手机)?我在网上的任何地方都找不到。

【问题讨论】:

  • 按住电源键进入重启菜单有什么问题?
  • 没什么!这个应用程序纯粹是为了方便:)

标签: android runtime.exec su


【解决方案1】:

您不能在一个进程中“su”并在另一个进程中“重新启动”,期望它具有超级用户状态。不过,“su -c reboot”命令可能对你有用。

【讨论】:

  • 可能有效。并非所有版本的 su 都被破解为可用的支持参数,您可能必须将要执行的命令推送到 su 创建的 shell 的标准输入中。
  • Runtime.getRuntime().exec("su -c reboot"); 工作谢谢 :) 你会碰巧知道关机命令吗?我试过Runtime.getRuntime().exec("su -c shutdown"); 它什么也没做...
  • @Keiron Gulrajani 恐怕我不知道关闭设备的标准 Android 命令。
  • 有没有可能在没有“su”的情况下使用它?
  • @Sathish 我已经好几年没看过 Android 了,所以我不知道什么是最新的,但我希望不要这样,因为这会让恶意应用程序很容易创建拒绝服务攻击。
猜你喜欢
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 2021-06-25
相关资源
最近更新 更多