Android中 Download Manager系统下载管理器在Android 10系统中无法使用的情况

前言: 在开发中遇到一个问题,软件在Android 9的手机上面可以调用系统下载管理器下载文件到手机上面,而在Android 10的上面无法调用。
在网上也查到了很多资料,说是Android 10系统10的权限问题,搞了半天也没出来。

  • Download Manager是一种服务,旨在通过管理HTTP连接,监视连接更改以及系统重新启动来优化长时间运行的下载处理,以确保每次下载都能完成。

我在指定下载路径和下载文件名时候出现bug

//指定下载路径和下载文件名
request.setDestinationInExternalPublicDir(path, filename);

在Android 9的手机上面可以没有任何问题。
在Android 10上面报以下错误
在这里插入图片描述
主要意思就是:在该系统中没有标准目录:/storage/emulated/0/Android/data/com.example.soundproject/files
在其中,所以下载不了。
原因:request.setDestinationInExternalPublicDir(path, filename);
path:表示设置下载地址,filename:为文件名
解决办法:把这个方法删掉即可
写上自定义Download Manager的通知:

request.setTitle("Lisen下载信息");
request.setDescription("文件" + filename + "正在下载!");

这样在Android 10的手机上面就可以正常下载文件了,以上是我遇到的问题,作为记录,也供广大网友参考学习,指正!

猜你喜欢

转载自blog.csdn.net/lu202032/article/details/115899096#comments_21956825