Android 在安卓系统中,如何通过编程关闭屏幕?

Android 在安卓系统中,如何通过编程关闭屏幕?,android,screen,Android,Screen,我正试图通过编程关闭屏幕 我尝试过以下方法: WindowManager.LayoutParams params = getWindow().getAttributes(); params.screenBrightness = 0; getWindow().setAttributes(params); 前面提到的方法不起作用 然而,这是可行的: DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DE

我正试图通过编程关闭屏幕

我尝试过以下方法:

WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 0;
getWindow().setAttributes(params);
前面提到的方法不起作用

然而,这是可行的:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);

mDPM.lockNow();
这是可行的,但我在手机铃声响起时关闭了屏幕,这会导致铃声停止响起。与按下电源按钮时相同

嗯,我需要能够在不使用DevicePolicyManager方法的情况下关闭显示器。或者设置DevicePolicyManager方法不会阻止我的设备响铃的方法


谢谢大家

最好减少屏幕超时时间以关闭屏幕。 像这样:

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 10);

10意味着10毫秒你可以自己设定

这不会像激活了唤醒锁一样工作,那么它将永远不会超时。我上面提到的
DevicePolicyManager
方法是关闭显示器的正确方法,只是在我的情况下并不完美。但他的方法并不适用于所有设备。在我看来,最好的办法就是你发布的链接正是我刚才所说的。。我不明白你想说什么?只要您的设备是2.2(API 8)或更高版本,您就可以使用
DevicePolicyManager
mDPM.lockNow()
关闭屏幕。