Android实现关机、重启设备

1、关机

方法一:关机属于系统级操作,所以需要获得系统级的权限。

  android:sharedUserId="android.uid.system"

  <uses-permission android:name="android.permission.SHUTDOWN/>

注意:一般的app开发是做不了系统级的应用,这里的方法是使用了系统签名来获得权限的(公司产品是基于原生Android定制的系统,所以我有对应的签名文件)

相关代码:

Intent intent = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
        intent.putExtra("android.intent.extra.KEY_CONFIRM", false);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        this.startActivity(intent);

方法二、以管理员身份运行命令

    Runtime.getRuntime().exec(new String[]{"su","-c","reboot -p"});
或者
    Runtime.getRuntime().exec(new String[]{"su","-c","shutdown"})

2、重启

方法1、关机属于系统级操作,所以需要获得系统级的权限。

android:sharedUserId="android.uid.system"

<uses-permission android:name="android.permission.REBOOT"

相关代码: 

   PowerManager pm = (PowerManager) this.context.getSystemService(Context.POWER_SERVICE);
   pm.reboot("");

同理,也需要系统签名来获得权限。

方法2、以管理员身份运行命令

   Runtime.getRuntime().exec("su -c reboot");

猜你喜欢

转载自blog.csdn.net/qq_31371757/article/details/83378288