Existe uma classe no pacote android.os chamada PowerManager (
http://developer.android.com/reference/android/os/PowerManager.html )
que tem o método reboot(). Porém você precisa declarar no
AndroidManifest android.permission.REBOOT, e aplicações normais de
usuário não podem usar essa essa permissão, apenas aplicações do
sistema ( de uma olhada nesse post para esclarecer melhor
http://www.krvarma.com/2010/10/security-permissions-in-android/).
Existe uma alternativa caso você tenha um aparelho com acesso root.
Abaixo segue um método estático que pode ajudar:
public static void rebootSU() {
Runtime runtime = Runtime.getRuntime();
Process proc = null;
OutputStreamWriter osw = null;
StringBuilder sbstdOut = new StringBuilder();
StringBuilder sbstdErr = new StringBuilder();
String command="/system/bin/reboot";
try {
//Isso faz o SuperUser aparecer o que permite a você
permitir ou bloquear o acesso toor
//Nada irá ocorrer se aparelho não for possuir acesso
root.
proc = runtime.exec("su");
osw = new OutputStreamWriter(proc.getOutputStream());
osw.write(command);
osw.flush();
osw.close();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (osw != null) {
try {
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
if (proc != null)
proc.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Espero ter ajudado.
On Oct 29, 7:18 pm, Ademar Izu Gomes <
ademar...@gmail.com> wrote:
> Opa Tatiana,
>
> então... o que eu tinha em mente seria basicamente isso que você me passou,
> mas sendo chamado de dentro da app... em Java seria algo como:
>
> System.execute("reboot");
>
> Mas creio que a classe System não vem com todos os métodos da similar do
> JDK. =(
>
> Você teria outra sugestão?
>
> 2011/10/29 Tatiana Al-Chueyr Martins <
tatiana.alchu...@gmail.com>
>
>
>
>
>
>
>
>
>
> > Oi Ademar,
>
> > Usa Android Debug Bridge:
> > $ adb reboot
>
> > Vem no SDK.
>
> > Abraços,
>
> > Tati
>
> > 2011/10/29 Ademar Izu Gomes <
ademar...@gmail.com>