System › WaveUp
thumb_up Follow me on GitHub to get notifications about my projects (like Fossdroid Core), thanks! close

WaveUp

Turn on the display by waving
Version: 3.2.30
Added: 11-04-2016
Updated: 21-07-2026
WaveUp wakes up your phone—switches the screen on—when you wave over the proximity sensor.

I built this app because I got tired of pressing the power button just to check the time (a surprisingly frequent habit). Inspired by the great Gravity Screen On/Off. I looked for an open-source alternative and just couldn’t find one. So I made it myself!
Checkout the code: https://gitlab.com/juanitobananas/wave-up
A possibly more more up-to-date README: https://gitlab.com/juanitobananas/wave-up/#waveup

Features

Wave mode: Turns the screen on when you wave over the proximity sensor.
Pocket mode: Turns the screen on when you pull your phone out of a pocket or bag.

Both are enabled by default but can be turned off in settings.

Screen lock: cover the sensor for a second (or your chosen time) and the phone locks. Off by default, but easy to enable.

Wait, what's a proximity sensor?
It’s that invisible little thing near your phone’s earpiece that turns off the screen when you’re on a call.

Known Issues
Some phones keep the CPU running while listening to the proximity sensor and this drains battery (blame your phone, not me). Most phones don’t, so battery use is minimal.

Accessibility Services

▸ Purpose: Starting with Android 9, WaveUp utilizes the Accessibility Services API to allow users to switch off the screen.
▸ Privacy and Security: WaveUp uses the Accessibility Services API exclusively for this purpose and only if the 'lock' option is enabled. No personal data is collected, stored, or shared through this service.
▸ Permission Scope: The Accessibility Services permission is strictly used for enabling the screen lock feature. It does not monitor or interact with any other aspect of device usage.

Permissions (yep, quite a few)

WAKE_LOCK – turn on the screen
RECEIVE_BOOT_COMPLETED – auto-start on boot
READ_PHONE_STATE – pause during calls
BLUETOOTH / CONNECT – avoid pausing when on a Bluetooth call
IGNORE_BATTERY_OPTIMIZATIONS etc. – stay alive in the background
FORCE_LOCK – lock device (Android 8 and below)
ACCESSIBILITY_SERVICE – lock device (Android 9+)
DELETE_PACKAGES – let the app uninstall itself if needed

Uninstalling (Android 8 and older)
WaveUp uses Device Admin permissions, so it won’t uninstall the usual way. Use the 'Uninstall WaveUp' button in the app to remove it properly.

Fun fact

This is my first Android app and my first open-source contribution! I'd love your feedback or help—especially if you're into translations or just enjoy tinkering.
Open source rocks!

Translations

Help translate WaveUp! Even the English version could use improvements.
https://www.transifex.com/juanitobananas/waveup/
https://www.transifex.com/juanitobananas/libcommon/

Acknowledgments
Thanks to all who contributed: https://gitlab.com/juanitobananas/wave-up/#acknowledgments

Screenshot of WaveUp Screenshot of WaveUp
code Source file_download Download