我希望使用 this answer 中的代码制作一个应用程序,将 Galaxy Nexus 上的软按钮调暗为点。为了完整起见,这是代码:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
这里的问题是,应用程序是否可以在系统范围内进行此设置,而不仅仅是在应用程序具有焦点时?因此,理想情况下,应用程序将在后台运行,并且只要它正在运行,就将 View.SYSTEM_UI_FLAG_LOW_PROFILE 保持为默认值,对于您打开的任何应用程序(除非该应用程序专门覆盖它,我想)。这是可能的,还是超出了 Android 应用程序的权限范围?
一个示例用例是这样的:我使用“屏幕过滤器”应用程序来降低夜间电子书阅读或其他应用程序使用的亮度,但软按钮仍然非常明亮且分散注意力,所以我想制作一个会变暗的应用程序运行时系统范围内的软按钮(例如“屏幕亮度”如何在运行时降低系统范围内的屏幕亮度),因此这不会成为问题。
最佳答案
正如CommonsWare 所述,应用程序不可能 更改此设置。这是一个基于 Activity 的设置,必须为每个单独的 Activity 设置,如果要使其全屏、隐藏软键等。
还值得指出的是,您可能应该避免在所有应用程序 Activity 中使用它。它实际上仅适用于需要进入这种“低调”状态的游戏、视频播放器和其他应用程序。
随意接受 CommonsWare 的回答——我只是想我会给你一些关于这个主题的背景信息。
关于android - 是否可以使 setSystemUiVisibility() 影响整个系统,而不仅仅是您的应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8660638/