Is there a way to check if Android device screen is locked via adb?

adb, android

Solution

This command will output everything relating to power for the device:

adb shell dumpsys power

You can pipe this to a grep to get the values of `mHoldingWakeLockSuspendBlocker` and `mHoldingDisplaySuspendBlocker`:

adb shell dumpsys power | grep 'mHolding'

If both are false, the display is off.

If `mHoldingWakeLockSuspendBlocker` is false, and `mHoldingDisplaySuspendBlocker` is true, the display is on, but locked.

If both are true, the display is on.

Problem

I know that PowerManager and/or KeyguardManager can help me check if a device screen is locked/unlocked. Is there a way to check this via adb?

Original source