1

私はついに再起動コードを機能させることができました。次のコードを使用しました:

        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) {
                    }

ここで、デバイスを回復モードで再起動するコードが必要です。このアプリケーションは Samsung Galaxy S 専用です。リカバリで再起動するコードが見つかりませんでした。コードを介してリカバリで再起動する方法はありますか?

4

2 に答える 2

1

再起動コマンドのバージョンと、そのデバイスで呼び出すバックエンドがそれをサポートしている場合、これは機能する可能性があります。

String command="/system/bin/reboot recovery";

もちろん、su プログラムを使用した時点で、サポートされていない Android の変更を行っていることを認識してください。

于 2011-08-18T18:21:58.517 に答える
1

使用しない理由:

((PowerManager) getSystemService(Context.POWER_SERVICE)).reboot("リカバリ");

? http://developer.android.com/reference/android/os/PowerManager.html#reboot%28java.lang.String%29

于 2011-09-14T00:18:28.730 に答える