【问题标题】:Android - dimming screen from serviceAndroid - 从服务调暗屏幕
【发布时间】:2017-08-16 09:51:19
【问题描述】:

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

到目前为止,通过互联网和 StackOverflow,我发现了很多依赖“getWindow()”的解决方案,这意味着我的应用必须有一个正在运行的前台活动才能实现这一点。

如果我只有一项服务应该将系统范围的屏幕亮度设置为 30%,那么需要做什么?我认为这与“本地”更改亮度(仅针对我自己的应用)非常相似。

我的想法是获得当前前台应用程序的“窗口”,但我不太确定这是否可能:\

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

【问题讨论】:

  • 屏幕整体亮度可以控制via SCREEN_BRIGHTNESS。如果是这样,原则上,如果您持有WRITE_SYSTEM_SETTINGS 权限,则可以更改它。但是,这不是一个容易获得的权限,而且您将覆盖用户的正常亮度控制。

标签: android screen


【解决方案1】:

我相信是的

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

但你也需要权限 前 api 23

android.permission.WRITE_SETTINGS

【讨论】:

  • 实际上,这可以作为我可以调用“getContentResolver()”的服务!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多