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?
Asked
Active
Viewed 2.0k times
11
-
2I am not sure if users appreciate that their device is suddenly reooting or stopping. We are talking about a mobile phone here and not a Windows PC. – Heiko Rupp Feb 11 '11 at 07:25
-
1Yes.its mobile phone.haha and the reboot won't be suddenly they will know what will happen if they choose that button. – IntelSoftApps Feb 11 '11 at 08:47
3 Answers
21
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:
-
8
-
@Zelimir what should i pass the this function **reboot(String reason)**..can you post some of sample code please – Gowthaman M Jun 19 '18 at 06:21
2
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);
}
}
}

mboy
- 744
- 7
- 17
1
If your device is rooted device then you can use below code.
Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot now"});

Yogesh Rathi
- 6,331
- 4
- 51
- 81