Intent newIntent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);//之所以能够在源码中查看,但是调用的时候不显示,是因为这个不对上层开放
newIntent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(newIntent);
这个方法是不行的 不要发这个
------解决方案--------------------
个人认为无法在JAVA层进行关机操作。 需要通过底层 控制硬件电源。
看看是否有root权限
我找到了一个 你试试吧。
try {
Process proc = Runtime.getRuntime()
.exec(new String[]{ "su", "-c", "shutdown -h" });
proc.waitFor();
} catch (Exception ex) {
ex.printStackTrace();
}
或者
PowerManager.goToSleep()
------解决方案--------------------
开放这样的API就很危险了。
------解决方案--------------------
获取root权限或者你刷机,刷个开发版本的,代码里面Runtime.getRuntime()
.exec("reboot");