fluttercommunity / fluttercommunity/flutter_downloader

Android crash: PlatformException Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference

Open
#584 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
940
Forks
561
Avg merge
1h 18m
Merged PRs (30d)
1

Description

**I am getting this error while trying to download a file inside the enqueue method.
I have latest sdk, latest package.
Any idea what can I do?**

*Thank you*

![image](https://user-images.githubusercontent.com/33902750/148287540-b90a7b52-c349-4cf8-bddf-801292b7f8d0.png)

`PlatformException (PlatformException(error, Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference, null, java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
at vn.hunghd.flutterdownloader.FlutterDownloaderPlugin.enqueue(FlutterDownloaderPlugin.java:180)
at vn.hunghd.flutterdownloader.FlutterDownloaderPlugin.onMethodCall(FlutterDownloaderPlugin.java:82)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262)
at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:178)
at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0$DartMessenger(DartMessenger.java:206)
at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$6ZD1MYkhaLxyPjtoFDxe45u43DI.run(Unknown Source:12)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
))`

**My download method in which I call FlutterDownloader.enque:**

`Future downloadFile(String id, String fileName, String carId, Function onDownloaded) async {
try {
_onDownloaded = onDownloaded;

Directory documentsDirectory;
if (Platform.isAndroid) {
documentsDirectory = await getExternalStorageDirectory();
} else {
documentsDirectory = await getApplicationDocumentsDirectory();
}

String localPath = documentsDirectory.path + Platform.pathSeparator + "Downloads";
final savedDir = Directory(localPath);
bool hasExisted = await savedDir.exists();
if (!hasExisted) {
savedDir.create();
}

if (await _checkPermissions()) {}

final DownloadFileServlet downloadFileServlet = new DownloadFileServlet(id, carId, this.context);

String taskId = await FlutterDownloader.enqueue(
fileName: fileName,
url: await downloadFileServlet.getCompleteUrl(),
headers: await downloadFileServlet.getBaseHeaders(),
savedDir: localPath,
showNotification: false,
openFileFromNotification: false);
_taskById[taskId] = id;
_taskByFile[taskId] = fileName;
} on PlatformException catch (e, stackTrace) {
FirebaseCrashlytics.instance.recordError(e, stackTrace);
}`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.