See the App Inventor Extensions document about how to use an App Inventor Extension.
For questions about this extension or bug reports please start a new thread in the
App Inventor community. Thank you.
For feature requests please contact me by email.
To be a sponsor of a new method already is possible starting from only 10 USD! With your contribution you will help the complete App Inventor community. Thank you.
Jan 7th, 2021: Version 1: Initial version
Jan 20h, 2021: Version 2: delay added to give the user time to close the notification
Jan 13h, 2024: Version 3: SDK31 update: FLAG_IMMUTABLE, SDK33 update: HasPostNotificationsPermission and OpenNotificationSettings methods added, permission android.permission.POST_NOTIFICATIONS added in Manifest
Screenshot Service Extension to capture a screenshot while the app is not running.
Minimum API level is 21 (Android 5).
Required permissions: android.permission.FOREGROUND_SERVICE
After starting the service the capturing app will display the following "ugly" dialog to the user
Android 5 - Android 9
Starting from Android 10
The user must tap "Start Now" and a permanent notification will be displayed in the status bar for the user
to start capturing a screenshot or shutdown the service.
Note: Do not use the close application block together with this extension. The code behind the close application block terminates the app in an ungraceful way and unfortunately also kills the running screenshot capture process. Please use the MoveTaskToBack method instead .
Return Delay for screenshot.
Determines the delay in milliseconds to give the user time to close the notification. Default value is 500.
Return Filename for screenshot.
Filename for screenshot (png format).
The file will be stored in the ASD - Application Specfic Directory. Default filename is TaifunScreenshot.png.
Return Sound (true or false).
Whether Sound should be on (true) or off (false). Default value is true. If set to true, a short beep sound will be played before and after capturing.
Return SmallIcon.
Set SmallIcon for notification. Recommended size is 96x96.
Return Title.
Set Title to be displayed in the notification. Default value is "Screenshot Service".
Return Text.
Set Text to be displayed in the notification. Default value is "Screenshot Service is running...".
Return Record Button text.
Set Text to be displayed in the record button of the notifier. Default value is 'Capture'.
Return Shutdown Button text.
Text to be displayed in the shutdown button of the notifier. Default value is 'Shutdown'.
Start Service
Note: You will have to build the app to be able to test.
Shutdown Service
Note: You will have to build the app to be able to test.
Move task (i.e. the app) to the background.
Get complete path to the last taken screenshot in the ASD - Application Specfic Directory.
Event indicating if media projection permission has been obtained or not.
There is not much to see in the example app itself,
because the main functionality will be triggered in the notification. Depending on the Android version, the notification looks a little bit different...
Android 5
Android 6
Android 7
Android 8
Android 9
Android 10
Tested successfully on Samsung Galaxy A51 running Android 10.
currently none
Developing and maintaining snippets, tutorials and extensions for App Inventor takes a lot of time.
I hope it saved some of your time. If yes, then you might consider to donate a small amount!
or donate some mBTC to Address:
1Jd8kXLHu2Vkuhi15TWHiQm4uE9AGPYxi8
Thank you! Taifun
Download TaifunScreenshotService extension (aix file)
Download ScreenshotService example project (aia file)
Back to top of page ...
This work by Pura Vida Apps
is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License
with attribution (name=Pura Vida Apps and link to the source site) required.