Reputation: 131
I am using flutter_downloader and i got this error
E/flutter ( 5527): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter_downloader/src/downloader.dart': Failed assertion: line 353 pos 12: '_initialized': plugin flutter_downloader is not initialized
E/flutter ( 5527): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
E/flutter ( 5527): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
E/flutter ( 5527): #2 FlutterDownloader.open (package:flutter_downloader/src/downloader.dart:353:12)
E/flutter ( 5527): #3 DownloadClass.callback (package:brownie/main.dart:59:25)
E/flutter ( 5527): #4 callbackDispatcher.<anonymous closure> (package:flutter_downloader/src/callback_dispatcher.dart:30:15)
E/flutter ( 5527): #5 MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:547:55)
E/flutter ( 5527): #6 MethodChannel.setMethodCallHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:540:34)
E/flutter ( 5527): #7 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:567:35)
E/flutter ( 5527): #8 _invoke2 (dart:ui/hooks.dart:202:13)
E/flutter ( 5527): #9 _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:45:5)
E/flutter ( 5527): #10 _Channel.push (dart:ui/channel_buffers.dart:135:31)
E/flutter ( 5527): #11 ChannelBuffers.push (dart:ui/channel_buffers.dart:331:17)
E/flutter ( 5527): #12 PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:736:22)
E/flutter ( 5527): #13 _dispatchPlatformMessage (dart:ui/hooks.dart:114:31)
This is my code
class DownloadClass {
static void callback(String id, int status, int progress) {
debugPrint("Download $status $progress");
debugPrint(" ${DownloadTaskStatus.complete}");
if (status == 3) {
debugPrint("Download succeed");
FlutterDownloader.open(taskId: id);
}
}
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await FlutterDownloader.initialize(debug: kDebugMode, ignoreSsl: true);
FlutterDownloader.registerCallback(DownloadClass.callback);
await Permission.storage.request();
I found out downloading works in android (I can get a log from debugPrint("Download succeed")) but, I got the initialization error in FlutterDownloader.open()
Directory? documents;
if (Util.isIOS()) {
documents = await getApplicationDocumentsDirectory();
} else if (Util.isAndroid()) {
documents = await getTemporaryDirectory();
}
if (documents != null) {
await FlutterDownloader.enqueue(
url: url.url.toString(),
fileName: fileName,
savedDir: documents.path,
showNotification: true,
openFileFromNotification: true, //TODO
saveInPublicStorage: true);
This is my FlutterDownloader.enqueue() code. showNotification, openFileFromNotification doesn't work either.
Upvotes: 0
Views: 123