基本有以下几个方法: 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。

 

更多相关文章

  1. Android对话框Dialog 的一点小问题
  2. android View的scrollTo,scrollBy方法详解
  3. Android事件总线框架设计:EventBus3.0源码详解与架构分析(下)
  4. Android(安卓)4.0 Launcher2源码分析——Workspace切换AllApps流
  5. Fusion Garage宣布基于Android的Grid OS
  6. android 下 数据持久化
  7. 关于android消息处理的个人理解
  8. android webView调用js函数的几种方法
  9. Android中关联源码的方法

随机推荐

  1. android 获取应用程序包名,图标,入口Activi
  2. ContentProvider原理分析二 MediaProvide
  3. Android开发之通知栏
  4. Android(安卓)EditText输入最大长度限制
  5. Android(安卓)Studio将程序中的文言生成
  6. Unity3D 与Android(安卓)相互传递消息
  7. openfeint for android
  8. 【Android(安卓)开发教程】显示普通对话
  9. Android窗口类型
  10. IntelliJ IDEA 出现Unable to execute DX