1 受保护的权限
Android 6.0中,某些权限属于受保护的权限,例如:读写手机存储权限,仅仅在AndroidManifest.xml
中申明是无法真正获取到权限的,访问手机存储时,会报出类似下面的错误:java.io.FileNotFoundException:*** (Permission denied)。
解决方法一
// 动态获取权限,Android 6.0 新特性,一些保护权限,除了要在AndroidManifest中声明权限,还要使用如下代码动态获取 if (Build.VERSION.SDK_INT >= 23) { int REQUEST_CODE_CONTACT = 101; String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}; for (String permission : permissions) { if (this.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { // 申请权限(居然不会阻塞下面的程序的) this.requestPermissions(permissions, REQUEST_CODE_CONTACT); } } }
解决方法二
直接在6.0的设置里面找到应用,选中你的APP->权限->打开存储空间权限。