android6.0以上,关于运行时权限的变化

今天遇到一个问题,在用OkHttpUtils 进行下载的时候,在android6.0以上会出现无法存储的问题。

后来发现是因为权限问题,在应用安装之前,会出现一个选择权限的页面,之前没有选择存储权限,所以无法存储。

Android 6.0也已经出来有一段时间了,其中的权限模式从一开始的全部列出授予,到后来的运行时动态申请,这对开发者来说是一个重要的变化。

但是因为不能保证用户每次自己都手动选择存储,所以需要应用帮用户进行SDCARD存储。

首先检查一下你的项目中 targetSdkVersion,如果是 23及以上,则必须适配新的权限模式;如果是 23以下,则还是统一在安装时全部申请权限。

我的targetSdkVersion是23.

尝试解决方法一:

Android6.0权限适配之WRITE_EXTERNAL_STORAGE(SD卡写入)


android6.0以上,关于运行时权限的变化_第1张图片

这样的话,虽然是看不到存储权限,但是也无法进行存储了。


尝试方法二:

android培训【01-06】Android 6.0 运行时权限处理

这个帖子的方法是可以在应用中,当探测到存储权限没有打开,给用户弹窗,让用户选择是否允许的。

聊一聊Android 6.0的运行时权限

这篇帖子关于运行时权限的讲解还是非常清楚明白的。

你可能感兴趣的:(android6.0以上,关于运行时权限的变化)