• Stars
    star
    173
  • Rank 219,020 (Top 5 %)
  • Language
    Kotlin
  • License
    GNU General Publi...
  • Created almost 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ“ฒ Screenshot Tile for Android without Root

app icon ScreenshotTile (NoRoot)

License: GPL v3 F-Droid Play Store Download APK file Downloads F-Droid build status ๐Ÿ”จ Gradle Build

Get it on F-Droidโ€‡โ€‡โ€‡โ€‡โ€‡โ€‡โ€‡โ€‡โ€‡โ€‡โ€‡โ€‡Consider donating to F-Droid

Screenshot Tile for Android 7.0+ without requiring root access

Video:

Video screenshot

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.

Crowdin | Agile localization for tech companies

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

Contributors

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 Legacy method switch on

This method uses the screen recording/screen cast capabilities of Android to record a single frame.

Requirements:

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 Native method switch on

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:

  • Android 9 Pie
  • Accessibility service needs to be started in the system settings
  • Accessibility service screenshot

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 Native method switch on Use system defaults switch off

This method uses AccessibilityService#takeScreenshot which outputs a bitmap that can be compressed and stored on disk.

Requirements:

  • Android 11 R
  • Accessibility service needs to be started in the system settings
  • Storage permission
  • Accessibility service screenshot
  • Storage permission screenshot

Properties:

  • Custom storage location
  • Custom format
  • Custom notification

Cast icon: 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

Macro intent screenshot

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, value true to open the area selector for a partial screenshot instead of taking a screenshot)

Macro intent screenshot

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

More Repositories

1

darkmodewallpaper

๐ŸŒ“ A live wallpaper for Android that respects dark theme mode ๐ŸŒ‡
Kotlin
98
star
2

flag

Flag emoji from country codes for Python ๐Ÿณ๏ธโ€๐ŸŒˆ๐ŸŒ
Python
53
star
3

mpv-youtube-download

A userscript for MPV that allows you to download youtube audio and video with one key press ๐Ÿ’พ
Lua
52
star
4

mpv-youtube-upnext

A userscript for MPV that allows you to play "up next"/recommended youtube videos โญ๏ธ
Lua
44
star
5

Metacritic-userscript

Show metacritic metascore and user ratings on Bandcamp, Apple Itunes, Amazon, IMDb, Google Play, TV.com, Steam, Gamespot, Rotten Tomatoes, Serienjunkies, BoxOfficeMojo, allmovie.com, movie.com, Wikipedia, themoviedb.org, letterboxd, TVmaze, TVGuide, followshows.com, TheTVDB, ConsequenceOfSound, Pitchfork, Last.fm, TVNfo, rateyourmusic.com, GOG, Epic Games Store
JavaScript
37
star
6

Youtube-Genius-Lyrics-userscript

Userscript, Show lyrics/songtexts from genius.com on Youtube next to music videos
JavaScript
36
star
7

telegram-bot-cloudflare

A minimal example of a Telegram Bot on Cloudflare Workers
JavaScript
36
star
8

rollup-userscript-template

Bundle javascript, typescript, react and JSX/TSX script files into a single userscript file with rollup
JavaScript
35
star
9

pinterest-Backup-Original-Files

Greasemonkey script. Download all original images from one of Pinterest.com boards in a large Zip file
JavaScript
26
star
10

Bandcamp-script-deluxe-edition

A discography player for bandcamp.com and manager for your played albums
JavaScript
23
star
11

Spotify-Genius-Lyrics-userscript

Userscript, shows lyrics from genius.com on Spotify web
JavaScript
23
star
12

itunes_smartplaylist

iTunes Smart playlist parser with Python. Convert to Kodi xsp smart playlists.
Python
15
star
13

genius-lyrics-userscript

A userscript library to show lyrics from genius.com on other websites
HTML
14
star
14

WallpaperExport

Export the current and default wallpaper on Android
HTML
13
star
15

Rottentomatoes-userscript

Show Rotten Tomatoes score on imdb.com, metacritic.com, letterboxd.com, BoxOfficeMojo, serienjunkies.de, Amazon, tv.com, Google Play, allmovie.com, Wikipedia, themoviedb.org, movies.com, tvmaze.com, tvguide.com, followshows.com, thetvdb.com, tvnfo.com
JavaScript
11
star
16

playshields

Play store badges with shields.io ๐Ÿ“ฑ๐Ÿ“›
Go
10
star
17

mensahd

