java - 使用下载管理器从 AsyncTask 下载文件

标签 java android

我正在开发一个 Android 应用程序,该应用程序允许用户从 ListView 中选择文件并下载。我有一个 AsyncTask 来获取文件,并为每个文件设置一个 onClickListener ,它允许在用户单击该文件时下载该文件。我有整个互联网,但我无法让下载管理器从 AsynTask 工作。任何帮助将不胜感激。

最佳答案

这是一个简单的例子:

        btnDown.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {


            String dir = Environment.DIRECTORY_MUSIC;
            dir += "/klp";
            File fileDir = new File(dir);
            if (!fileDir.isDirectory()) {
                fileDir.mkdir();
            }


            Toast.makeText(Detail.this, "Download song " + name, Toast.LENGTH_SHORT).show();
            // Download File
            DownloadManager.Request request = 
                    new DownloadManager.Request(Uri.parse(url));
            request.setDescription(nameFile);
            request.setTitle(name);
            // in order for this if to run, you must use the android 3.2 to compile your app
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                request.allowScanningByMediaScanner();
                request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
            }
            request.setDestinationInExternalPublicDir(dir, nameFile);


            // get download service and enqueue file
            DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
            manager.enqueue(request);   


        }
    });

关于java - 使用下载管理器从 AsyncTask 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16871703/

相关文章:

java - Jasper报表在报表中生成富文本

java - 在 Arquillian 测试中难以将包添加到 Shrinkwrap 存档中

javascript - Java Http 服务器获取 Post 到 Ajax

android - 在 Web 仪表板中显示应用程序权限

android - 少数设备未生成 FCM token

Java:根据用户输入将变量分配给数组

java - Guice:使用注入(inject)器?

android - 撰写 LazyList 部分背景

android - 如何提供着色器函数来执行视频的 alpha mask

Android:在 Ubuntu 上阅读/发送短信?