各位程序猿,有没有遇到过APP在无操作时突然黑屏的情况?相信很多人都会觉得很不爽吧。今天,我就来教大家如何让APP一直保持亮屏状态,告别黑屏的烦恼。
方法一:使用WakeLock
首先,我们可以使用WakeLock来实现屏幕的持续亮屏。下面是一个简单的示例代码:
/**
* 保持屏幕唤醒,屏幕自动解锁类
*
* @author pei
* @create 2016-6-13
*/
public class WakeLockUtil {
private static WakeLock mWakeLock;
public static void keepScreenAlive() {
PowerManager mPm = (PowerManager) BaseApplication.getInstance().getSystemService(Context.POWER_SERVICE);
if (mWakeLock == null) {
mWakeLock = mPm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, BaseApplication.getInstance().getClass().getName());
}
if (!mWakeLock.isHeld()) {
mWakeLock.acquire();
}
}
public static void keepScreenDark() {
PowerManager mPm = (PowerManager) BaseApplication.getInstance().getSystemService(Context.POWER_SERVICE);
if (mWakeLock == null) {
mWakeLock = mPm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, BaseApplication.getInstance().getClass().getName());
}
if (mWakeLock.isHeld()) {
mWakeLock.release();
}
}
public static void unLockScreen(Context context) {
KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock kl = km.newKeyguardLock(
