目的:
在Android应用中,当用户触摸按钮时关闭屏幕。
答案已经存在:
将屏幕亮度设置为零。
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
此代码使屏幕变暗,但无法关闭。
使用PowerManager.WakeLock
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
//..screen will stay on during this section..
//wl.release();
此代码将手机设为“Wake_State”。在Table之后, 'PARTIAL_WAKE_LOCK'表示关闭屏幕。但它只是允许用户亲自关闭屏幕(可能使用电源按钮)。
所以,我想完全关闭屏幕而不使用“电源按钮”。谢谢你的阅读。
---添加我的意图-------------------------
我的用户需要在其他应用继续工作时关闭屏幕。不要'POWER_KEY_DOWN(UP)_EVENT'我选择了这种方式。我欢迎另一种归档相同目的的方式。
答案 0 :(得分:2)
您可以通过将wake_setting时间设置为1秒来实现。
我已经尝试了上述两种共享方式,它们显示了略微可见的屏幕,但将wake_setting设置为1秒。
我必须关掉屏幕。为此,您将添加SETTING_Change权限(仅在root手机中可用)。