六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 95|回复: 0

android系统关机重启

[复制链接]

升级  60.67%

37

主题

37

主题

37

主题

秀才

Rank: 2

积分
141
 楼主| 发表于 2013-1-30 04:07:49 | 显示全部楼层 |阅读模式
应用获得系统权限:
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点中加入
   android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行。
3. 使用mm命令来编译,生成的apk就有修改系统权限了



cm9源码测试 可行。

获得系统权限后才能调用
系统的重启
Intent intent = new Intent(Intent.ACTION_REBOOT);
                                    intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
                                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                    startActivity(intent);
系统的关机
Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
                                    intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
                                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                    startActivity(intent);

其实用的是
/frameworks/base/services/java/com/android/server/ShutdownActivity.java
为什么不能直接调用里面的
ShutdownThread.reboot(ShutdownActivity.this, null, mConfirm);
貌似到了关闭内核时候会失败,必须经过ShutdownActivity。
以上经过测试, android系统位4.0.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表