android 自己调用系统相机保存的照片存到自定义文件夹里面用电脑看该照片显示0KB或者是无法查看?或者说用手机助手导出照片导出失败?

哈哈,标题有点长,之所以这样是为了能让遇到同样问题的人方便搜索到,我自己就遇到这样的问题一直搜索不到。

  我先讲一下自己遇到的问题:因为我的app有需求要拍照并且保存起来,然后我为了方便用户去相册统一查看和导出,我就自己在手机里面新建了一个文件夹,把我拍摄的照片放到这个文件夹里面。测试的时候拍完照片,我去那个文件夹看了,文件是存在的。我就觉得没有问题了,没有测试导出。然后用户反馈说,用华为手机助手(用户手机是华为手机)导入你的照片提示导出失败,然后我自己就开始测。

(1)导出失败:

   我用华为手机助手导出的时候确实导出失败了,甚至导致华为手机助手闪退,,,哈哈,看来他们也是有bug的。原因是因为我的照片命名不对,我用uuid + 日期和时分秒,但是我的时分秒里面带了冒号,,,,所以就不行。

  错误示例:  

    ahsjhsahsjksajs_20181024_10:02:36.jpg

正确示例:

ahsjhsahsjksajs_20181024_100236.jpg

然后文件就可以通过华为手机助手导出了。

(2)刚刚用代码调用系统相册去拍照,然后我用USB 连上电脑,在电脑里面去访问我的存放照片的那个文件夹,居然看不到我刚刚拍摄的那张照片(或者是看的到,但是文件大小显示0KB,双击用电脑的照片浏览工具查看照片提示照片不存在),是因为拍完照之后没有用代码去刷新相册:

 public static void refreshAlbum(String path) {
        String[] split = path.split("/");
        String fileName = split[split.length - 1];
        //正确修改图片详情显示时间
        try {
            MediaStore.Images.Media.insertImage(Visor.getApplicationContext().getContentResolver(), path, fileName, null);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        // 最后通知图库更新
        Visor.getApplicationContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + path)));
    }

,刷新一下就不会出现0KB或者1970问题了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值