Сделать кнопку перезагрузки телефона (Rooted Phone) - PullRequest
1 голос
/ 08 мая 2011

Привет! Мне нужна помощь. Я работаю над приложением, в котором я хочу, чтобы пользователь нажал кнопку, и телефон перезагрузится.Моя проблема в том, что, когда я нажимаю кнопку, она дает запрос суперпользователя, но не перезагружается.Мой код:

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

}

}

Что-то я делаю не так?Если бы кто-нибудь мог помочь, я был бы очень признателен.

1 Ответ

0 голосов
/ 08 мая 2011

Таким образом вы создаете две разные оболочки. Назначьте процесс некоторой переменной и захватите ее потоки ввода-вывода:

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

Тогда напишите команду напрямую.

Обратите внимание, что это не будет работать на некорневом устройстве. Избегайте этого, если это возможно.

...