🏜️ Single & Multiple image Picker, video Picker, audio Picker, documents Picker, etc

Extension Name : RYimagepicker

All Blocks Images

Demo aia Appinventor : RYimagepicker.aia (60.6 KB)
Test Apk : RYimagepicker.apk (3.6 MB)
Extension : RYimagepicker.aix (11.7 KB)

🧩 Key Features

✅ Supports Single & Multiple file selection. ✅ Works with all file types (image, video, audio, documents, etc.). ✅ Uses Storage Access Framework (modern Android API — safer and future-proof). ✅ Returns detailed metadata (name, mime type, size, pseudo path). ✅ Option to persist URI permissions for long-term file access. ✅ No need for “READ_EXTERNAL_STORAGE” on Android 11+ (automatically handled). ✅ Fully compatible with Niotron, Kodular, MIT App Inventor, AI2 clones. ✅ Clean, optimized, and bug-free — no deprecated APIs.

🧠 How It Works

This extension uses Android’s ACTION_OPEN_DOCUMENT intent, which is part of the Storage Access Framework (SAF). It does not depend on legacy external storage permissions, ensuring better compatibility with Android 10–14+.

After picks file extension fetches:
●Display name
●MIME type
●File size
●Safe, persistent access URI

After Single Pick Return Values Multiple Pick Return Same Values in List

Property Example
URI content://com.android.providers.media.documents/document/image%3A4123
Path content://com.android.providers.media.documents/document/image%3A4123
Name photo.jpg
MIME Type image/jpeg
Size 2560345

⚠️ Limitations

●No real file path: SAF returns secure content URIs, not /storage/... paths. Use ContentResolver streams if you need to read/write. ●Some file managers may not support multiple pick (varies by Android version). ●WRITE access is limited unless file was created or user granted explicit permission. ●Large selections (50+ files) might slow down on low-end devices. ●Intent-based operation — picker opens system UI ( not inside WebViewer ).

🧾 Technical Notes

●Works with Android 7+ (SAF introduced in Android 5.0). ●SAF Uris are not direct file paths — use content resolvers or upload via URI streams. ●If PersistUriPermission = true, app keeps access to selected files even after restart. ●maxCount parameter in MultiplePick is for future updates (currently informational).

📜 Credits

Developer: Rizzu Idrisi (RY) Language: Java Framework: App Inventor Components SDK Version: 5 License: Free to use and modify (credit appreciated)
3 Likes

Thanks for your contribution,

Though there’s still something to be added, since you’re stepping where I step before I can’t let you do the same like me, I created similar extension before

So the meme type must be in helpers, not user to enter string.

I was kid back then​:joy::joy: seeing my extension unlisted in 5 minutes while I have worked for it in 2 weeks to succeed, but I understand how helpers are useful.

Also am encountering bug with your apk Ile when picking multiple images

Anyway, great work

:green_heart:

I ignor it Because this is Demo File :

:joy::joy::joy: My Next Extension Is I think Cloudinery

Fix it since you have added it in your documentation it must work to avoid some random question

1 Like

So how do we test the app?

this Error is From Dynamic Component. u can easily Fix it . Make Unique IDs . Wait I will Update it .