Android 关机实现

本文介绍了两种在Android设备上实现关机的方法。第一种方法适用于未root的设备,但需要系统签名权限,通过添加特定代码和权限设置,使用Intent.ACTION_REQUEST_SHUTDOWN实现。在Eclipse中编译时可能会遇到错误,需要删除错误报告并使用系统平台密钥重新签名。第二种方法是针对已root的设备,利用root权限直接执行关机命令。
摘要由CSDN通过智能技术生成

博客导航
本文的关机实现用两个种方法,一个是不需要安卓root过,但是需要目标系统的系统签名;另外一个是需要系统root过。

#一、利用系统签名来获取权限关机
关机代码如下:

private void shutDown(){
	    	Intent intent = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
	        intent.putExtra("android.intent.extra.KEY_CONFIRM", false);
	        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	        startActivity(intent);
	 }
  • 源码中"android.intent.extra.KEY_CONFIRM" Intent.EXTRA_KEY_CONFIRM 方法
  • 源码中"android.intent.action.ACTION_REQUEST_SHUTDOWN“ Intent.ACTION_REQUEST_SHUTDOWN 方法

需要在AndroidManifest.xml里添加
android:sharedUserId="android.uid.system"<uses-permission android:name="android.permission.SHUTDOWN/>"权限。android:sharedUserId="android.uid.system"是将自己的程序加入到了系统的进程中,同时也将获得系统的权限。需要添加系统签名。
下面是范例:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example"
    android:sharedUserId="android.uid.system"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-permission android:name="android.permission.SHUTDOWN"/>

**当然,这些代码在eclipse里会报错(我当时用的是eclipse),把这些错误报告删掉,强行编译就可以了。**具体做法是把problems里的把与它相关的错误报告删除掉。Windows-show view-

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值