我想在用户点击按钮时关闭屏幕。我正在尝试使用PowerManager类,但我没有获得好的结果。在android中关闭屏幕的最佳方法是什么?。
我正在使用以下代码:
PowerManager pm = (PowerManager)this.getSystemService( Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, ""); wl.acquire();
但只能使用此代码:
WindowManager.LayoutParams params = getWindow().getAttributes(); params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; params.screenBrightness = 0; getWindow().setAttributes(params);
但是,此代码仅将亮度设置为0,但不会关闭屏幕。
非常感谢。
答案 0 :(得分:3)
您可以通过覆盖系统屏幕关闭时间来关闭屏幕。
首先让系统关闭时间
int defaultTurnOffTime = Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 60000);
然后关闭时间
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 1000);
当屏幕关闭时,设置默认关闭时间
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, defaultTurnOffTime);
添加以下权限
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>