For my Wear OS watch face project, I was using the flag SCREEN_BRIGHT_WAKE_LOCK to acquire a wakelock that keeps the screen fully on for one minute (triggered by the user as needed). This flag has been deprecated. The flag PARTIAL_WAKE_LOCK is still valid, but does not keep the screen on. What is the correct way to do this now?
Asked
Active
Viewed 552 times
1 Answers
1
I believe the watch controls this and it's usually a user setting to enable "Always on Display". Even in this mode, it's likely that the app also runs in ambient mode.
For Watchfaces, you can check the drawMode
override fun render(canvas: Canvas, bounds: Rect, zonedDateTime: ZonedDateTime) {
val backgroundColor = if (renderParameters.drawMode == DrawMode.AMBIENT) {
When it
For Apps
This AlwaysOnKotlin sample demonstrates how to support your app drawing in Ambient mode
It uses Ambient Mode

Yuri Schimke
- 12,435
- 3
- 35
- 69
-
Thanks Yuri! This seems to be for Wear OS apps only, or? What I need is to keep my watch face in full screen mode. There are two situations for my watch face for this: 1. The stopwatch mode continues in high fps for 60 secs. 2. Torch function with white screen and high brightness for 1 min. This was working great with SCREEN_BRIGHT_WAKE_LOCK. Is this not possible any longer with the new guidelines? That would be sad. – go3d Mar 25 '22 at 15:13
-
1Yep, I missed that. I don't think you can do what you want, as it would not allow the user and system to protect the battery. – Yuri Schimke Mar 25 '22 at 22:06