我使用此代码来防止调光/锁定屏幕,它完全可以防止锁定,但还没有防止调光效果。请告诉我一些防止变暗的方法
protected void setScreenLock(boolean on){
if(mWakeLock == null){
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK |
PowerManager.ON_AFTER_RELEASE, TAG);
}
if(on){
mWakeLock.acquire();
}else{
if(mWakeLock.isHeld()){
mWakeLock.release();
}
mWakeLock = null;
}
}
答案 0 :(得分:0)
添加
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
View root = findViewById(android.R.id.content);
if (root != null)
root.setKeepScreenOn(true);
到if
部分。这不会让屏幕变暗。
答案 1 :(得分:0)
根本不要使用WakeLock(删除当前代码,您也可以从Manifest文件中删除相关权限) - 这是不正确的(在大多数情况下)方法。在FLAG_KEEP_SCREEN_ON
中使用onCreate()
标志告诉框架为您管理此问题。 Doc reads:
像这样:窗口标志:只要该窗口对用户可见,请保留 设备的屏幕亮起。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);