手機(jī)因電池原因,所以隔段時(shí)間會鎖屏,保證正常工作.通常會很影響開發(fā)及使用.
以下是一些通過代碼來實(shí)現(xiàn)的"禁止鎖屏,保持高亮"的方法:
- 在每個(gè) Activity 中的 onCreate() 方法中加入以下代碼:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- 使用 WaekLock
需要權(quán)限
<uses-permission android:name="android.permission.WAKE_LOCK/>"
//在 onResume 方法中調(diào)用
wakeLock = ((PowerManager)getSystemService(POWER_SERVICE)).newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManage.ON_AFTER_RELEASE, TAG);
wakeLock.acquire();
// 在 onPause/ onStop/ onDestroy 方法中調(diào)用
if (wakeLock != null) {
wakeLock.release();
}
- 更改系統(tǒng)設(shè)置
需要權(quán)限
<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
不需要權(quán)限
View.setKeepScreenOn(boolean keepScreenOn);
以上方法只能屏蔽掉因系統(tǒng)電池管理的原因?qū)е孪到y(tǒng)自動鎖屏的原因.無法屏蔽物理鎖屏按鍵的事件.