众所周知,在Android11后,为了加强对权限的管理,原本动态权限的WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE已经过时,而是转而采用最新的MANAGE_EXTERNAL_STORAGE进行授权。
授权方法也从原本调用动态权限弹窗的方案变成了跳转系统设置页面
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.data = Uri.parse("package:" + BaseApplication.context.packageName);
startActivityForResult(intent, 500);
今天闲着无聊,写个读相册的demo玩玩,没想到设置页面弹出了,但是开关确是灰态,不可点击。
![](https://img.haomeiwen.com/i2680888/62bf2df1b81f4056.png)
直接把我搞蒙蔽了,还以为是模拟器的问题,果断用手机尝试一下,结果。。。
![](https://img.haomeiwen.com/i2680888/5d9d7d10d6a23447.jpg)
不应该啊,总不能手机也出问题了吧,这才想到是不是缺少配置,果不其然一看AndroidManifest没有添加uses-permission
趁着没被身边的同事看到,赶快添加上对应的权限
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
再运行一下。
![](https://img.haomeiwen.com/i2680888/122d76022812a7c7.png)
![](https://img.haomeiwen.com/i2680888/00cbbf75e7d221c3.png)
还好没问同事,不然可就丢大人了,特此记录一下。。。
网友评论