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

この方法で 2 つの異なるシェルを作成します。プロセスをいくつかの変数に割り当て、その IO ストリームを取得します。

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

次に、コマンドを直接記述します。

これは、ルート化されていないデバイスでは機能しないことに注意してください。可能であればこれを避けてください。

于 2011-05-08T00:12:53.533 に答える