android:本地缓存图片、视频等数据暴露在系统相册

为了减少数据请求的次数以及优化用户的体验,图片、视频等数据一般需要缓存到本地内存。但是android的系统相册可以检测到本地内存中的图片并展示。这样就造成了数据不安全和用户体验差等问题。所以在本地缓存图片是要做一些处理。方法如下:

  • 生成.nomedia 文件夹
    原理是系统相册扫描SD卡时会把media_type = 1 或者 media_type = 3的文件展示在相册中(media_type值对应的文件类型:0 - 普通文件 、1 - 图片文件 、2 - 音频文件 、3 - 视频文件),而图库会自动跳过有.nomedia文件,将扫描到的图片、铃声等多媒体文件media_type设置为0。
    具体方法就是将缓存下来的文件至于.nomedia文件夹下:
private void uploadWeb(String dataPath) {
    filePath = Environment.getExternalStorageDirectory() + "/DCIM/.nomedia/";
    String fileName = "Healthfarm";
    File file = new File(filePath + fileName);
    // 判断文件夹是否存在,如果不存在则解压
    if (!file.exists()) {
        try {
            DownloadUtil.unzip(DownloadUtil.getHealthFarmFilePath(dataPath), filePath);
        } catch (Exception e) {
            FileUtil.deleteFile(DownloadUtil.getHealthFarmFilePath(dataPath));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值