开发过程中,遇到了在某种情况下需要保持屏幕常亮,某种情况下又不保持常亮的情况。将实现代码记录如下。
1、首先需要声明权限:
<!-- 保持屏幕亮起权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" >
</uses-permission>
2、获取PowerManger对象和WakeLock对象。
powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "myLock");
wakeLock.setReferenceCounted(false);
3、动态控制屏幕常亮与否。
//解除常亮限制
wakeLock.release();
//让屏幕保持常亮
wakeLock.acquire();