How to Lock Your Android Screen Using ADB

How to Lock Your Android Screen Using ADB

30 November 2024 Stephan Petzl Leave a comment Tech-Help

Locking your Android device’s screen via ADB (Android Debug Bridge) can be particularly useful in scenarios where you need to simulate display timeout or control devices remotely. This guide will walk you through the steps to achieve this using ADB commands.

Using ADB to Lock the Screen

The simplest approach to lock an Android device screen from your PC is by sending a specific key event using ADB. Here’s how you can do it:

adb shell input keyevent 26

This command sends the KEYCODE_POWER event, which locks the device if the screen is currently unlocked. If the screen is already locked, this command will wake up the device.

Ensuring the Screen is Locked

To make sure that the screen is indeed locked, you can use the following approach:

  1. Unlock the screen using the menu key event (if necessary).
  2. Lock the screen with the power button key event.

This can be automated using a script that checks the screen’s current state and then locks it if needed. Here’s a sample bash script:

#!/bin/bash
if [ "$(adb shell dumpsys power | grep mScreenOn= | grep -oE '(true|false)')" == false ] ; then
    echo "Screen is off. Turning on."
    adb shell input keyevent 26 # wakeup
    adb shell input touchscreen swipe 930 380 1080 380 # unlock
    echo "OK, should be on now."
else 
    echo "Screen is already on."
    echo "Turning off."
    adb shell input keyevent 26 # sleep
fi

Practical Applications

Automating screen locking can be particularly useful for testing environments where devices need to be reset to a known state before tests are run. This ensures consistency and reliability in test results.

Integrating with Repeato

If you are looking for a more comprehensive solution for automating tests on Android devices, consider using Repeato. Repeato is a no-code test automation tool that allows you to create, run, and maintain automated tests for Android apps efficiently. It utilizes computer vision and AI to provide fast and reliable test execution. Additionally, Repeato includes ADB capabilities, enabling you to execute ADB commands within your test scripts seamlessly. This makes it a versatile tool for managing device states and automating repetitive tasks.

For more information on using ADB commands and integrating them with your testing workflow, check out our articles on granting app permissions using ADB and Android testing tools.

Like this article? there’s more where that came from!