[Free] Fetch - A powerful and simple download tool

I agree


  1. you are asking in the Kodular community but you are using App Inventor… the environments are too different to expect the same result…
    Your are asking in the wrong community and therefore it is a waste of time for everyone here trying to help you

  2. mind your language and be respectful… always…



Yeah, youre right. Take care and keep up good work. :slight_smile:

1 Like

Hello there.

This is such a helpful extension, but may I ask a question, please?
How do I arrange my blocks for this “Fetch” extension to be able to download a .mp4 file from OneDrive through WebView?

Thank you.

@iamwsumit This Extension Support Muiltithred Download Yes / No

Networking operations are always done in a new thread.

This is the one I have been looking for.

But may I ask the developer what kind of permissions thia aix need?

for android 11 does it require permission MANAGE_EXTERNAL_STORAGE

can you provide a doc

I am not much familiar with this permission. Even I haven’t added this permission in extension manifest. AFAIK you don’t require any permission in android 11 until you download your file to ASD and scoped shared storage like Downloads, Documents etc. However, you could ask the WRITE_EXTERNAL_STORAGE permission own in lower version devices where it is required (Maybe API < 29). I don’t know exactly. You could look here for more info about storage and permissions.

1 Like

I added this part to my guide:

Storage Permissions on Android 10 & 11 - EDIT (May 11, 2022)
Since Kodular & AI2 decided to declare requestLegacyExternalStorage=true in the Manifest (which is only ignored on Android 11+), storage permissions must also be requested on Android 10.

If you remove this from the Manifest, which I would recommend, no permission for the Shared folders would be required on Android 10 either. The storage permissions would then have to be declared as follows:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />

I generally prefer to request as few permissions as possible.
I don’t like permissions and my users even less.


But if I add this permisaion by following your guide only for android 11 and publish my *aab on playstore will it be approved?

see here when it more likely will be approved

You should request the MANAGE_EXTERNAL_STORAGE permission only when your app cannot effectively make use of the more privacy-friendly APIs, such as Storage Access Framework or the Media Store API. Additionally, the app’s usage of the permission must fall within permitted uses, and must be directly tied to the core functionality of the app. If your app includes a use case that’s similar to the following examples, it’s likely to be allowed to request the MANAGE_EXTERNAL_STORAGE permission:

  • File managers
  • Backup and restore apps
  • Anti-virus apps
  • Document management apps
  • On-device file search
  • Disk and file encryption
  • Device-to-device data migration



Are these two blocks fixed now with new version or there is no any new version?

1 Like

path not create automaticly not create!
i need create path automatic.
please update the extension.

I wonder why the get file size not working in my app,
it just show 0 of 0.

Did you try my test APK?

1 Like

just try it and it work perfectly with my phone android 12.
the get file size work with both ASD checked or privatedir checked.
i look at your blocks, and the file size part is packed, what i do now is get file size by id > get global id , as how the tutorial told in the first post and it is not working in my app.
Anyway i save the file in ASD directory, i use your installAPK extension to point the path with the AppSpecificDirectory block.

when i use ID blocks to show file size or other purpose then show


1 Like

An awesome extension, very easy to use


Fetch v1.1.0

Fetch downloader v1.1.0 is avilable now

New Blocks

Some new blocks have added for more reliability.


This event raises when download progress changed. This is a replacement for old OnProgress because of new parameters. If I added these new params in old block then many projects would be corrupted on updating the extension.


This block ask the write permission from user. You can use this blocks according to your needs.


Returns true if the write permission is granted.


This property, if set to true then the bytes returned in Progress Changed event will automatically converted to suitable units. This will help you to reduce some blocks.


Some blocks has been deprecated and would not work anymore and will be removed in future updates. Make sure to migrated to new blocks.


This event is deprecated since new event is added as replacement. This block won’t work anymore and will be removed in future updates. Make sure to migrated to the new Progress Changed block.



Extension has been updated on the top post.

Thank You
Sumit :wink:


Error from Companion: invoke: no method named `AutoConvertBytes' in class com.sumit1334.fetchdownloader.FetchDownloade