java - 安卓Java : Turn screen Off

标签 java android permissions screen

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

我读过我应该使用,

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();

但是当我这样做时,什么也没有发生。

还有其他方法吗?

最佳答案

您需要为您的应用授予执行此操作的正确权限:

添加<uses-permission android:name="android.permission.DEVICE_POWER" /><manifest> 内的 list 标记

如果您想保持屏幕开启,请按照 Dianne Hackborn 在 Google Plus 上的建议使用此功能: KeepScreenOn

关于java - 安卓Java : Turn screen Off,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9294917/

相关文章:

java - 有什么方法可以清除 Java 中 DataInputStream 的数据? (一个安卓应用程序)

android - 错误: Unknown admin: ComponentInfo

linux - 如何在忽略权限的情况下提取 tar

windows - 在 C :\ProgramData 中创建用户独立的日志文件

java - hibernate 异常, "unexpected AST node"

java - 在 JavaFX 文本字段中的输入文本之前显示不可删除的文本

java - 这个类是不可变的吗?

java - 使用递归连接字符串

android - 播放视频时禁用Android的VideoView requestAudioFocus?

ios - 应用程序不请求访问位置的权限,弹出窗口停留在后台