在將這篇文章標記爲「重複」之前,我寫這篇文章是因爲沒有其他文章能夠解決這個問題。Android:如何以編程方式打開和關閉屏幕?
我試圖關閉設備,然後幾分鐘後或傳感器發生變化,重新打開它。
關閉顯示測試
我能夠關閉使用屏幕:
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
我一直無法使用wl.release()方法來關閉屏幕。
打開顯示測試
我的第一個猜測,如下所示,不能正常工作。沒有任何反應,屏幕仍然關閉。
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = -1f;
getWindow().setAttributes(params);
我也試着用wakelocks,沒有成功。
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "tag");
wl.acquire();
最後,我試了下面,沒有結果。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
總而言之,在任何這些方法的控制檯中,我都沒有遇到任何類型的錯誤。當我使用電源按鈕開啓設備時,我的測試文本「屏幕應該亮起」,在屏幕上。這表明代碼應該已經運行。請只回答如果你已經測試了代碼,看起來像params.screenBrightness = -1
這樣的許多功能,根據sdk不能正常工作。
你的方法來關閉屏幕,我沒有工作。你設置的標誌始終保持屏幕,這將消耗電力。 –
你有沒有想過這個? PlayStore上有幾個應用程序建議他們這樣做。試過這一個,它的工作原理,但它要求設備管理。 https://play.google.com/store/apps/details?id=com.katecca.screenofflock&hl=en – George
你達到了這個問題什麼?! –