Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Java:关闭屏幕_Java_Android_Permissions_Screen - Fatal编程技术网

Android Java:关闭屏幕

Android Java:关闭屏幕,java,android,permissions,screen,Java,Android,Permissions,Screen,我正在制作一个应用程序,用接近传感器打开和关闭屏幕。 接近代码完成了,但我在使用屏幕控件时遇到了问题 我已经读到我应该使用 PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE); manager.goToSleep(int amountOfTime); 为此,我需要授予特殊权限以使其正常工作,但我还没有想出如何做到这一点 另外,我也读过关于改变屏幕亮度的文章 WindowManager.Lay

我正在制作一个应用程序,用接近传感器打开和关闭屏幕。 接近代码完成了,但我在使用屏幕控件时遇到了问题

我已经读到我应该使用

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);
但这样只能关闭我的应用程序的屏幕;如果我的应用程序在后台运行,它将不起作用

我也读过关于使用Wakelock(我用它们把手机从屏幕上唤醒)的书,但是什么时候

PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
但当我这么做的时候,什么也没发生


还有其他方法吗?

您需要为应用程序授予相应的权限:

添加到
标记内的清单中

如果你想保持屏幕显示,请按照Google Plus上Dianne Hackborn的建议:

请参见“谢谢”,但问题似乎尚未解决there@Sit:你是如何解决这个问题的?谢谢你的回答。我已经将该权限放在清单中,但由于它是2级权限,我们需要有一个特定的权限(系统)才能使用它。这就是我所谓的“特殊权限”,对不起,我解释得很糟糕。