Android 中保持屏幕常亮的方法

手机因电池原因,所以隔段时间会锁屏,保证正常工作.通常会很影响开发及使用.
以下是一些通过代码来实现的"禁止锁屏,保持高亮"的方法:

  • 在每个 Activity 中的 onCreate() 方法中加入以下代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  • 使用 WaekLock

需要权限

//在 onResume 方法中调用
wakeLock = ((PowerManager)getSystemService(POWER_SERVICE)).newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManage.ON_AFTER_RELEASE, TAG);
wakeLock.acquire();

// 在 onPause/ onStop/ onDestroy 方法中调用

if (wakeLock != null) {
    wakeLock.release();
}
  • 更改系统设置

需要权限

mContentResolver = getContentResolver();
setLockPatternEnabled(false);

public void setLockPatternEnabled(boolean enabled) {
    setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED, enabled);
}

public void setBoolean(String systemSettingKey, boolean enabled){
    android.provider.Settings.System.putInt(mContentResolver, systemSettingKey, enable ? 1: 0);
}
  • 神奇的 API

不需要权限

    View.setKeepScreenOn(boolean keepScreenOn);

以上方法只能屏蔽掉因系统电池管理的原因导致系统自动锁屏的原因.无法屏蔽物理锁屏按键的事件.

你可能感兴趣的:(Android 中保持屏幕常亮的方法)