要实现android平台关机功能,有两种思路。
1.root之后执行reboot -p命令 Runtime.getRuntime().exec();直接执行命令即可。
2.获取系统签名(系统签名需要手机电路板厂家提供platform.pk8,platform.x509.pem,signapk.jar这三个文件),调用Intent.ACTION_REQUEST_SHUTDOWN
我的adt上没有这个action只好用Intent shutdown = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
Intent shutdown = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
shutdown.putExtra("android.intent.extra.KEY_CONFIRM", false);
shutdown.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendBroadcast(shutdown);
startActivity(shutdown);
关于重新启动的方法很简单,直接Runtime.getRuntime().exec();执行命令reboot即可。
或者调用PowerManager的reboot接口。
PowerManager pm;
pm = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
pm.reboot("shutdown");
以上代码我的mtk6572机器上可以运行。