Tap, Tap
1.6.2 · GitHub
More about this app
Port of the double tap on the back of the device feature from Android 12 to any Android 7.0+ device
Tap, Tap
Tap, Tap is a port of the double tap on back of device gesture from Pixels running Android 12 to any Android 7.0+ device*.
Tap, Tap provides over 50 actions that can be run from double or triple taps on the back of your device, including:
- Launching an app
- Launching a shortcut
- Toggling the flashlight
- Simulating button presses, such as home or back
- Running a Tasker task
- Quick Tap to Snap**
... and many more!
The gesture can also be fully controlled, to only run under certain conditions, or run different actions in different scenarios; such as only when an app is running, the screen is off, or when listening to music (many more options are available).
The sensitivity and response of the gesture can be controlled, picking from 8 "models", trained for devices ranging in size from 5.7" to 6.3" in height, as well as finer control of the sensitivity of gesture detection, meaning there is a configuration that will work well for most devices.
Tap, Tap also tries to be easy on the battery, only running the gesture detection when required, and integrates with the "low power mode" available on select Pixel devices, otherwise using the lower-power machine learning capabilities of devices, where available.
* Your device must have an accelerometer and gyroscope.
** Requires a compatible Pixel device or root, see this page for more info.
Screenshots
Example video, showing launching the camera on double tap
Reporting issues and feature requests
If you have encountered a crash or error, please make an issue on the Issues page. For crashes, include a crash report, which Tap, Tap should create for you and show a notification after a hard crash (enable the option on the "More" page first if you have disabled it). Before making an issue, make sure it has not been reported before, and does not fall under the "service killed" pinned issue, as those will be closed and ignored.
To request a feature, either make an issue stating "Feature Request", or post a reply in the XDA thread. Note that only relatively simple features will be considered, anything more complex including toggling specific system features should be done using the Tasker capabilities of Tap, Tap, as the app is not meant to be a Tasker replacement.
Building Tap, Tap
If you would prefer to build from source, Tap, Tap can be built like any other Android app, simply by opening the source in Android Studio and running the app.
How Shizuku is used
Can detect back taps via the Context Hub and trigger app shortcuts, camera shutter and Quick Settings tiles via `Shizuku` user services.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Tap, Tap uses Shizuku to run privileged services that let double or triple back taps sense gestures and perform actions that need shell permissions.
- Detect back-tap gestures: the app talks to the low power Context Hub to start the tap recognizer and exchange tap messages, so taps are sensed without keeping the phone awake.
- Detect taps from logs: on devices without direct hub access, a privileged log watch looks for the system back tap detected message and reports it as a tap.
- Launch app shortcuts: a tap launches the app shortcut the user picked in settings, temporarily allowing background starts so it opens from the background.
- Press camera shutter: a tap sends the camera key press through the privileged service to fire the shutter.
- Toggle Quick Settings: a tap opens the settings panel and clicks the Quick Settings tile the user chose, then closes the panel.
- Browse app shortcuts: the shortcut picker lists installed app shortcuts and their icons through the privileged service so the user can assign one to a tap.
Android APIs or commands used
ContextHubManager.createClientContextHubClient.sendMessageToNanoAppILauncherApps.getShortcutsILauncherApps.getShortcutIconResIdILauncherApps.getShortcutIconUriILauncherApps.getShortcutIconFdILauncherApps.startShortcutIStatusBarService.expandSettingsPanelIStatusBarService.clickTileIStatusBarService.collapsePanelslogcat -s CHRE -Tinput keyevent 27cmd device_config put activity_manager default_background_activity_starts_enabled truecmd device_config put activity_manager default_background_activity_starts_enabled false
Changelog
What's new for version 1.6.2
- Android 15 QPR1 support
- Updated Tasker icon, thanks @etyarews
- Unlocked orientation
- Enabled in-app predictive back
- Target Android 15
- Updated dependencies
Permissions
23 permissions requested
