LuckSiege / LuckSiege/PictureSelector
版本v3.10.5 ,乐视手机 Letv X800,Android6.0.1 ,使用拍照功能无法显示照片,拍照后裁剪报错
- Dominant language
- Java
- Stars
- 13.6k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
## Current use version?
#### 当前使用的版本是多少?
```
当前版本v3.10.5
```
## Will this problem occur in demo?
#### Demo能否复现这问题?
```
Demo和最新的APK都可以复现问题,“必现”
```
## Describe the problem or provide an error log?
#### 描述问题或提供错误log?
```
乐视手机 :Letv X800
打开相册,点击拍照,拍完后返回,照片无法显示,同样,跳转下级页面进行裁剪报错:
E/TransformImageView: onFailure: setImageUri
java.lang.IllegalArgumentException: Bitmap could not be decoded from the Uri: [file:///storage/emulated/0/DCIM/Camera/IMG_20220726162851310.jpeg]
at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:128)
at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:36)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20220726162851310.jpeg: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:452)
at java.io.FileInputStream.(FileInputStream.java:76)
at java.io.FileInputStream.(FileInputStream.java:103)
at android.content.ContentResolver.openInputStream(ContentResolver.java:662)
at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:112)
at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:36)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:438)
at java.io.FileInputStream.(FileInputStream.java:76)
at java.io.FileInputStream.(FileInputStream.java:103)
at android.content.ContentResolver.openInputStream(ContentResolver.java:662)
at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:112)
at com.yalantis.ucrop.task.BitmapLoadTask.doInBackground(BitmapLoadTask.java:36)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the reported stack-trace locations in BitmapLoadTask.java, especially doInBackground at lines 112 and 128, and trace how the camera result produces the file URI. Reproduce the capture flow on the Letv X800 or the demo, then verify that the captured image is available for display and cropping without the ENOENT or bitmap-decoding error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100