Android系统关机或重启的几种实现方式 .
来源:互联网 发布:东非大裂谷 知乎 编辑:程序博客网 时间:2024/06/14 04:42
一. 内存溢出方式实现重启(4.0之后不可用)
在安卓4.0之前,系统有个bug,通过疯狂的向系统添加吐司是可以实现死机并且重启的。具体实现代码如下
<strong> for (int i = 0; i < Integer.MAX_VALUE; i++) {Toast.makeText(getApplicationContext(), "", 1).show();}</strong>
这种方法最简单,但是却不实用,而且在4.0之后谷歌修补了这个漏洞。这里仅作为一种参考
二. 发送系统广播方式
关机或重启的广播:Intent.ACTION_REQUEST_SHUTDOWN和Intent.ACTION_REBOOT
我们只需要向系统发送这两个广播就行。但是,两个广播只能由系统应用才能使用,也就是pid是system的应用才能发送的广播。
这里,我们需要在manifast.xml这里面进行一些修改
android:sharedUserId="android.uid.system"
然后增加权限
<uses-permission android:name="android.permission.SHUTDOWN" />
把项目放在源码中进行编译,增加mk文件
01.LOCAL_PATH:= $(call my-dir) 02.include $(CLEAR_VARS) 03. 04.LOCAL_MODULE_TAGS := optional 05. 06.LOCAL_SRC_FILES := $(call all-java-files-under, src) 07. 08.LOCAL_PACKAGE_NAME := PowerActionDemo 09.LOCAL_CERTIFICATE := platform 10. 11.include $(BUILD_PACKAGE)
三. 调用Linux-shell(最常用,也是最实用,需要root)
Runtime可以用来调用并执行shell命令的,而Android支持shell语言的,基于这一点,可以利用Runtime来执行 关机或重启的shell命令
try{ Process proc =Runtime.getRuntime().exec(new String[]{"su","-c","reboot -p"}); //关机 proc.waitFor(); }catch(Exception e){ e.printStackTrace(); }
0 0
- Android的休眠与唤醒 && Android系统关机或重启的几种实现方式
- android usb adb流程,Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式 .
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android系统关机或重启的几种实现方式
- Android实现关机和重启的几种方式
- 系统关机重启的几种方法
- Android实现系统关机和重启
- Android系统重启的实现方式
- 简单实现windows系统普通或强制关机重启注销的功能
- Android 重启的几种方式
- Android实现关机重启的方法
- WP-Syntax WordPress高亮插件使用方法
- 访问通信录中的联系人和添加联系人
- String cannot be resolved to a type - The method getContextPath() from the type HttpServletRequest r
- 在非MFC中使用CString
- Oracle 工具集合
- Android系统关机或重启的几种实现方式 .
- 算法与数据结构面试题(14)-在数组中查找2个数的和为已知数
- shell--正则表达式
- 编程参数列表定义
- AsyncTask的使用
- C++内存溢出查询方法
- trie树
- C 输入一串字符,把小写字母变成大写,分别输出大小写、数字、空格的个数
- 好久没写过文章了,做个签到文吧.