DownloadManager java.lang.IllegalArgumentException
一个用户向我发送了以下错误:DownloadManager java.lang.IllegalArgumentException,java,android,download-manager,Java,Android,Download Manager,一个用户向我发送了以下错误: java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads at android.content.ContentResolver.insert(ContentResolver.java:860) at android.app.DownloadManager.enqueue(DownloadManager.java:904) at 即使我使用以下代码: Appli
java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads
at android.content.ContentResolver.insert(ContentResolver.java:860)
at android.app.DownloadManager.enqueue(DownloadManager.java:904)
at
即使我使用以下代码:
ApplicationInfo ai = null;//Check if download manager is enabled
try {
ai = this.getPackageManager().getApplicationInfo("com.android.providers.downloads",0);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
appStatus = ai.enabled;
当用户尝试下载时
if(appStatus=false){
// Download manager not available.....
}
else {
//filename=String
String fileName=URLUtil.guessFileName(url,contentDisposition,mimetype);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
request.setDescription(fileName);
manager.enqueue(request);
}
我做错了什么?原因很简单:用户禁用了下载管理器。 你可以进入设置>应用>所有应用,选择下载管理器,然后点击禁用 我经常这样在我的代码中检查它
try {
download.downloadManagerId = systemDownloadManager.enqueue(request)
download.state = DownloadState.DOWNLOADING
} catch (e:IllegalArgumentException) {
result.state = DownloadMagerResult.STATE.NOMANAGER
return result
}
文件名的值是多少?它应该是ExternalPublicDir中的一个子路径。您找到原因了吗?我也有同样的问题。