Android FAQ

By | 2021年12月31日

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->权限->打开存储空间权限。

发表评论

您的电子邮箱地址不会被公开。