【问题标题】:Android check if downloaded file existsAndroid检查下载的文件是否存在
【发布时间】:2018-03-21 12:05:16
【问题描述】:

我尝试在下载后检查此文件是否存在,但它对我说不存在

@Override
public void handleResult(Result result)
{

    myResult = result;
    dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
    Uri uri = Uri.parse(result.getText());
    DownloadManager.Request request = new DownloadManager.Request(uri);
    request.allowScanningByMediaScanner();
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    String nameOfFile = URLUtil.guessFileName(result.getText(),null, MimeTypeMap.getFileExtensionFromUrl(result.getText()));
    request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, nameOfFile);

    dm.enqueue(request);
    String erg = "";
    File mPath = new File((Environment.DIRECTORY_DOWNLOADS + "/" + nameOfFile));
    if (mPath.getAbsoluteFile().exists()) {
        erg = "existiert";
    }else
    {
        erg = "existiert nicht";
    }
}

【问题讨论】:

  • 是你的Environment.DIRECTORY_DOWNLOADS 和你下载文件的路径是一样的???
  • 是的,是.....

标签: java android file download


【解决方案1】:

下载过程正在后台进行。因此,在 enqueue() 之后,您的文件不存在,因为它尚未下载。 您只需要使用此注册 BroadcastReceiver ACTION_DOWNLOAD_COMPLETE 意图过滤器。当下载完成时,DownloadManager 会广播。请参阅此处的文档:https://developer.android.com/reference/android/app/DownloadManager.html#ACTION_DOWNLOAD_COMPLETE

【讨论】:

    猜你喜欢
    • 2018-06-21
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2012-08-09
    • 2011-05-17
    • 2013-12-21
    相关资源
    最近更新 更多