应用获得系统权限:
第一个方法简单点,不过需要在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.

但是,只能push到/system/app/下,不能安装此app

更多相关文章

  1. Android模拟、实现、触发系统按键事件的方法
  2. android 日期时间格式转换;软键盘显示消失;获取系统title
  3. Android内核的根文件系统
  4. Android P 系统应用无法对外置SD卡进行读写
  5. Android 编译系统(一):Android.mk的学习
  6. Android 系统架构图
  7. 调用android系统自带功能
  8. Android 9.0 (P版本) SystemServer中的服务配置se linux权限

随机推荐

  1. Android(安卓)Uri带中文乱码问题
  2. springmvc+mybatis 构建cms内容发布系统
  3. 初探 Retrofit (入门)
  4. unix like系统的android反编译工具
  5. [Android]IPC通信之Messenger的使用方法
  6. 个人知识体系(持续更新)
  7. android设备获取当前wifi下的路由器的mac
  8. Android发送xml数据给服务器的方法
  9. Android函数计算器(含源码,Android测试工程
  10. Java中为何与0xff进行与运算