LuckSiege / LuckSiege/PictureSelector

Android10到Android12选择图片不应该再请求WRITE_EXTERNAL_STORAGE权限

Open
#2,812 2 comments 7 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
13.6k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

/selector/src/main/java/com/luck/picture/lib/permissions/PermissionConfig.java我认为需要修改,已经提交了PR
`WRITE_EXTERNAL_STORAGE`从Android10开始已经被废弃,选图片跟这个权限完全没有关系,所以我认为这个文件里需要添加对大于AndroidQ的设备,只申请读`READ_EXTERNAL_STORAGE`。低于Android10的手机才需要写权限。
如果有人没写`WRITE_EXTERNAL_STORAGE`或者如下代码
```xml


```
通过maxSdkVersion控制了这个权限在高版本Android上不生效。此时本框架在Android10-12上就会无脑提示没有权限(实际上是有权限的),跳设置页,因为`WRITE_EXTERNAL_STORAGE`是不生效的。所以我认为这是一个BUG,为了兼容也为了正确的权限请求,请移除在Android10-12之间会对`WRITE_EXTERNAL_STORAGE`发起权限请求的行为。

另:`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`本属于同一个权限组,申请权限的时候申请其中1个,另外一个也会同时获得权限,所以低于Android10的设备,其实也没有必要两个权限都申请,只申请`READ_EXTERNAL_STORAGE`就行。
由于PR在您那挂了许久没有人搭理,故再发一个issues进一步发起讨论。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with selector/src/main/java/com/luck/picture/lib/permissions/PermissionConfig.java and review how permission requests are selected for Android 10 through 12 and for older devices. Verify behavior with manifests that restrict permissions using maxSdkVersion; done means image selection no longer requests WRITE_EXTERNAL_STORAGE on Android 10-12 and uses the intended read permission behavior on older versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.