1

嗨我需要一些帮助我正在开发一个应用程序,我希望用户单击一个按钮并重新启动手机。我的问题是当我单击按钮时,它会发出超级用户请求但不会重新启动。我的代码是:

 final Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
             try {
                 Runtime.getRuntime().exec("su");
                 Runtime.getRuntime().exec("reboot");                
            } catch (IOException e) {
            }               
        }
    });

}

}

有什么我做错了吗?如果有人可以提供帮助,我将不胜感激。

4

1 回答 1

0

您可以通过这种方式创建两个不同的外壳。将进程分配给某个变量并获取其 IO 流:

Process p = Runtime.getRuntime().exec("su");
InputStream is = p.getInputStream();
// ...

然后直接写命令。

请注意,这不适用于无根设备。尽可能避免这种情况。

于 2011-05-08T00:12:53.533 回答