首页 > 解决方案 > DownloadManager 下载 2 个文件而不是 1 个

问题描述

我想使用 DownloadManager 从editText 中的 url 下载文件。但是当我点击下载按钮时,它会在下载目录中创建两个名为 view.filename.text.toString() 的文件,并在下载文件夹的 TTT 目录中创建另一个文件 view.filename.text.toString() + "AFK"姓名。

    view.downloadBTN.setOnClickListener { _ ->
        downloadManager = activity?.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
        request = DownloadManager.Request(Uri.parse(view.uriEDT.text.toString()))
        Log.d("URI", Uri.parse(view.uriEDT.text.toString()).toString())
        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE or DownloadManager.Request.NETWORK_WIFI)
        request.setAllowedOverRoaming(false)
        request.setTitle(view.filename.text.toString())
        request.setDescription("No Description")
        request.setVisibleInDownloadsUi(true)
        Log.d("PATH", Environment.getExternalStoragePublicDirectory(
                DIRECTORY_DOWNLOADS).toString() )
        request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS + "/TTT/", view.filename.text.toString() + "AFK")
        val refID = downloadManager.enqueue(request)
        //cxt.registerReceiver(onComplete, IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE))
        //list.add(refID)
    }

标签: androidkotlinandroid-download-manager

解决方案


我认为这是一个通用错误,我想它还没有修复。也许您可以为此功能使用开源库。Github 上有很多成功的库。

或者您可以查看下面的链接,这可能是一种解决方法。

https://stackoverflow.com/a/29338184/4355923


推荐阅读