我终于设法让Reboot代码工作了。我使用了以下代码:
Runtime runtime = Runtime.getRuntime();
Process proc = null;
OutputStreamWriter osw = null;
StringBuilder sbstdOut = new StringBuilder();
StringBuilder sbstdErr = new StringBuilder();
String command="/system/bin/reboot";
try { // Run Script
proc = runtime.exec("su");
osw = new OutputStreamWriter(proc.getOutputStream());
osw.write(command);
osw.flush();
osw.close();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (osw != null) {
try {
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
if (proc != null)
proc.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
sbstdOut.append(ReadBufferedReader(new InputStreamReader(proc
.getInputStream())));
sbstdErr.append(ReadBufferedReader(new InputStreamReader(proc
.getErrorStream())));
if (proc.exitValue() != 0) {
}
现在我想要一个将设备重启到恢复模式的代码。该应用程序将仅适用于三星Galaxy S.我没有找到任何重启恢复代码,有没有办法通过代码重启恢复?
答案 0 :(得分:1)
如果reboot命令的版本及其在该设备上调用的后端支持它,则可能有效:
String command="/system/bin/reboot recovery";
当然要意识到你使用su程序的那一刻你正在使用不受支持的android修改。
答案 1 :(得分:1)
你为什么不使用:
((PowerManager)getSystemService(Context.POWER_SERVICE))。reboot(“recovery”);
? http://developer.android.com/reference/android/os/PowerManager.html#reboot%28java.lang.String%29