基本有以下几个方法:
1.用runtime来实现,即:
try
{
Runtime.getRuntime().exec("su");
Runtime.getRuntime().exec("reboot");
}
catch (IOException e)
{ }
但是在自己身边的几个平板和手机设备都没有实现reboot,原因不明,看到也有很多人通过这个方法实现了设备的reboot。
2.用广播的形式:
Intent i = new Intent(Intent.ACTION_REBOOT);
i.putExtra("nowait", 1);
i.putExtra("interval", 1);
i.putExtra("window", 0);
sendBroadcast(i);
这个方法需要应用签名,很麻烦,换个设备就需要重新签名,我没有尝试。
3.参考“ Android ICS关机跟重新启动功能研究”一文
Intent iReboot = new Intent(Intent.ACTION_REBOOT);
iReboot.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(iReboot);
这个方法一开始在4.2的平板上可以实现,以为没有问题了,结果在4.0的手机上报异常No activity founded to handle this intent。这个应该是android版本的问题了,没办法。
4.Powermanger
PowerManager pm = (PowerManager)getApplicationContext().getSystemService(Context.POWER_SERVICE);
pm.reboot(null);
尝试这个方法,在4.2和4.0的系统上都OK。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net