我在 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);