Reboot the phone on a button click

后端 未结 3 688
广开言路
广开言路 2020-12-01 14:55

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?

相关标签:
3条回答
  • 2020-12-01 15:31

    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

    0 讨论(0)
  • 2020-12-01 15:33

    If your device is rooted device then you can use below code.

    Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot now"});
    
    0 讨论(0)
  • 2020-12-01 15:39

    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);
              }
    
            }
      }
    
    0 讨论(0)
提交回复
热议问题