android

Android open failed: ENOENT (No

2017-05-03  本文已影响96人  孙科技

以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

);

}

上一篇下一篇

猜你喜欢

热点阅读