之前开发4.0,5.0安卓项目没有出现过这种问题,没想到开发7.0出现了这样的问题,如图
根据字面意思理解,找不到文件,权限不足,我赶紧看了下是不是忘了添加读写权限
明明添加了读写权限,为什么还是报了文件找不到,权限不足的错误呢,没有办法,只能到处查看资料,整理发现,原来
android6.0以后,存在一些"敏感"权限,这时只能应用运行时申请权限,并且只有用户允许的情况下才能授予权限,对于用户来说确实提升了安全性。
回归重点:
如何解决这个权限问题
首先,在你需要进行读写文件操作之前,添加一段代码,用于申请权限,如下:
简单来看一下他的源码
注释太多,简单解释一下:
请求要授予此应用程序的权限,这些权限必须在你的manifest中被申请,上面还有运行时申请权限的网页示例感兴趣的可以去看
一下。参数分别是activity、需要被申请的权限,不能为null或者为空、请求码,在该方法中进行了SDK判断,只有大于23也就是
6.0才会去申请权限,低版本只会走onRequestPermissionsResult方法让你知道你拥有权限。
由于我是用模拟器运行的,申请权限运行之后如下图所示
选择允许就可以正常的进行读写啦!
当然,以上只是代码解决方法,你也可以在设置里面找到你的应用,权限,开启存储空间权限。
遇事勿慌,多查资料。