纪行:修改头像,本地相册选择裁剪兼容性问题

修改头像,本地相册选择裁剪兼容性问题

直接上问题:选择相册图片提示"保存时发生错误,保存失败" ,或者"保存失败",或者无提示返回
异常机型:

红米 K30 、小米 k30、华为 nova 5 pro、华为 荣耀8x

问题原因:
可能原因
①红米手机机型获取 Build.BRAND.toLowerCase() 判断时只与"xiaomi"做了判断,红米手机返回的是"redmi",所以应该为contain(“mi”)
②红米手机裁剪后存储路径选择问题
可能没有DIRECTORY_PICTURES所以可以选择DIRECTORY_DCIM目录
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
改为
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)
③如果使用的第三方裁剪,是无法访问我们本机的私有目录,所以裁剪后要存储到外部存储目录
参考

       String picName = Calendar.getInstance().getTimeInMillis() + ".jpg";
        //保存裁剪后的图片
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            cropFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), picName);
        } else {
            cropFile = new File(getExternalCacheDir(), picName);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值