简体   繁体   English

如何在Android中以编程方式关闭屏幕?

[英]How can I programmatically turn off screen in android?

I want to turn off the screen when the user clicks a button. 我想在用户单击按钮时关闭屏幕。 I am trying to do it with PowerManager class but I don't obtain good results. 我正在尝试使用PowerManager类来完成此操作,但未获得良好的结果。 What is the best way to turn off the screen in android?. 关闭Android屏幕的最佳方法是什么?

I am using the code below: 我正在使用以下代码:

  PowerManager pm = (PowerManager)this.getSystemService( Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, ""); wl.acquire(); 

But only work this code: 但只能使用以下代码:

  WindowManager.LayoutParams params = getWindow().getAttributes(); params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; params.screenBrightness = 0; getWindow().setAttributes(params); 

But, this code only set brightness to 0 but no turns off the screen. 但是,此代码仅将亮度设置为0,而没有关闭屏幕。

Thanks a lot. 非常感谢。

You can turn off screen by overriding system screen turn off time. 您可以通过覆盖系统屏幕关闭时间来关闭屏幕。

First get system turn off time 首先获取系统关闭时间

int defaultTurnOffTime =  Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 60000);

then put your turn off time 然后把你的关机时间

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

and when the screen turned off, set default turn off time 当屏幕关闭时,设置默认关闭时间

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

add below permission 添加以下权限

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM