如何在应用程序运行时始终在Android上保持屏幕亮度

时间:2013-08-27 14:33:32

标签: android screen wakelock brightness

我希望手机屏幕始终打开并保持亮度,这是我在应用程序运行时始终设置的亮度。

这是始终打开屏幕的代码

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);

现在屏幕始终处于开启状态,但一段时间后亮度降低。它保持低亮度。如何在应用程序运行时始终使屏幕亮度保持不变。

2 个答案:

答案 0 :(得分:7)

在您的布局或活动清单

中使用此功能
android:keepScreenOn="true"

使用此功能,您可以摆脱WakeLock和亮度调整,因为只要“活动”处于前景,屏幕将始终以设备设置的亮度级别打开。

答案 1 :(得分:1)

在你的onResume()

中使用它
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

,这在你的onPause()

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