关于用代码实现android设备的重启
16lz
2021-01-26
基本有以下几个方法: 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。
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。
更多相关文章
- Android对话框Dialog 的一点小问题
- android View的scrollTo,scrollBy方法详解
- Android事件总线框架设计:EventBus3.0源码详解与架构分析(下)
- Android(安卓)4.0 Launcher2源码分析——Workspace切换AllApps流
- Fusion Garage宣布基于Android的Grid OS
- android 下 数据持久化
- 关于android消息处理的个人理解
- android webView调用js函数的几种方法
- Android中关联源码的方法