当没有活动时如何访问窗口?
我想访问 Window 类,以便可以设置手机上的屏幕亮度。问题是我想要执行此操作的班级不是一个活动。是否可以在不进行活动的情况下做到这一点?我有一个上下文和一个内容解析器,如果有帮助的话。
提前致谢!
I want to access the Window class so I can set the screen brightness on my phone. The problem is that the class I want to do this from is not an activity. Is it possible to do this without being an activity? I have a context and a content resolver, if that helps.
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里你有两个选择。
启动一个新的透明
Activity
,调整Window
和系统设置的亮度值,然后调用finish()
活动
。在某些情况下,无论您使用什么标志,这都会窃取用户的焦点。使用
Dialog
和标志WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
创建持久透明的系统范围覆盖。这可能会导致奇怪的问题,例如阻止应用程序的安装。换句话说,没有干净的方法可以做到这一点。
You have two options here.
Start a new transparent
Activity
, adjust the brightness value (of both theWindow
and system settings), then callfinish()
on theActivity
. This will steal focus from the user in some cases, no matter what flags you use.Create a persistent transparent system-wide overlay using a
Dialog
and the flagWindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
. This can cause odd issues like blocking the installation of apps.In other words, there's no clean way of doing it.