Android开发-更"聪明"的申请权限方式

在Android6.0以后,很多权限需要动态申请,只有在用户点同意后,我们才能使用对应API,因此,正确申请权限就显得很重要。

我们提供的服务有:网站制作、网站建设、微信公众号开发、网站优化、网站认证、肃北ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的肃北网站制作公司

常用方式

通常我们使用这种方式来判断权限状态:

private static boolean isGranted(final String permission) {
    return Build.VERSION.SDK_INT < Build.VERSION_CODES.M
            || PackageManager.PERMISSION_GRANTED
            == ContextCompat.checkSelfPermission(Utils.getApp(), permission);
}

但是用这种方式我们会碰到一个比较棘手的情况,当用户同意了某个权限后,然后用户又在手机的系统设置的应用权限中关闭了这个权限,此时我们并不能正确获取到正确的权限状态。

解决办法

有可能Android团队意识到了这个问题,所以他们发布了一个新的权限检查类:android.support.v4.content.PermissionChecker;

用这个类进行权限的检查就会正确返回,所以我们把权限校验的方法修改如下:

import android.support.v4.content.PermissionChecker;

private static boolean isGranted(final String permission) {
    return Build.VERSION.SDK_INT < Build.VERSION_CODES.M
            || PackageManager.PERMISSION_GRANTED
            == PermissionChecker.checkCallingOrSelfPermission(Utils.getApp(), permission);
}

这样就会解决手机设置与用户授权不一致的问题。

本文原始地址,如有更多疑问,请参考我的其它Android相关博客:我的博客地址


当前文章:Android开发-更"聪明"的申请权限方式
URL标题:http://bzwzjz.com/article/gihoic.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设公司 四川成都网站设计 响应式网站设计 营销型网站建设 教育网站设计方案 上市集团网站建设 成都品牌网站建设 成都营销网站制作 重庆网站建设 网站建设 成都企业网站设计 成都模版网站建设 网站建设费用 成都营销网站建设 成都网站设计 成都网站建设公司 重庆网站建设 企业网站建设公司 成都定制网站建设 成都网站建设 成都定制网站建设 成都网站建设公司