感觉很久没有写博客了,不对,的确是很久没有写博客了。原因我不怎么想说,玩物丧志了。后面渐渐要恢复之前的写作节奏。今天来聊聊我最近遇到的一个问题:
Android 13版本对于storage权限的控制问题。
我们都知道,Android的每个版本更新都会伴随着搞事,也就是所谓的谷歌精英又会劝告我们来按照他们认为高效,他们认为优雅的方式来写代码,或者实现某些功能。所以在Android 13版本中,他们就对我们非常常用的storage权限伸出魔爪了。
我现在主要是开发面向海外的用户的2C应用,所以,不像国内一样,对于版本的需求可以说是非常严苛,然后这次谷歌就下了最后通牒,说如果应用不把Target SDK Version设置成33,我们就不和你玩啦= =
然后就在Storage权限这里出问题了。Android 13版本需要将storage权限细分为
-
对图片的访问权限
-
对视频的访问权限
-
对音频的访问权限
但是我们项目是混编的项目,目前主要的代码都是用Flutter代码来实现了,这样就出现了一些比较尴尬的问题。
场景是这样的,在Flutter层我们希望从本地选取图片文件,在之前的版本(Android13)中,在选取文件前我们就需要判断本地存储权限的获取状况,然后根据权限的状态来确定进一步操作,比如说弹出权限请求框或者直接让用户选择本地图片。
但是在Android13及之后的版本中,对于Storage权限的请求分为三种(其实我就感觉是谷歌官方闲着没事干,来宣誓一下自己的主权):
public static final String READ_MEDIA_AUDIO = "android.permission.READ_MEDIA_AUDIO"; public static final String READ_MEDIA_IMAGES = "android.permission.READ_MEDIA_IMAGES"; public static final String READ_MEDIA_VIDEO = "a