相册解耦 出现ES三方文件管理器调用相册编辑图片无法保存问题

mainLog

Line 58569: 12-08 17:58:48.036  2841  3383 I ActivityTaskManager: START u0 {act=android.intent.action.EDIT dat=content://com.esuper.file.explorer.files/... typ=image\/* cmp=com.coloros.gallery3d/com.oplus.gallery.pictureeditorpage.PhotoEditorActivity (has extras)} with LAUNCH_MULTIPLE from uid 10247 (BAL_ALLOW_VISIBLE_WINDOW) result code=0	
Line 59202: 12-08 17:58:48.602 15496  6221 I PhotoLoadTask: [loadPhoto] photo = /storage/emulated/0/DCIM/dlwzxx/mg/澳门地址.jpg, mJpegType =  0, start	
Line 59484: 12-08 17:58:49.087 15496  6221 I PhotoLoadTask: [loadPhoto.getUserPhoto] duration = 331ms	
Line 59485: 12-08 17:58:49.087 15496  6221 I PhotoLoadTask:  , advisedSampleSize = 1	Line 59486: 12-08 17:58:49.087 15496  6221 I PhotoLoadTask:  , opts = (3120, 4160)	
Line 59487: 12-08 17:58:49.087 15496  6221 I PhotoLoadTask:  , imageSize = (3072, 4096)	
Line 59530: 12-08 17:58:49.151 15496  6221 I PhotoLoadTask: [loadPhoto] photo = /storage/emulated/0/DCIM/dlwzxx/mg/澳门地址.jpg	
Line 59531: 12-08 17:58:49.151 15496  6221 I PhotoLoadTask:             duration = 363ms	
Line 59532: 12-08 17:58:49.151 15496  6221 I PhotoLoadTask:             imageSize = (3072, 4096)	
Line 59533: 12-08 17:58:49.151 15496  6221 I PhotoLoadTask:             orientation = 0°	
Line 75957: 12-08 18:00:09.543 15496  6423 E SaveFileTask: querySource error:java.lang.NumberFormatException: For input string: "澳门地址.jpg"	
Line 75967: 12-08 18:00:09.635 15496  6423 E SaveFileTask: querySource error:java.lang.NumberFormatException: For input string: "澳门地址.jpg"	
Line 76074: 12-08 18:00:10.482 15496  6423 D SaveFileTask: insertLocalMedia: result uri = content://com.oplus.gallery.database.provider.gallery/local_media_internal/122	
Line 76085: 12-08 18:00:10.487 15496  6423 D SaveFileTask: preloadMediaItem, mItemPath = /local/item/image/122, mAlbumPath = /local/album/any/all/-1739773001	
Line 76101: 12-08 18:00:10.497 15496  6423 D SaveFileTask: onRun, Insert: content://media/external_primary/images/media/1000000417(file:/storage/emulated/0/DCIM/Camera/IMG_20231208_180009.jpg) to Media Database         
Line 76102: 12-08 18:00:10.510 15496  6423 W Task    : Exception in running a jobFor input string: "澳门地址.jpg" java.lang.Long.parseLong(Long.java:751)

activity信息

Intent { act=android.intent.action.EDIT dat=content://com.esuper.file.explorer.files/storage/emulated/0/DCIM/dlwzxx/mg/%E6%BE%B3%E9%97%A8%E5%9C%B0%E5%9D%80.jpg typ=image\/* cmp=com.coloros.gallery3d/com.oplus.gallery.pictureeditorpage.PhotoEditorActivity (has extras) }

从上述log信息中,可以发现报了一个 numberFormat异常,后来此异常又被捕获,但是没有进行相关处理,造成无法退出编辑界面,那么异常的时候发生了什么ne?

通过查阅代码可知,在发生异常之前,由于之前的业务需求,加上了 localHDR 编辑的需求,而这里在保存之后,需要获取原图片的信息,然后将其copy到新图中,这里需求新加的代码逻辑里直接拿的是传入的uri,而传入的uri 在此三方应用中是不规范的,所以造成无法将后面的segment 进行类型转换。

这里也有几种方法,一是在抛异常的时候恢复page流程,二是监测传入的uri是否合规,三是此段逻辑属于localhdr新增需求是为了编辑RAW图特地加的可以考虑是否项目必须等,遵循最小修改原则即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值