LuckSiege / LuckSiege/PictureSelector
刚安装App第一次启动时,单独拍照,确认照片返回时,自动回调了取消,demo能够复现,且必现
- Dominant language
- Java
- Stars
- 13.6k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
## Current use version?
#### 当前使用的版本是多少?
```
3.0.9
```
## Will this problem occur in demo?
#### Demo能否复现这问题?
```
是的
```
## Describe the problem or provide an error log?
#### 描述问题或提供错误log?
```
单独拍照。
首次安装进入app,拍照后,自动回调了取消,退出当前Activity再重新进入也一样,必须要杀掉进程重进app。后来我查看Issues,有人遇到同样情况,说是权限的问题,可能权限申请和拍照之间的时机太短。我特意在登录后立马申请权限,并且特意等待了一分钟后再去拍照,发现还是同样都问题,以下是我登录时申请的权限
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.CAMERA
另外,在使用拍照前,通过手机设置,提前将app的权限全部通过,就是正常的。
查看源码,看到是isActivityResultBack这个值为false,导致直接被取消了。我在所有给isActivityResultBack赋值的地方打可了断点,结果发现,在发起拍照的时候(还未拍照,只是拉起了拍照界面),在PictureSelectionCameraModel类中的forResultActivity(OnResultCallbackListener call)方法就立马回调了,
此时selectionConfig.isActivityResultBack = false;此后在拍照,点击拍照,再点击确认,就立马调用了PictureOnlyCameraFragment中的onActivityResult方法,然后因为config.isActivityResultBack为false,直接取消了。
使用demo测试,单独拍照(使用Activity承载Camera相机选不选都是同样的结果),也同样出行了这个问题。
补充一下,不是所有手机都有这问题,我们这出行问题的机子是小米的**MI6X,,MIUI 12.0.2,Android 9**,
正常的手机是**华为P40,HarmonyOS 2**,以及小米的**Redmi K40,MIUI 13.0.3,Android 12**,都是运行的demo
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with PictureSelectionCameraModel.forResultActivity(OnResultCallbackListener) and trace why selectionConfig.isActivityResultBack changes before the camera returns. Compare that state with PictureOnlyCameraFragment.onActivityResult using the demo's single-photo flow, especially on the reported MI6X configuration. Done means the demo no longer invokes cancellation after confirming a photo, while existing supported-device behavior remains intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100