Android:无法使用DownloadManager将数据从服务器下载到内部存储器

b.i*_*b.i 3 memory android internal download-manager android-contentprovider

我正在使用android中的DownloadManager类从服务器下载数据.数据保存到外部存储器.但我想将它们保存到内部存储器中.我做了我的研究,我发现的是来自这个链接.我尝试了第二种cyngus解决方案:

public static final String PROVIDER_NAME = "com.provider.Downloads";
public static final Uri CONTENT_URI = Uri.parse("content://"+ PROVIDER_NAME + "/downloads")

DownloadManager.Request req = new DownloadManager.Request(Uri.parse(LINK));
req.setDestinationUri(CONTENT_URI);
Run Code Online (Sandbox Code Playgroud)

它没有用,它给了我错误: java.lang.IllegalArgumentException: Not a file URI: content://com.provider.Downloads/downloads.我做错了什么?

cur*_*zen 6

文档DownloadManager.Request明确提到您为任何setDestination*方法设置的目标必须位于外部存储上,并且您的应用必须具有WRITE_EXTERNAL_STORAGE权限:

设置下载文件的本地目标.必须是外部存储上路径的文件URI,并且调用应用程序必须具有WRITE_EXTERNAL_STORAGE权限.

我不知道如何在这里提供内部存储路径.