【发布时间】:2012-01-17 01:14:36
【问题描述】:
我想让设备进入睡眠状态或关闭屏幕。我调查发现了这个话题:Turn off screen on Android
基本上有以下三种方法,但我发现这三种方法都有问题:
a) 选择 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,但它是无害的。
c) 选择 3:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
问题:我可以让它工作,但是当尝试打开设备时它会做一些奇怪的事情,比如不喜欢返回,或者如果我的应用在前面,会自动进入睡眠状态就在按下按钮后。这看起来更像是一个提示或解决方法,而不是正常的解决方案。
谁能告诉我有什么好方法可以让设备进入睡眠状态或关闭屏幕并且可以毫无问题地运行?在我看来,像这样的简单功能并不能很好地使用它(或至少有据可查)
【问题讨论】:
标签: android sleep-mode