簡體   English   中英

Android將屏幕亮度設置為0會關閉屏幕-如何避免

[英]Android setting screen brightness to 0 turns off the screen - how to avoid

在Android 2.3.3中,我嘗試使用以下代碼將屏幕亮度設置為0:

Window myWindow = getWindow();
WindowManager.LayoutParams winParams = myWindow.getAttributes();
winParams.screenBrightness = 0.0f;
myWindow.setAttributes(winParams);

並安排Handler.postDelayed()在1秒鍾內啟動Runnable以將亮度設置回完整,如下所示:

Window myWindow = getWindow();
WindowManager.LayoutParams winParams = myWindow.getAttributes();
winParams.screenBrightness = 1.0f;
myWindow.setAttributes(winParams);

但是,屏幕似乎已完全關閉,並且在此1秒鍾后沒有任何反應。 對Runnable進行一些跟蹤可以清楚地表明它是由Handler啟動的。

我也嘗試將這兩個調用包含在PARTIAL_WAKE_LOCK中,但沒有結果。 無論如何,Runnable都能正常工作,因此此處無需太多使用喚醒鎖。

另外,如果將亮度設置為0.01f(而不是0f),則可以正常工作-1秒鍾后,亮度將恢復為滿。

有人可以建議將其設置為0后如何使亮度再次變滿嗎?

使用此代碼

params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);

不會關閉屏幕,而是使屏幕盡可能暗。 使用FLAG_KEEP_SCREEN_ON意味着你將永遠不會讓屏幕熄滅,設備將進入低功耗模式,即使特定的設備,讓您的屏幕亮度設置為全關

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM