1

我在我的应用程序 DownloadManager 中使用下载文件。我正在使用这种方法:

Request.setDestinationUri()

如果我从外部存储设置为文件的目标 Uri,它可以正常工作。但是,如果我从 SAF 设置为目标 Uri:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
startActivityForResult(intent, REQUEST_CODE_FOR_DESTINATION);

Uri treeUri = data.getData();
DocumentFile destinationDirUri = DocumentFile.fromTreeUri(this, treeUri);

//I create new file on SD card and I use Uri from this new file

但我得到了这个例外

java.lang.IllegalArgumentException: Not a file URI: content://com.android.externalstorage.documents/tree/D224-A5C1%3Abadu%2Fsd/document/D224-A5C1%3Abadu%2Fsd%2Ff6%2F27%2F85%2Ff4f8d950-d0b7-11e5-9c3c-4b49c28527f6

DownloadManager 可以将文件下载到 SD 卡吗?你知道如何解决这个问题吗?

4

1 回答 1

4

这是不可能的。因为Must be a file URI to a path on external storage...

https://developer.android.com/reference/android/app/DownloadManager.Request.html#setDestinationUri(android.net.Uri)

于 2016-03-02T08:55:43.887 回答