アプリからPowerManagerを使ってreboot()が用意されている。
例
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
pm.reboot("hogehoge");
が、使えない。システムに署名する必要があるみたい。
そこで、
public void onClick(View arg0) {
try{ Process p1 = Runtime.getRuntime().exec("su");
OutputStream os = p1.getOutputStream();
os.write("reboot\n\r".getBytes());
os.flush();
}catch(Exception e){
e.getStackTrace();
}
で再起動できます。