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

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

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

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

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

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

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

所以说我们新建文件时光在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

);

}

    原文作者:孙科技
    原文地址: https://www.jianshu.com/p/e9c007ef4efe
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