如何以编程方式从锁屏更改亮度

时间:2015-09-13 10:55:59

标签: java android settings lockscreen screen-brightness

首先想要提供我的应用的上下文: 当呼叫进入时,屏幕将打开并亮起。 同样的文字,屏幕会打开一秒钟。

我想要做的是如果有来电或文字,屏幕亮度保持尽可能低。这样用户就不会注意到屏幕打开了。 这更像是一项服务,而不是一项活动。因为我试图从无法运行活动的锁屏上做到这一点。

1 个答案:

答案 0 :(得分:1)

使用此片段。这将唤醒手机屏幕,但不会解锁屏幕

PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag");
wl.acquire();

或者使用此

final Window win = getWindow();
win.addFlags( WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
        WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
        WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
        WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
        WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON );

我从这里得到了这个 https://android.googlesource.com/platform/packages/apps/DeskClock/+/dfd1960/src/com/android/deskclock/alarms/AlarmActivity.java

希望这会有愉快的编程....