lisen87 / image_pickers

图片多选并压缩,保存图片到相册,视频多选,预览图片和视频
Apache License 2.0
90 stars 59 forks source link

储存读写权限增加 maxSdkVersion=32,导致APP在Android 14上 无法申请读写外部储存权限 #147

Closed dhhAndroid closed 2 months ago

dhhAndroid commented 2 months ago
<uses-permission
    android:name="android.permission.READ_EXTERNAL_STORAGE"
    android:maxSdkVersion="32" />
<uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="32" />
lisen87 commented 2 months ago

从sdk 33 (安卓 13 )就已经废弃了,申请权限不会得到任何结果了。如果你想去掉maxSdkVersion这个限制可以在你的mainfast中添加:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>,但是感觉没必要这么做。

dhhAndroid commented 2 months ago

是的,这个解决方案我知道,我主要是想上报一下这个问题,因为我程序的其他业务,还需要申请WRITE_EXTERNAL_STORAGE权限,比如下载apk文件更新功能,集成此插件后,导致在android14上下载apk之前获取权限,直接提示失败(影响了APP其他业务)。 我现在是用源码的方式依赖的你的插件的代码,我直接在插件里的清单文件里,更改如下,移除了 android:maxSdkVersion="32" ,对你的插件功能有影响吗?

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.leeson.image_pickers">

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
lisen87 commented 2 months ago

没有影响的。顺便说一下,比如下载apk,是没有必要获取读写权限的,直接下载到app的沙盒目录就可以了

dhhAndroid commented 2 months ago

感谢支持