Java Android从链接下载文件

Java Android从链接下载文件,java,android,Java,Android,我正在尝试通过Ip+端口将文件从一台android手机下载到另一台。 如果我在手机的Web浏览器中写入url,我可以成功地从其他手机下载文件。 URL是这样的 http://172.20.99.238:9999/file/3/001_01.mp3 但我无法通过代码下载此文件 String downLoadLink = "http:/"+url+":9999/file/"+fileID+"/"+fileName; //d

我正在尝试通过Ip+端口将文件从一台android手机下载到另一台。 如果我在手机的Web浏览器中写入url,我可以成功地从其他手机下载文件。 URL是这样的

      http://172.20.99.238:9999/file/3/001_01.mp3
但我无法通过代码下载此文件

                    String downLoadLink = "http:/"+url+":9999/file/"+fileID+"/"+fileName;
            //downLoadLink = downLoadLink.replace(" ", "");
            Intent downloadIntent = new Intent(Intent.ACTION_VIEW);
            downloadIntent.setData(Uri.parse(downLoadLink));
            startActivity(downloadIntent);

此问题的任何解决方案

如果您的目标至少是API级别9,则应使用DownloadManager。我一直在玩它,它的工作非常好,可以启动浏览器并处理您需要的一切。我将提供以下链接,而不是复制粘贴代码:


尝试仅使用onClick方法进行测试。其余代码仅用于获取文件的URI。

如果您的目标至少是API级别9,则应使用DownloadManager。我一直在玩它,它的工作非常好,可以启动浏览器并处理您需要的一切。我将提供以下链接,而不是复制粘贴代码:


尝试仅使用onClick方法进行测试。其余代码仅用于获取文件的URI。

只需在清单中使用具有internet权限的代码即可

        String servicestring = Context.DOWNLOAD_SERVICE;
        DownloadManager downloadmanager;
        downloadmanager = (DownloadManager) getSystemService(servicestring);
        Uri uri = Uri
                .parse("your link to file");
        DownloadManager.Request request = new DownloadManager.Request(uri);
        Long reference = downloadmanager.enqueue(request);

只需在清单中使用具有internet权限的代码

        String servicestring = Context.DOWNLOAD_SERVICE;
        DownloadManager downloadmanager;
        downloadmanager = (DownloadManager) getSystemService(servicestring);
        Uri uri = Uri
                .parse("your link to file");
        DownloadManager.Request request = new DownloadManager.Request(uri);
        Long reference = downloadmanager.enqueue(request);

您是否通过调试检查downLoadLink是否具有正确的值?(我认为它缺少一个/)添加/仍然是相同的问题:(您是否通过调试检查downLoadLink是否具有正确的值?(我认为它缺少一个/)添加/仍然是相同的问题:(