android - 创建一个没有 UI 的 Activity 来在 Appwidget 中进行亮度更改

标签 android android-appwidget screen-brightness

我正在尝试通过小部件更新显示亮度,但我遇到了一些问题。

要更改亮度级别,我使用:

Settings.System.putInt(context.getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS, 200);

这修改了显示设置(实际上在 Display->Brightness 级别是正确的)但是显示的有效亮度没有改变。如果我锁定屏幕并解锁,亮度最终会更改为我设置的值。

我假设这是一个设置更新问题,那么如何在设置更改后立即更新显示设置?

答案是 Update Display Brightness on Android after changing it programmatically

我读到 WindowManager.LayoutParams lp = getWindow().getAttributes();应该使用,但我在 App Widget 中工作,因此无法调用 getWindow()。

如何创建一个没有 UI 的 Activity 来实现 Appwidget 的亮度变化??

最佳答案

我在更改屏幕亮度方面遇到了同样的问题,我在这里发布了解决方案的完整代码:

https://stackoverflow.com/a/9848456/1204377

不过,我是从服务而不是小部件更改它的。但我仍然相信您也可以轻松调整我的代码以使用小部件。

关于android - 创建一个没有 UI 的 Activity 来在 Appwidget 中进行亮度更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9001703/

相关文章:

android - 如何每秒更新一个 Android 小部件......用秒针绘制时钟?

android - 在 Android Activity 中设置全屏亮度

android - 更改屏幕亮度 系统设置 Android

java - Android - 如何使用 HttpClient 接受任何证书并同时传递证书

android - 如何提取 tar (ed) Android 存储库?

Android 小部件未更新

java - getWindow().getAttributes() 期间出现 NullpointerException;

android - Android 内部使用 OkHttp 吗?

android - Android 应用程序的数据存储

android - 将语言环境设置为应用程序小部件