将应用从28定位到29后的Android下载管理器-setDestinationInExternalPublicDir-非标准目录之一:MyDir / videos /

问题描述

我在Play商店中使用的应用程序的目标版本为28。在应用程序中,我使用了下载管理器,可将文件下载到自定义目录。现在,按照Play商店要求政策,应用的目标版本应更新为29。因此,我已更新为29,但在此之后,当我尝试下载文件时,下载管理器在 Android 10(Q)。

不是标准目录之一:MyDir / videos /

我已经阅读了一些解决方案,发现它只允许存储在公共目录中,例如DIRECTORY_DOWNLOADS,DIRECTORY_DCIM等。但是问题是,在当前的实时应用程序中,它是从MyDir / videos /读取的,该目录存储了用户当前下载的数据如果我将路径更改为其他目录,将导致很多问题。因此,我正在寻找一种解决方案,可以使用该解决方案下载与当前实时版本相同的自定义目录中的文件。我已经附加了我在应用程序中用于下载文件的代码。

代码:

 DownloadManager downloadmanager = (DownloadManager) context.getSystemService(servicestring);
 Uri uri = Uri.parse(url);
 DownloadManager.Request request = new DownloadManager.Request(uri);
 request.setAllowedOverRoaming(false);
 request.setTitle(Title);
 request.setDescription(Description);
 request.setDestinationInExternalPublicDir("MyDir/videos/",filename);            
 request.setVisibleInDownloadsUi(true);
 request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
 Long reference = downloadmanager.enqueue(request);
        
 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...