Android:如何以編程方式打開和關閉屏幕?在將這篇文章標記為“復制”之前,我寫這篇文章是因為沒有其他帖子能解決這個問題。我試圖關閉設備,然后在幾分鐘后或傳感器改變,打開它。關閉顯示測試我可以使用以下方法關閉屏幕:params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;params.screenBrightness = 0;getWindow().setAttributes(params);我無法使用wl.free()方法關閉屏幕。打開顯示測試我的第一個猜測,如下所示,是行不通的。什么都沒發生,屏幕仍然關閉。params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;params.screenBrightness = -1f;getWindow().setAttributes(params);然后我也嘗試使用喚醒,但沒有成功。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的要求工作。
3 回答

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
private void unlockScreen() { Window window = this.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); }
onResume()
.

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag");wl.acquire();
正常的尾流鎖實際上不會打開照明。相反,當它打開時(例如,從用戶活動中),它們會使照明保持不變。當獲得鎖時,此標志將強制屏幕和/或鍵盤立即打開。一個典型的用途是對用戶立即查看的重要通知。
<uses-permission android:name="android.permission.WAKE_LOCK" />
- 3 回答
- 0 關注
- 1123 瀏覽
添加回答
舉報
0/150
提交
取消