Downloadmanager загружает 2 файла вместо одного

Я хочу использовать DownloadManager для загрузки файла с URL-адреса в editText. Но когда я нажимаю кнопку загрузки, он создаст 2 файла с именем 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)
    }

просто обходной путь: прослушайте событие завершения загрузки и переместите файл из каталога загрузок на ваш TTT.

Vladyslav Matviienko 26.10.2018 06:54
0
1
235
1

Ответы 1

Я думаю, что это общая ошибка, и я думаю, что она еще не исправлена. Возможно, вы можете использовать библиотеки с открытым исходным кодом для этой функции. Многие успешные библиотеки есть в Github.

Или вы можете проверить ссылку ниже, это может быть временное решение.

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

Другие вопросы по теме