跳转到主内容
极星编程网:以代码为星,赴技术山海!

如何让APP一直高亮显示,不再黑屏?

各位程序猿,有没有遇到过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(
                            

相关文章