Android - 下载管理器 : "Missing request for path"

标签 android android-download-manager download-manager

我正在创建一个像这样的 DownloadManager.Request:

  DownloadManager.Request request = new DownloadManager.Request(url);
  request.setDescription(fileName);
  request.setTitle("Title");

  request.setDestinationInExternalPublicDir(sourceDir, fileName);

  downloadManager.enqueue(request);

但是我正在记录这个警告: 缺少路径 [path] 的请求

你知道这是什么意思吗?我该如何解决?

最佳答案

Android source repository中有一个代码

@Override
public void onScanCompleted(String path, Uri uri) {
    final ScanRequest req;
    synchronized (mConnection) {
        req = mPending.remove(path);
    }
    if (req == null) {
        Log.w(TAG, "Missing request for path " + path);
        return;
    }
...

它在下载完成时开始,并从待处理的下载列表中删除请求。由于某种原因,目前没有正确的引用。

在我的实现中我没有发现任何由于这个问题引起的错误,因为在这条消息之后我总是得到Finished with status SUCCESS

更新: 我发现此消息是由 DownloadManager.Request 类的方法生成的:request.allowScanningByMediaScanner(); 这可能有问题。

关于Android - 下载管理器 : "Missing request for path",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41004569/

相关文章:

Android - 进程已死亡问题

android - 如何在操作栏下方显示选项卡

java - Android BroadcastReceiver 注册时出现空指针异常

android - DownloadManager 下载完成但文件未存储

android - 通知消失 - Android DownloadManager

c# - 下载管理器 - 限制下载速度

java - 如何检查uri指向的铃声是否存在?

android - 我可以将我的 Android 样式放在不同的包名称中吗?

java - 下载完成后自动打开文件PDF

android - 将请求排队到 DownloadManager 时应用程序崩溃