ScreenshotTile (NoRoot)
โโโโโโโโโโโโConsider donating to F-Droid
Screenshot Tile for Android 7.0+ without requiring root access
Video:
Fork of github.com/ipcjs/ScreenshotTile
Changelog โข View older releases โข Google store
Languages
To help translate this app, please visit crowdin.com, where the localizations are managed. If you like to add a new language, please open an issue or email me and I will add it.
You may translate the resource files directly and open a pull request. The English source is in /app/src/main/res/values/strings.xml and the translated files are stored in /app/src/main/res/values-XX/strings.xml (XX = language code)
Contributors & libraries
The internal image editor and image library used is github.com/burhanrashid52/PhotoEditor (MIT license) by Burhanuddin Rashid.
Technical details
This app supports three different methods to take screenshots
Legacy/Original method
This method uses the screen recording/screen cast capabilities of Android to record a single frame.
Requirements:
- Android 7 Nougat
- Storage permission
- ScreenCaptureIntent/MediaProjection permission
Properties:
- Custom storage location
- Custom format
- Custom notification
- Before Android 9 the ScreenCaptureIntent/MediaProjection permission was only asked once when adding the tile (with option "Don't show again"). Since Android 9 it needs to be granted frequently before taking a screenshot
Native method with system defaults enabled
This method uses the screenshot function of the device. It's exactly the same as pressing the Home+Power button or whichever key combination is used for screenshots on that phone.
Requirements:
Properties:
- No permissions needed, only activating the accessibility service once
- Functions like long screenshots, screenshot editor, notifications, thumbnail etc., which the device manufacturer may have added, can be used
Native method with custom settings
This method uses AccessibilityService#takeScreenshot which outputs a bitmap that can be compressed and stored on disk.
Requirements:
Properties:
- Custom storage location
- Custom format
- Custom notification
Cast icon: (only Legacy method)
If you don't want to see the cast icon in the status bar on every screenshot, you can turn
it off on most phones. I do not recommend turning it off, as it is generally
a good idea to know when an app is recording the screen.
Here's an explanation on how to turn it off:
PCTattletale.com - How to turn off Android's Pesky Chromecast Icon
Automatic screenshots with Broadcast intents
You can automate taking screenshots with apps like MacroDroid or Tasker. This works via Broadcast intents.
Tutorial video on youtube: https://youtu.be/q5hQF1nzOzk
First you have to activate this feature by setting a password in the app settings.
Now you can add a macro to MacroDroid:
- Open MacroDroid and tap on Macros and then Add Macro or the โ Symbol
- Tab โ on Triggers and add your desired trigger
- Tab โ on Actions and go to Connectivity -> Send Intent
- Under Target select Broadcast and fill out the fields:
- Action:
com.github.cvzi.screenshottile.SCREENSHOT
- Package:
com.github.cvzi.screenshottile
- Data (class name):
com.github.cvzi.screenshottile.IntentHandler
- Extra 1 parameter:
secret
- Extra 1 value:
yourPasswordFromEarlier
- (Optional: Extra 2 parameter
partial
, valuetrue
to open the area selector for a partial screenshot instead of taking a screenshot)
- Action:
Permissions
android.permission.WRITE_EXTERNAL_STORAGE
"Photos/Media/Files and Storage"
Read the contents of your internal storage/USB storage
Modify or delete the contents of your internal storage/USB storage
This is required to save the screenshot files on the internal storage of your device. Since Android 10 Q this permission is no longer used.
android.permission.FOREGROUND_SERVICE
Since Android 9/Pie this permission is required to take screenshots. It basically means that this app can run without showing itself. However the app will always show a notification when it is running.
ScreenCaptureIntent
ScreenshotTile will start capturing everything that's displayed on your screen.
This is a special permission that is requested before you take a screenshot or when you add the tile to you quick settings. It allows the app to record the screen. In this case, for a screenshot, the recording is only one image/frame.
android.permission.POST_NOTIFICATIONS
Since Android 13 Tiramisu this permission can be used to request the ability to show notifications. You can choose "Don't allow" to block all notifications.
Miscellaneous data
Some miscellaneous files (mostly images) that don't need to be in the main repository of ScreenshotTile were moved to a separate repository: https://github.com/cvzi/ScreenshotTile_miscellaneous