Android:如何以編程方式打開和關(guān)閉屏幕?在將這篇文章標(biāo)記為“復(fù)制”之前,我寫這篇文章是因?yàn)闆]有其他帖子能解決這個問題。我試圖關(guān)閉設(shè)備,然后在幾分鐘后或傳感器改變,打開它。關(guān)閉顯示測試我可以使用以下方法關(guān)閉屏幕:params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;params.screenBrightness = 0;getWindow().setAttributes(params);我無法使用wl.free()方法關(guān)閉屏幕。打開顯示測試我的第一個猜測,如下所示,是行不通的。什么都沒發(fā)生,屏幕仍然關(guān)閉。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();最后,我嘗試了以下幾點(diǎn),但沒有結(jié)果。getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);總之,這些方法的控制臺中沒有任何錯誤。我的測試文本“屏幕應(yīng)該打開”,是在屏幕上,當(dāng)我打開設(shè)備時,使用電源按鈕。這表明代碼應(yīng)該已經(jīng)運(yùn)行。請只回答,如果您已經(jīng)測試了代碼,它似乎有許多功能,如params.screenBrightness = -1,不要按照SDK的要求工作。
3 回答

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個贊
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()
.

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個贊
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag");wl.acquire();
正常的尾流鎖實(shí)際上不會打開照明。相反,當(dāng)它打開時(例如,從用戶活動中),它們會使照明保持不變。當(dāng)獲得鎖時,此標(biāo)志將強(qiáng)制屏幕和/或鍵盤立即打開。一個典型的用途是對用戶立即查看的重要通知。
<uses-permission android:name="android.permission.WAKE_LOCK" />
- 3 回答
- 0 關(guān)注
- 329 瀏覽
添加回答
舉報
0/150
提交
取消