Android open failed: ENOENT (No such file or directory)

以Android open failed: ENOENT (No such file or directory)为列,分析android 6.0 以上的动态权限

在Android6.0以下所有的权限需要使用时在清单配置中就可以了,但自从Android6.0以后,Android就为权限分为了

normal:这个权限类型并不直接威胁到用户的隐私,可以直接在manifest清单里注册,系统会帮我们默认授权的。

dangerous:这个可以直接给app访问用户一些敏感的数据,不仅需要在manifest清单里注册,同时在使用的时候,需要向系统请求授权。


所以说我们新建文件时光在Manifest清单是配置是不够的,会闪退包上述错误!

解决方案:就是在需要时新建文件时获取文件读取的动态权限

intpermission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

if(permission != PackageManager.PERMISSION_GRANTED) {

// We don't have permission so prompt the user

ActivityCompat.requestPermissions(

activity,

PERMISSIONS_STORAGE,

REQUEST_EXTERNAL_STORAGE

);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容