我从服务器下载文件但是相同的代码在棒棒糖中工作但在marshmallow中不起作用。问题是什么?
我在棉花糖中看到,当需要许可时,它会在应用程序中弹出。这是问题吗?我只是在猜测。另请查看目录
public void myDownload(String myURL, String title, String year, String branch, String section) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(myURL));
request.setTitle("File Download");
request.setDescription("Downloading....");
//request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
String nameOfFile = URLUtil.guessFileName(myURL, null, MimeTypeMap.getFileExtensionFromUrl(myURL));
request.setDestinationInExternalPublicDir("/sdcard/KiiTTimeTableData/" + year + "/" + branch + "/" + section + "/", nameOfFile);
DownloadManager manager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
}
答案 0 :(得分:0)
问题是什么?
至少,您滥用setDestinationInExternalPublicDir()
。
首先,that does not take an arbitrary string as the first parameter。它需要Environment.DIRECTORY_*
个常量之一,例如Environment.DIRECTORY_DOWNLOADS
。
其次,即使 支持任意位置,设备也不必拥有/sdcard
目录。