Я ищу решение, которое можно использовать для перезагрузки рутированного устройства. Я знаю, что перезагрузка устройства - это очень плохой дизайн для пользователя , как указано здесь , и это не совсем для приложения. Основная цель - перезагрузить телефон во время тестов (работаю в приложении для видеочата, и иногда мне нужно перезагрузиться, когда все идет не так)
Я заметил, что перезагрузка телефона намного быстрее с использованием перезагрузки в терминале ( adb shell
или ConnectBot, например), чем обычная перезагрузка с ACTION_REBOOT , которую я все равно не могу использовать.
На данный момент я могу получить привилегии суперпользователя с помощью
Process root = Runtime.getRuntime().exec("su");
, но я не могу выполнить фактическую перезагрузку. Я безуспешно пытаюсь использовать G1 (HTC) и Galaxy S (Samsung). Я нашел исполняемый файл перезагрузки в / system / bin / reboot
Вот некоторые из моих попыток:
Process reboot = Runtime.getRuntime().exec("/system/bin/reboot");
Process reboot = Runtime.getRuntime().exec("reboot");
Process reboot = Runtime.getRuntime().exec("su reboot");
Я прочитал эту статью о подводных камнях Runtime.exec (), но я думаю, я не в этом случае.
Поскольку использование ConnectBot позволяет мне выполнять такое действие, я почти уверен, что это возможно. Пожалуйста, не' Не скажите мне пойти и взглянуть на код ConnectBot , это большой и сложный проект :)
Вы можете мне помочь с этой проблемой?
Спасибо.