微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决将应用从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 举报,一经查实,本站将立刻删除。