Android - 从服务调暗屏幕

Android - dimming screen from service

我有一项服务可以检测特定的系统事件,比如一天中的特定时间。我希望我的服务(当满足条件时)调暗用户屏幕。

到目前为止,通过互联网和 Whosebug,我发现了很多依赖于 "getWindow()" 的解决方案,这意味着我的应用程序必须具有 运行 前景 activity 才能实现此目的。

如果我只有一项服务应该将整个系统的屏幕亮度设置为 30%,需要做什么?我不认为它与改变亮度非常相似"locally"(仅适用于我自己的应用程序)。

我的想法是获取当前前台应用程序的 "window",但我不太确定这是否可能:\

有人可以给我一些提示或帮助吗,我所有的搜索都以“你需要调用 "getWindow()" 你自己的应用程序”结尾?

我相信是

System.putInt(contentResolver, System.SCREEN_BRIGHTNESS, brightness)

但您还需要权限 前 api 23

android.permission.WRITE_SETTINGS