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 に答える