栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android 6.0打开失败:EACCES(权限被拒绝)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 6.0打开失败:EACCES(权限被拒绝)

在Android 6(Marshmallow)中,即使用户在安装时接受了你的所有权限,他们仍可以稍后决定从你手中夺走其中一些权限。

快速解决方案,但不建议使用:也许如果targetSdkVersion将gradle 更改为22,则问题将得到解决。

如何实施?(最佳做法)

  1. 首先确定用户的设备是否是棉花糖设备:
private boolean shouldAskPermission(){return(Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP_MR1);}
  1. 如果
    shouldAskPermission()
    返回
    true
    ,则需要你的许可:
String[] perms = {"android.permission.WRITE_EXTERNAL_STORAGE"};int permsRequestCode = 200;requestPermissions(perms, permsRequestCode);

该方法

requestPermissions(String[] permissions, int requestCode)
;是在Android Activity类内部找到的公共方法。

  1. 你将在
    onRequestPermissionResult
    方法中收到请求的结果,如下所示:
@Overridepublic void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults){switch(permsRequestCode){    case 200:        boolean writeAccepted = grantResults[0]==PackageManager.PERMISSION_GRANTED;        break;}}

收到结果后,你将需要适当地处理它们。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号