10

我正在制作使用 DownloadManager 的 android 应用程序。我想将文件下载到我制作的文件夹中。但是这个来源不起作用。并发生 IllegalstateException。我能做些什么??

urlToDownload = Uri.parse(URL);
List<String> pathSegments = urlToDownload.getPathSegments();
request = new DownloadManager.Request(urlToDownload);
request.setTitle(Titlename);
request.setDescription("MCPE STORE");
request.setDestinationInExternalPublicDir(
                   Environment.getExternalStorageDirectory().getAbsolutePath() + 
                   "/MCPE STORE", pathSegments.get(pathSegments.size()-1));

Environment.getExternalStoragePublicDirectory(
                   Environment.getExternalStorageDirectory().getAbsolutePath() + 
                   "/MCPE STORE").mkdir();
latestId = downloadManager.enqueue(request);
4

2 回答 2

15

我能做些什么?

如果您阅读的文档setDestinationInExternalPublicDir(),您会看到第一个参数是“要传递给getExternalStoragePublicDirectory(String)的目录类型”。这需要是Environment类上定义的常量之一,例如Environment.DIRECTORY_DOWNLOADS. 您正在传递不支持的其他内容。

于 2013-06-14T15:53:00.493 回答
6

确保你有

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在你的manifest.xml

此外,如果您使用的是模拟器,请确保使用 SD 卡存储创建它。它不是默认创建的。

于 2013-06-14T15:51:46.787 回答