繁体   English   中英

无法为 flutter_downloader 打开下载的文件

[英]Unable to open downloaded file for flutter_downloader

我正在使用 flutter 下载器包来下载文件,但在我的情况下,下载成功完成,但我无法通过在通知中单击它来打开下载器文件,并且在我的手机文件中找不到它

这是我解决这个问题的代码

downloadFile(url) async {
    final directory = await getExternalStorageDirectory();
    print("the directory is :");
    print(directory.path);
    try {
      final taskId = await FlutterDownloader.enqueue(
        url: url,
        savedDir: directory.path,
        showNotification: true,
        openFileFromNotification: true,
      ).then((value) async {
        bool waitTask = true;
        while (waitTask) {
          String query = "SELECT * FROM task WHERE task_id='" + value + "'";
          var _tasks =
              await FlutterDownloader.loadTasksWithRawQuery(query: query);
          String taskStatus = _tasks[0].status.toString();
          int taskProgress = _tasks[0].progress;
          if (taskStatus == "DownloadTaskStatus(3)" && taskProgress == 100) {
            waitTask = false;
          }
        }

        await FlutterDownloader.open(taskId: value);
      });
      print("the task id is :");
      print(taskId);
    } catch (e) {
      print(e);
    }
  }

谁能知道这个问题的原因

请注意:我添加了权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

while (waitTask) { String query = "SELECT * FROM task WHERE task_id='" + value! + "'"; var _tasks = await FlutterDownloader.loadTasksWithRawQuery(query: query); String taskStatus = _tasks![0].status.toString(); int taskProgress = _tasks[0].progress; if (taskStatus == "DownloadTaskStatus(3)" && taskProgress == 100) { waitTask = false; } }

替换这些行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM