I am making an Android app that needs to have the phone reboot or turn off when a button is clicked. Is this possible? Or will the phone require root access?
You can do that using android.os.PowerManager
. Function reboot(String reason)
is available, you need permission:
android.permission.REBOOT
Official site:
http://developer.android.com/reference/android/os/PowerManager.html#reboot(java.lang.String)
Of course, you are likely to get that permission only if your application is signed with the system signing key:
How to compile Android Application with system permissions
I did this in my app by calling the method below.
Notes: 1. Make sure the phone is rooted 2. Allow the app in your root manager to automatically grant root permission.
void reboot() {
if (reboot) {
try {
Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot"});
proc.waitFor();
} catch (Exception ex) {
Log.e(TAG, "Error ", ex);
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With