/**
* 关闭屏幕 ,其实是使系统休眠
*
*/
public static void goToSleep(Context context) {
PowerManager powerManager= (PowerManager)context.getSystemService(Context.POWER_SERVICE);
try {
powerManager.getClass().getMethod("goToSleep", new Class[]{long.class}).invoke(powerManager, SystemClock.uptimeMillis());
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
/**
* 唤醒屏幕
* @param context
*/
public static void wakeUp(Context context) {
PowerManager powerManager= (PowerManager)context.getSystemService(Context.POWER_SERVICE);
try {
powerManager.getClass().getMethod("wakeUp", new Class[]{long.class}).invoke(powerManager, SystemClock.uptimeMillis());
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
只有系统级别的应用才能使goToSleep生效,并需要声明权限
android:name="android.permission.DEVICE_POWER"
如果是eng版本的rom ,
可以执行
adb remount
adb push xxx.apk /system/priv-app/
adb reboot
将apk push 到系统预置应用下, 应用即拥有了系统级别应用权限