[Free] Fetch - A powerful and simple download tool

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.
:wink:

3 Likes
2 Likes

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

Taifun

2 Likes

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

nothing
why?

1 Like

An awesome extension, very easy to use

2 Likes

Fetch v1.1.0

Fetch downloader v1.1.0 is avilable now


New Blocks

Some new blocks have added for more reliability.

image

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.

image

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

image

Returns true if the write permission is granted.

image

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.


Deprecated

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

image

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.

image


Download

Extension has been updated on the top post.


Thank You
Sumit :wink:

5 Likes
error

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

This post was flagged by the community and is temporarily hidden.

My app is crashing when i use this extension on android version 14 see error logs

Exception com.tonyodev.fetch2.exception.FetchException: This fetch instance has been closed. Create a new instance using the builder.
  at com.tonyodev.fetch2.fetch.FetchImpl.f
  at com.tonyodev.fetch2.fetch.FetchImpl.a
  at com.tonyodev.fetch2.fetch.FetchImpl.c
  at com.tonyodev.fetch2.fetch.FetchImpl.c
  at com.sumit1334.fetchdownloader.repack.W.a
  at com.sumit1334.fetchdownloader.repack.aK.run
  at android.os.Handler.handleCallback (Handler.java:958)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:257)
  at android.os.Looper.loop (Looper.java:368)
  at android.app.ActivityThread.main (ActivityThread.java:8826)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:572)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1049)

The download link isn’t working.
Is the extension removed by the developer?

If so is there a alternative? :slight_smile:

Download it from Github Fetch-Downloader/com.sumit1334.fetchdownloader.aix at master · iamwsumit/Fetch-Downloader · GitHub

Taifun

2 Likes

thanks for the link taifun
but seems like that .aix is of the older version
will check for alternatives, thanks :slight_smile:

When using this block , app crashes when that screen closes or back pressing, please fix this bug

Or is this to use in screen1 ?