See the App Inventor Extensions document about how to use an App Inventor Extension.
For extension developers, also the document
App Inventor Annotations,
Adding Helper Blocks to a Component and How to add a Dropdown Block to a Component might be helpful.
For questions about extensions or bug reports, please start a new thread in the
App Inventor Extensions forum.
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.
While starting the companion app, all necessary assets and also the imported extensions of your project will be copied to your device.
So in case the no such class error shows up, the extension code to run the extension is not available on your device.
Without that code the companion app is not able to execute methods from the extension.
In case restarting the companion app does not work for you after trying several times, then as it looks like the only way for you
to test you app will be after building it using the apk file.
Account Manager Extension to get some information about the user
AES Encryption Extension to encrypt/decrypt strings
Alarm Extension to set an alarm or a timer programmatically. Also a repeating alarm is now possible.
Alarm Manager Extension with Notification or Autostart to send a notification at a given time only once, hourly or daily. After clicking the notification your app will be started.You can define a start text, which will be passed to your app in method 'get plain start text' and trigger some action after your app is started. Also of course works if your app is not running. You also can define several alarms, just use a different id for each alarm.
Barometer Sensor Extension to get the current pressure and altitude
Battery Manager Extension to provide battery information
Classic Bluetooth Extension to enable/disable bluetooth without user interaction, scan, pair/unpair devices
Camera Extension to take pictures programmatically without user interaction.
Clipboard Extension to copy/paste text to/from the clipboard
Exif Extension to read and write Exif tags in a JPEG file or a RAW image file.
File Extension is an extension related to the File component
Flashlight Extension to turn on/off the flashlight.
FTP Extension to upload or download files to/from your server via FTP
Geofence Extension to trigger enter, exit, or dwell events. Also of course works if your app is not running.
Headset Plug Status Extension to get the headset plug status.
Hotspot Extension (DEPRECATED) to toggle wifi hotspot on or off.
Image Extension to do some basic image manipulation.
Image Metadata Extension to read the metadata of an image file
Light Sensor Extension to get the illuminance
Location Service Extension.
This extension is able to run in the background while your app is closed and stores location data
(latitude, longitude and optionally current datetime, altitude, accuracy, speed, current address and provider) in TinyDB.
Also a background web functionality is available which can be used to send the location data to
a web service of your choice using a POST request. This could be used for example to store the location data
in a MySQL database or to send an email after a location change was detected while the app is not running.
A notifier will be displayed while the location service is running in the background.
Magnetic Sensor Extension to get magnetic X, Y, Z and absolute field strength
Mail Extension to send emails via SMTP
Math Extension to parse a mathematical expression
Simple Notification Extension (DEPRECATED) to send a notification
Notification Listener Extension to listen to all notifications of your device. This service runs in the backround also if your app is closed. It will listen to all notifications and stores them in TinyDB (aka shared preferences).
Package manager Extension to get information about installed apps and to be able to launch an installed app using a package name.
Phone State Listener Extension to listen to phone state changes of your device. Also of course works if your app is not running and also survives a reboot of the device.
Pdf Extension to open pdf files and render a specific page (without using an external app).
Settings Extension to get/set the brightness of the display and get/set/play a ringtone
Take Screenshot Extension to take a screenshot
Screenshot Service Extension to capture a screenshot while the app is not running.
Sharing Extension offers the functionality of the Sharing component with some modifications
SMS Receiver Extension to receive SMS while your app is not running and start your app or display a notification.
Speech Recognizer Extension offers the functionality of the Speech Recognizer component and some additional blocks
SQlite Extension to access the local SQlite database
Telephony Manager Extension to get some information from the telephony manager.
Ambient Temperature Sensor Extension (DEPRECATED) to get the ambient temperature in Celcius.
Textbox Extension to get/set cursor position, to highlight text, to have an event, which fires after text changed
Texting Extension, read all SMS from the inbox, draft and sent folders.
Tools Extension, a collection of several tools, which do not need additional permissions.
WiFi Extension offers some useful blocks to use in a wireless lan
Zip Extension (DEPRECATED) to zip/unzip files.
All available extensions for App Inventor, Kodular, Niotron and other distributions are now available as database for easier querying and filtering. Thank you very much @TimAI2 for all your work to set up the database and bring the data into its current form. Link to the old extensions directory (as of May 2026).

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.