2

我希望手机屏幕始终亮着并保持我在应用程序运行时一直设置的亮度。

这是让屏幕始终开启的代码

PowerManager pm;
PowerManager.WakeLock wl;
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();

这是设置亮度的代码:

WindowManager.LayoutParams layout = getWindow().getAttributes();
layout.screenBrightness = 1F;
getWindow().setAttributes(layout);

现在屏幕一直亮着,但一段时间后亮度会降低。它以这种低亮度保持不变。如何在应用程序运行时使屏幕亮度始终保持不变。

4

2 回答 2

8

在您的布局或活动清单中使用它

android:keepScreenOn="true"

有了这个,您可以摆脱 WakeLock 和亮度调整,因为只要 Activity 处于前台,屏幕将始终以设备设置的亮度级别打开。

于 2013-08-27T14:35:54.720 回答
1

在你的 onResume() 中使用它

getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

这在你的 onPause()

getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
于 2013-10-11T11:56:02.887 回答