joker-fu / EasyPhotos

兼容android 10,自定义相机拍照。android图片选择、裁剪、压缩,自定义相机仿微信拍照,相册选择(单选/多选),文件夹图片选择(单选/多选),各界面根据状态栏颜色智能适配状态栏字体颜色变色为深色或浅色,根据使用场景智能适配沉浸式状态栏,内部处理运行时权限,支持Glide/Picasso/Fresco/Imageloader等所有图片加载框架库的带默认勾选选中图片的能填充自定义广告的自定义Ui相机相册图片浏览选择器;更有拼图/文字贴纸/贴图/图片缩放/Bitmap图片添加水印/媒体文件更新到媒体库等众多Bitmap图片编辑功能的android Bitmap图片处理工具框架库。
Apache License 2.0
526 stars 82 forks source link

拍照返回崩溃 #25

Open 823546371 opened 2 years ago

823546371 commented 2 years ago

品牌:vivo android: 8.1 错误日志: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=-1, data=Intent { (has extras) }} to activity {com.huantansheng.easyphotos.ui.EasyPhotosActivity}: java.lang.RuntimeException: EasyPhotos拍照保存的图片不存在 at android.app.ActivityThread.deliverResults(ActivityThread.java:4565) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4609) at android.app.ActivityThread.-wrap20(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1876) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:192) at android.app.ActivityThread.main(ActivityThread.java:6896) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875) Caused by: java.lang.RuntimeException: EasyPhotos拍照保存的图片不存在 at com.huantansheng.easyphotos.ui.EasyPhotosActivity.onActivityResult(EasyPhotosActivity.java:306) at android.app.Activity.dispatchActivityResult(Activity.java:7408) at android.app.ActivityThread.deliverResults(ActivityThread.java:4561)

初步排查怀疑是getpathUri这个方法不兼容8.1,望作者查看修复

huaxuanHan commented 2 years ago

在Android7.1.2上面出现同样的问题,拍照崩溃,找不到文件路径,还望作者百忙之中抽空修复,十分感谢您的辛苦付出

huaxuanHan commented 1 year ago

今天把代码下载下来测试了一下,发现是getPathByUri的问题,在Android5、11、13是可以的,7、8、9都不行,7/8/9上面获取的文件路径前面加的有/camera_photos,我目前是判断一下,把/camera_photos去掉,剩余的路径直接返回,这样就可以了,简单粗暴,但是不知道这样的判断是不是严谨