问题解决--实现仿微信多图选择的开源项目(MultiImageSelector)

本文介绍了一个开源项目的使用及遇到的问题解决方法。通过修改MultiImageSelectorActivity.java中的onCameraShot方法和FileUtils.java中的图片保存路径,解决了小米手机拍照后无法返回数据的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近在写一个类似朋友圈的功能,然后在GitHub上找到了一个很好用的开源项目,链接如下https://github.com/lovetuzitong/MultiImageSelector

   项目用的小米手机测试,过程中发现用手机拍完照后无法正确返回数据,下面是解决方案。

   1、修改MultiImageSelectorActivity.java文件中的onCameraShot(File imageFile),需要加入一行代码用于通知系统更新相册:

    @Override
    public void onCameraShot(File imageFile) {
        if(imageFile != null) {
            Intent data = new Intent();
            resultList.add(imageFile.getAbsolutePath());
            data.putStringArrayListExtra(EXTRA_RESULT, resultList);
            setResult(RESULT_OK, data);
            sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imageFile)));// 刷新系统相册
            finish();
        }
    }
       修改后才能正常的从相册中看到刚拍的照片。 

   2、修改FileUtils.java:

   File pic = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);//改为下面语句
   File pic = null;
   pic = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM+ "/Camera");
   if (!pic.exists()) {
       pic = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
   }

     这样保证正确的把照片保存到系统相册中。




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值