ko2ic / image_downloader

Flutter plugin that downloads images and movies on the Internet and saves to Photo Library on iOS or specified directory on Android.
https://pub.dartlang.org/packages/image_downloader#-readme-tab-
MIT License
92 stars 119 forks source link

Error receiving broadcast intent #111

Open jessegeens opened 2 years ago

jessegeens commented 2 years ago

Downloading webp images from Firebase Storage gives the following error:

D/AndroidRuntime(14284): Shutting down VM
E/AndroidRuntime(14284): FATAL EXCEPTION: main
E/AndroidRuntime(14284): Process: (redacted), PID: 14284
E/AndroidRuntime(14284): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.intent.action.DOWNLOAD_COMPLETE flg=0x10 pkg=(redacted) (has extras) } in com.ko2ic.imagedownloader.Downloader$execute$1@46970f0
E/AndroidRuntime(14284):    at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1566)
E/AndroidRuntime(14284):    at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)
E/AndroidRuntime(14284):    at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime(14284):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(14284):    at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime(14284):    at android.app.ActivityThread.main(ActivityThread.java:7656)
E/AndroidRuntime(14284):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(14284):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/AndroidRuntime(14284):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/AndroidRuntime(14284): Caused by: java.lang.IllegalArgumentException: MIME type audio/x-wav cannot be inserted into content://media/external/images/media; expected MIME type under image/*
E/AndroidRuntime(14284):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:172)
E/AndroidRuntime(14284):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
E/AndroidRuntime(14284):    at android.content.ContentProviderProxy.insert(ContentProviderNative.java:549)
E/AndroidRuntime(14284):    at android.content.ContentResolver.insert(ContentResolver.java:2149)
E/AndroidRuntime(14284):    at android.content.ContentResolver.insert(ContentResolver.java:2111)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.ImageDownloaderPlugin$CallbackImpl.saveToDatabase(ImageDownloaderPlugin.kt:421)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.ImageDownloaderPlugin$CallbackImpl.access$saveToDatabase(ImageDownloaderPlugin.kt:281)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.ImageDownloaderPlugin$CallbackImpl$granted$3.invoke(ImageDownloaderPlugin.kt:388)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.ImageDownloaderPlugin$CallbackImpl$granted$3.invoke(ImageDownloaderPlugin.kt:281)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.Downloader.resolveDownloadStatus(Downloader.kt:176)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.Downloader.access$resolveDownloadStatus(Downloader.kt:14)
E/AndroidRuntime(14284):    at com.ko2ic.imagedownloader.Downloader$execute$1.onReceive(Downloader.kt:33)
E/AndroidRuntime(14284):    at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1556)
E/AndroidRuntime(14284):    ... 8 more

On Flutter v2.8.1, running on an Android API 30 emulator

I have no idea why it crashes on trying to parse mime type audio/x-wav since I am trying to download a webp picture.

avatarKaran commented 2 years ago

I'm having the same issue. did you manage to figure it out?

jessegeens commented 2 years ago

Hi @avatarKaran sorry for the late reply. Unfortunately I didnt manage to fix the issue in this plugin, however I obtained the same functionality by using this plugin: https://pub.dev/packages/gallery_saver

shrijanRegmi commented 2 years ago

@jessegeens galler_saver didn't work for me