在Recovery Android中重新启动

时间:2011-08-18 17:26:20

标签: android recovery reboot

我终于设法让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.我没有找到任何重启恢复代码,有没有办法通过代码重启恢复?

2 个答案:

答案 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