您好,我需要一些帮助,我正在开发一个应用程序,我希望用户点击一个按钮,手机重新启动。我的问题是,当我点击按钮时,它会提供超级用户请求,但不会重新启动。我的代码是:
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) {
}
}
});
}
}
我做错了什么吗?如果有人能提供帮助,我会非常感激。
答案 0 :(得分:0)
您可以通过这种方式创建两个不同的shell。将进程分配给某个变量并获取其IO流:
Process p = Runtime.getRuntime().exec("su");
InputStream is = p.getInputStream();
// ...
然后直接编写命令。
请注意,这不适用于无根设备。尽可能避免这种情况。