手机因电池原因,所以隔段时间会锁屏,保证正常工作.通常会很影响开发及使用.
以下是一些通过代码来实现的"禁止锁屏,保持高亮"的方法:
- 在每个 Activity 中的 onCreate() 方法中加入以下代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- 使用 WaekLock
需要权限
<uses-permission android:name="android.permission.WAKE_LOCK/>"
//在 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();
}
- 更改系统设置
需要权限
<uses-permission android:name="android.permission.WRITE_SETTINGS/>"
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);
以上方法只能屏蔽掉因系统电池管理的原因导致系统自动锁屏的原因.无法屏蔽物理锁屏按键的事件.