1
我有一些WindowManager.LayoutParams的問題。我需要使用接近傳感器對屏幕進行斷電和電源操作。接近傳感器正常,但layoutParams不起作用WindowManager.LayoutParams和screenBrightness
public void setBright(float value) {
Window mywindow = getWindow();
WindowManager.LayoutParams lp = mywindow.getAttributes();
lp.screenBrightness = value;
lp.buttonBrightness = value;
if (value != WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF) {
lp.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
}
mywindow.setAttributes(lp);
}
屏幕正確關閉。但是,如果我使用setBright(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE)屏幕保持黑屏。
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK
| PowerManager.ON_AFTER_RELEASE,
"MY_TAG");
,但它仍然無法正常工作:我使用激活鎖定
private void powerOnScreen() {
setBright(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE);
onResume();
if (!wakeLock.isHeld())
wakeLock.acquire();
}
其中激活鎖定也試過。任何想法?目標平臺是Android 2.2
不......這不工作:( – Sarbyn
看到最近編輯的片斷它可以在2.2和2.3 – slkorolev
我使用但是如果我使用lp.screenBrightness = 0.0f,那麼wakelock不起作用,所以它不是wakelock的問題,而是LayoutParams的一個bug? – Sarbyn