【重启】
【步骤】
1.加属性
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.harison.adver"
android:versionCode="4"
android:sharedUserId="android.uid.system" ------ *****
android:versionName="0.2015.04.02.01">
<uses-permission android:name="android.permission.SHUTDOWN"></uses-permission> ----- *****
3.代码
PowerManager pManager=(PowerManager) getSystemService(Context.POWER_SERVICE); //重启到fastboot模式
pManager.reboot("");
【关机】
【步骤】
1.加属性(同上)
2.加权限(同上)
3.代码
try {
//获得ServiceManager类
Class<?> ServiceManager = Class.forName("android.os.ServiceManager");
//获得ServiceManager的getService方法
Method getService = ServiceManager.getMethod("getService", java.lang.String.class);
//调用getService获取RemoteService
Object oRemoteService = getService.invoke(null,Context.POWER_SERVICE);
//获得IPowerManager.Stub类
Class<?> cStub = Class.forName("android.os.IPowerManager$Stub");
//获得asInterface方法
Method asInterface = cStub.getMethod("asInterface", android.os.IBinder.class);
//调用asInterface方法获取IPowerManager对象
Object oIPowerManager = asInterface.invoke(null, oRemoteService);
//获得shutdown()方法
Method shutdown = oIPowerManager.getClass().getMethod("shutdown",boolean.class,boolean.class);
//调用shutdown()方法
shutdown.invoke(oIPowerManager,false,true);
} catch (Exception e) {
Log.e(TAG, e.toString(), e);
}