Android 关于外置SD卡下载文件的一些问题记录

公司的业务有一些MP4文件下载的功能

我用的下载框架是okgo下边的okDownload模块,很好用但是已经不维护了 链接

https://github.com/jeasonlzy/okhttp-OkGo

推荐一个比较好用的 FileDownloader

https://github.com/lingochamp/FileDownloader

言归正传,现在好多Android 手机厂商又提供了扩展内存 尤其是华为手机 我们之前没有做外置sd卡的适配 默认下载到内置sd卡

假如用户的默认下载位置选择外置sd卡 就直接下载失败

解决办法

首先确定自己拥有权限

android.permission.READ_EXTERNAL_STORAGE

android.permission.WRITE_EXTERNAL_STORAGE

动态权限请自行查找资料 很多

外置sd卡 可操作下载的目录只有

Android/data/"+context.getPackageName()+"/files/ 

为了方便管理,比如当用户卸载当前app时,可以保证把当前app的缓存或者下载全部清理掉,避免引起用户的反感

判断是否挂载sd卡

如果挂载了sd卡并且默认下载路径是外置sd卡,获取到的目录

/storage/51DD-E12A/Android/data/com.houdask.app/files/media

如果挂载了sd卡但是默认下载路径是手机内存,获取到的目录

/storage/emulated/0/Android/data/com.houdask.app/files/media

如果用户没有挂载内存卡 如下图 可以随便设置路径 如下图 就是在根目录创建了一个文件夹来保存要下载的文件

但是建议跟上面设置一样的路径,

但是下载的时候有遇见了另一个问题

查找了一些方案 但都不是我的问题

后来发现了另一个问题

查找了一下 当文件名包含冒号的时候 会报这个异常

https://blog.csdn.net/moyuxueyi/article/details/39153725

但是我的文件名没有包含冒号 但是有一个分号,而且文件名特别长,改成短名字,并且不包含特殊符号,文件创建成功,可以下载。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值