Runtime.exec (): reinicialização no Android?
Estou procurando uma solução que possa ser usada para reiniciar um dispositivo raiz. Eu sei que a reinicialização de um dispositivo é um design muito ruim para o usuário, como indicado aqui, e não é realmente para um aplicativo. O principal objetivo é reiniciar o telefone durante meus testes (eu trabalho em um aplicativo de bate-papo por vídeo e às vezes preciso reiniciar quando tudo der para o sul)
Eu observei que reiniciar um telefone é muito mais rápido usando a reinicialização em um terminal adb shell
ou ConnectBot, por exemplo) do que o processo normal de reinicialização com o ACTION_REBOOT, que eu não posso usar de qualquer maneir
No momento, sou capaz de obter os privilégios de superusuário, com
Process root = Runtime.getRuntime().exec("su");
Mas não posso fazer a reinicialização real. Eu tento um G1 (HTC) e um Galaxy S (Samsung) sem sucesso. Eu localizei o executável de reinicialização em/system/bin/reboot
qui estão algumas das minhas tentativa
Process reboot = Runtime.getRuntime().exec("/system/bin/reboot");
Process reboot = Runtime.getRuntime().exec("reboot");
Process reboot = Runtime.getRuntime().exec("su reboot");
Eu liEste artig sobre as armadilhas do Runtime.exec (), mas acho que não estou nesse cas
Como o uso do ConnectBot me permite executar tal ação, tenho certeza de que é possível. Por favor, não me diga para ir e dar uma olhada noConnectBot code, é um projeto grande e complicado:)
Pode me ajudar com esse problema?
Obrigado