NINANIA
NINANIA

Reputation: 131

Failed assertion: line 353 pos 12: '_initialized': plugin flutter_downloader is not initialized

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

Answers (0)

Related Questions