android 重启手机的方法

news/2024/10/16 20:24:08/

   android手机有很多的第三方固件,其中有不少固件中有reboot的功能,这个功能是如何实现的呢?我这里会做一个简单的示例。先看一个效果图吧!

 

 

     如图在dialog中的最后一项是reboot功能。下面看看代码是怎么修改的:

文件路径: frameworks/policies/base/phone/com/android/internal/policy/impl/GlobalActions.java   


private AlertDialog createDialog() { 
        .... 
        mItems = Lists.newArrayList( 
                // silent mode 
                mSilentModeToggle, 
                // next: airplane mode 
                mAirplaneModeOn, 
                // last: power off 
                new SinglePressAction( 
                        com.android.internal.R.drawable.ic_lock_power_off, 
                        R.string.global_action_power_off) { 

                    public void onPress() { 
                        // shutdown by making sure radio and power are handled accordingly. 
                        ShutdownThread.shutdown(mContext, true ); 
                    } 

                    public boolean showDuringKeyguard() { 
                        return true ; 
                    } 

                    public boolean showBeforeProvisioning() { 
                        return true ; 
                    } 
                }, 
              // this is add code 
              // last: reboot 
              new SinglePressAction( 
                    com.android.internal.R.drawable.ic_lock_power_off, 
                    R.string.global_action_reboot) { 

                    public void onPress() { 
                        // shutdown by making sure radio and power are handled accordingly. 
                        ShutdownThread.reboot(mContext, "" , true ); 
                    } 

                    public boolean showDuringKeyguard() { 
                        return true ; 
                    } 

                    public boolean showBeforeProvisioning() { 
                        return true ; 
                    } 
                }); 

        mAdapter = new MyAdapter(); 

        .... 
        return dialog; 
    }


      代码中ShutdownThread.reboot()方法有三个参数其中第二个参数是一个String,如果这个String是NULL的话,就是正常重启,如果是recovery,系统重启进入recovery mode。R.string.global_action_reboot是我在系统资源文件中添加的字符串。呵呵是不是很简单阿!


http://www.ppmy.cn/news/799643.html

相关文章

三星NOTE2 重启开机后3秒死机故障解决思路

前几天陆续安装了google一键安装套件,系统优化等各式软件。购买了wm1耳机到货,但安装软件后识别有点问题,手机进行了重启。 万万没有想到这么悲催的事情被我遇到了,重启后,进行操作,在开机进入界面3-5秒后死…

SpringBoot-定义实体类并且相关联

在Spring Boot中定义班级(Class)和学生(Student)的实体类,并建立班级的主键和学生的外键关联,可以按照以下方式进行定义。 Class(班级)实体类: import javax.persisten…

Qt QML入门

Qt QML模块为使用QML语言开发应用程序和库提供了一个框架。它定义并实现了语言和引擎基础结构,并提供了一个API,使应用程序开发人员能够使用自定义类型扩展QML语言,并将QML代码与JavaScript和C集成在一起。 Qt QML模块提供了QML API和c API。…

EC6108V9/V9C-Hi3798MV100-当贝纯净桌面-卡刷固件包

EC6108V9/V9C-Hi3798MV100-当贝纯净桌面-卡刷固件包-内有教程 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软…

XP电源维修fleXPower电源X7-2J2J2P-120018系列详解

XP Power适配器顶部插头(壁插式)电源ACM系列推出新系列。12 W的ACM12,24 W的ACM24和36 W的ACM36模块都符合工业和医用应用需要满足的新版能效和安规标准。 ACM系列大空载功率损耗为75 mW ,符合产品销往美国市场需要满足的新版VI等…

WIN7中如何卸载IE8或IE9

卸载IE9: 以下说明适用于 Windows 7 和 Windows Vista。 单击“开始”按钮 ,在搜索框中键入“程序和功能”,然后单击左窗格中的“查看已安装的更新”。 在“卸载更新”下,向下滚动到“Microsoft Windows”部分。 右键单击“Windo…

卸载sql server 2008的错误解决

自己学习sql server,用win7 home basic安装了sql server 2008,后来看到版本出了 2008 r2,所以也安上了,其实主要使用管理工具查查数据。后来发现eclipse里可以通过架包达到相同的效果,而且eclipse是绿色的体积小。就决…

【计算机组成与体系结构课程设计】上机考试

1 (1) 针对图中的MIPS处理器数据通路(不考虑I/O),用红色或蓝色描出执行sw指令时的数据通路。(将该图下载到电脑,并用画图完成描线) (2) 写出执行sw指令时,各个元件控制端信号应该置什么值? 2 基于Minisys处理…