โ˜• Parser for openmensa.org for canteens of Studierendenwerk Heidelberg, Mannheim, Stuttgart, Ulm and Hamburg
Python
10
star
18

Youtube-Music-Genius-Lyrics-userscript

Userscript, Show lyrics/songtexts from genius.com on Youtube Music
JavaScript
9
star
19

Letterboxd-userscript

Show Letterboxd rating on imdb.com, metacritic.com, rottentomatoes.com, BoxOfficeMojo, Amazon, Google Play, allmovie.com, Wikipedia, themoviedb.org, movies.com
JavaScript
9
star
20

Spotify-Web-Copy-track-info-to-clipboard-Userscript

Adds entry to context menu of Spotify Web Player to copy the selected song name and artist to the clipboard
JavaScript
9
star
21

play

Play store badges with shields.io ๐Ÿ“ฑ๐Ÿ“›
JavaScript
8
star
22

open-location-code-demo

๐Ÿ“ Demonstration of the structure of Google Plus Codes or Open Location Codes ๐Ÿ—บ๏ธ
JavaScript
7
star
23

chatanonymously

kik, Telegram and Facebook Bot to chat anonymously. Runs on Heroku
Python
7
star
24

apng

Creates an apng animation file from multiple png images. Written in Go
Go
6
star
25

MinimalImageViewer

A minimal GTK3 image viewer in Python with PyGObject
Python
6
star
26

mensa

๐Ÿฅ˜ Parser for openmensa.org for canteens of Studierendenwerk Kaiserslautern, Kรถlner Studierendenwerk, mensen.at, WU Wien, restopolis, ristocloud, markas, mampf1a, inetmenue and Studierendenwerk Greifswald
Python
6
star
27

py_save_face_xmp

Python tool to detect or select faces on jpg images and save the position in the XMP metadata of the image file
Python
5
star
28

py_itunesart

Download album cover information from Apple iTunes artwork API and store id3 metadata in mp3 file
Python
5
star
29

Userscripts

๐Ÿต Userscipts for Firefox and Chrome
JavaScript
5
star
30

Share-Bandcamp.com-lyrics-and-songtexts-on-Genius.com

Userscript. Adds a link above the lyrics on bandcamp to share lyrics to genius.com. It then automatically copies all the available information (title, artist, release date, ...) to genius.com
JavaScript
4
star
31

RequestQueue

A simple queue for XMLHttpRequests or other async functions. Optimized for Greasemonkey GM_xmlhttpRequests
JavaScript
3
star
32

Arabic-Transcription

Transliteration of Arabic script similar to Duolingo or the Arabic chat alphabet Arabish.
HTML
3
star
33

AssertWT

Run a Python script in Windows Terminal wt.exe
Python
3
star
34

QR-Code-Generator-fuer-Ueberweisungen

Creates QR code to initiate a SEPA credit transfer (SCT). Similar to Girocode or BezahlCode in Germany. Javascript implementation
JavaScript
3
star
35

getwallpaperdrawable

WallpaperManager.getDrawable() on Android 13
Kotlin
2
star
36

genius-downloader

A lyrics downloader for genius.com
Python
2
star
37

FireMonkey

Mirror of the FireMonkey source code. Unzipped from the .xpi release
JavaScript
1
star
38

py_treedraw

Generate layout for drawing a tree in 2D. Based on the improved Walker Algorithm.
Python
1
star
39

openmensabot

Telegram bot, shows mensa menus from openmensa.org. Supports daily push messages.
Python
1
star
40

Genius-translate-lyrics-userscript

Shows English or Russian translation next to the lyrics on genius.com
JavaScript
1
star
41

snake

๐Ÿ Snake game in the terminal with a gamepad controller ๐ŸŽฎ in Julia
Julia
1
star
42

bothelper

Small library for kik, Telegram, discord and Facebook Messenger bots
Python
1
star
43

vicibot

kik, Telegram and Facebook Bot for the Archaeological Atlas of Antiquity vici.org. Runs on Heroku
Python
1
star
44

lfmsfiow

Lightweight Last.fm scrobbler for iTunes on Windows. Written in Python using pylast as API to last.fm
Python
1
star
45

testaccessibility

using AccessibilityService creates strict mode violation
Kotlin
1
star
46

foodemoji

Decorate a German text (e.g. restaurant menu) with food emojis
Python
1
star
47

ventopay_client

Test client for https://appservice.ventopay.com/
C#
1
star