Android - 从 StorageAccessFramework 将 Uri 作为目标下载管理器问题

Android - Download manager issue with Uri from StorageAccessFramework as destination

我在我的应用程序 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卡吗?你知道如何解决这个问题吗?

这不可能。因为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)