Android java.lang.SecurityException:目标必须位于外部存储上
在安卓电视中,U盘挂载/mnt/usb/sdb4,使用安卓下载管理Android java.lang.SecurityException:目标必须位于外部存储上,android,Android,在安卓电视中,U盘挂载/mnt/usb/sdb4,使用安卓下载管理 File pathyr = new File("/mnt/usb/sdb4"); Uri downloadUri = Uri.parse(DOWNLOAD_FILE); DownloadManager.Request request = new DownloadManager.Request(downloadUri); request.setDestina
File pathyr = new File("/mnt/usb/sdb4");
Uri downloadUri = Uri.parse(DOWNLOAD_FILE);
DownloadManager.Request request = new DownloadManager.Request(downloadUri);
request.setDestinationUri(Uri.fromFile(new File( pathyr,"100mb.jpg") ));
目前,
DownloadManager
请求只接受由环境检索的“标准”外部存储上的路径。getExternalStoragePublicDirectory(yourDirOfChoice)
或环境。getExternalStorageDirectory()
;否则,它将抛出此异常
有关更多信息,请参阅StackOverflow问题。这不适用于Android Pie。 你需要打电话
.setDestinationInExternalFilesDir()
//Pasing in the getFilesDir().absolutePath, your file
不要硬编码路径。使用环境获取它。您在清单文件中添加了权限吗?我不是harcoding,我对外部存储既有读取权限,也有写入权限,并且在某些手机上出现此错误。@tasomaniac:请参阅我的答案。
.setDestinationInExternalFilesDir()
//Pasing in the getFilesDir().absolutePath, your file