一、通过发送系统广播让android关机、重启
来源:互联网 发布:互联网公平台用java 编辑:程序博客网 时间:2024/06/06 03:40
要使机子关机或重启,归纳起来有如下三种方式:
一. 发送广播方式
二. Runtime调用Linux-shell
三. 通过init.rc启动系统服务来运行sh文件
本文先介绍第一种方式,使用发送广播的方式达到机子关机或重启的目的。
有以下几个注意点:
A.需要将应用提升至系统权限,应当配置manifest.xml文件,但是这样必须需要有对应的签名文件。
android:sharedUserId="android.uid.system"
B.需要添加关机权限
<uses-permission android:name="android.permission.SHUTDOWN"></uses-permission>
C.在Eclipse中,代码中的Intent.ACTION_REQUEST_SHUTDOWN 及 Intent.EXTRA_KEY_CONFIRM 在Eclipse IDE中报错,还是和前面说的一样,这两个属性不对上层开放,如果把项目放在源码中进行编译,是可以编译通过的。
D.由于需要在源码中编译项目,所以需要为项目编写mk文件,在项目根目录下添加Android.mk文件,内容如下所示:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := PowerActionDemoLOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE)
操作部分:
public static final String ACTION_REBOOT = "android.intent.action.REBOOT";public static final String ACTION_REQUEST_SHUTDOWN = "android.intent.action.ACTION_REQUEST_SHUTDOWN";
</pre><pre name="code" class="java" style="font-family: 宋体; font-size: 14px; line-height: 28px;">//广播方式关机重启 case R.id.shutdown_btn1: Log.v(TAG, "broadcast->shutdown"); Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN); intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false); //其中false换成true,会弹出是否关机的确认窗口 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); break; case R.id.reboot_btn1: Log.v(TAG, "broadcast->reboot"); Intent intent2 = new Intent(Intent.ACTION_REBOOT); intent2.putExtra("nowait", 1); intent2.putExtra("interval", 1); intent2.putExtra("window", 0); sendBroadcast(intent2); break;
0 0
- 一、通过发送系统广播让android关机、重启
- android 重启、开机、关机的广播
- android 系统关机,重启
- android 系统关机,重启
- android 系统关机,重启
- android 系统关机,重启
- android 系统关机,重启
- android 系统关机重启
- 使用广播实现的Android关机及重启
- 使用广播实现的Android关机及重启
- 使用广播实现的Android关机及重启
- 使用广播实现的Android关机及重启
- Android使用广播实现关机及重启
- 让Android程序获得系统权限,实现关机重启,静默安装等功能
- 让Android程序获得系统的权限,实现关机重启,静默安装等功能
- 让Android程序获得系统的权限,实现关机重启,静默安装等功能
- 让Android程序获得系统的权限,实现关机重启,静默安装等功能
- android 系统重启关机流程分析
- poj1149
- perl的变量、数组、哈希1
- 收集的java一些资料
- Unity3D 游戏引擎之控制模型移动旋转与碰撞
- hdu 1016 Prime Ring Problem
- 一、通过发送系统广播让android关机、重启
- CoreAnimation编程指南(六)动画
- C#笔记 垃圾回收garbage collection
- ROS学习手记12 -- ROS问题检测工具roswtf
- Activity Intent Flags及Task相关属性
- 我的书单和简单书评(持续更新)
- properties操作。
- Unity3D研究之与根据动态的两个轨迹点绘制面详解
- 当大数据遇见应用性能管理(概念篇①)