Android Java:关闭屏幕
问题描述:
我正在制作一个应用程序,使用接近传感器打开和关闭屏幕。 邻近代码已完成,但使用屏幕控件时遇到了问题。Android Java:关闭屏幕
我看过,我应该使用,
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
对于这一点,我需要以使它工作给予特殊的权限,但我还没有想出如何做到这一点。
另外,我看了一下改变屏幕亮度
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
但这种方式只关闭屏幕上我的应用程序;如果我的应用程序在后台运行,它不起作用。
我也看到了有关使用激活锁定(我用它来唤醒从屏幕关闭我的手机),但是当我这样做,没有任何反应,当
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
不过。
有没有其他方法可以做到这一点?
答
你需要给你的应用正确的权限要做到这一点:
添加<uses-permission android:name="android.permission.DEVICE_POWER" />
到您的清单中的<manifest>
标签内
如果你想保持你的屏幕上使用此,由戴安娜Hackborn的建议在谷歌加: KeepScreenOn
+0
谢谢你的回答。我已将该权限放入清单中,但由于它是第2级权限,因此我们需要具有特定权限(系统)才能使用它。这就是我所说的“特殊权限”,对不起,我已经以非常糟糕的方式解释了它。 – Bertrand 2012-02-16 06:52:49
见http://*.com/questions/3643907/putting-the-system-to-sleep-on-android – 2012-02-15 14:13:14
感谢的,但似乎这个问题既没有得到解决有 – Bertrand 2012-02-15 14:36:39
@坐:你是怎么解决这个问题的? – astuter 2014-06-10 10:43:48