Я ищу решение, которое можно использовать для перезагрузки корневого устройства.Я знаю, что перезагрузка устройства очень плохой дизайн для пользователя, , как указано здесь , и это не совсем для приложения.Основная цель - перезагрузить телефон во время моих тестов (я работаю в приложении видеочата, и иногда мне нужно перезагрузить компьютер, когда все идет на юг)
Я заметил, что перезагрузка телефона происходит намного быстрее, используя перезагрузку втерминал (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 , это большой и сложный проект:)
Можете ли вы помочь мне с этой проблемой?
Спасибо.