我正在使用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);
它没有起作用,它给了我一个错误:java.lang.IllegalArgumentException: Not a file URI: content://com.provider.Downloads/downloads
。我做错了什么?
DownloadManager.Request
只适用于 _文件路径_,而不是ContentProvider
。如果你查看DownloadManager
的源代码,你会发现在setDestination*
中设置的路径最终被视为文件路径。 - curioustechizen