我想发送设备进入睡眠状态或关闭屏幕。我已经调查,发现这个话题:Turn off screen on Android如何关闭屏幕或发送设备进入睡眠状态
基本上,有三种方法来做到这一点,但我已经发现了三个问题:
一)选择1:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
问题:它导致FC。我已阅读我需要DEVICE_POWER
权限,但它不能授予正常的应用程序。
B)选择2:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
问题:这并不为我工作。我不知道为什么。它不给我一个FC,但它是无害的。
三)选择3:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
问题:我能得到它的工作,但是当尝试打开设备它不奇怪的事情,就像不喜欢返回,或者,如果我的应用在按下按钮后自动进入睡眠状态。这看起来更像是一种比常规解决方案更好的提示或解决方法。
任何人都可以告诉我任何好方法发送设备睡觉或关闭屏幕,可以运行没有问题?对我而言,这种简单的功能对我来说听起来并不是很好(或者最好记录在案)。
如果我希望它关闭屏幕,而不是锁定,直到我的屏幕锁定超时? –