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贡献1895条经验 获得超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贡献1876条经验 获得超7个赞
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 关注
- 310 浏览
添加回答
举报
0/150
提交
取消