前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android6.0权限控制

Android6.0权限控制

作者头像
饮水思源为名
发布2018-09-06 12:58:51
3980
发布2018-09-06 12:58:51
举报
文章被收录于专栏:Android小菜鸡Android小菜鸡

  随着android6.0的更新,最大的变化莫过于新的权限控制规则。以前可以直接通过AndroidManifest配置需要的权限。而更新后,为了保证用户隐私的安全性,部分私密权限需要动态的设置,仅仅在AndroidManifest中配置已经完全不能满足需求了。   当然为了达到兼容,项目使用的SDK如果是在23之前(即6.0之前)那么会依照之前的规则直接在AndroidManifest中设置即可。而当SDK升级到6.0后,例如录音、相册、定位等私密信息,就需要按照新的规则动态的申请权限。   本文提供一个权限管理类来使开发者能够快速在6.0中配置好自己需要的权限。

使用:

  使用之前需要将三个类拷入项目中,它们分别是:Permissions、PermissionsManager、PermissionsResultAction。之后需要在申请权限的地方配置它们。

代码语言:javascript
复制
 private void requestPermissions() {
        if (!PermissionsManager.getInstance().hasAllPermissions(this, new String[]{
                Manifest.permission.WRITE_EXTERNAL_STORAGE,//写入权限
                Manifest.permission.CALL_PHONE,//电话拨打权限
                Manifest.permission.READ_PHONE_STATE,
        })) ;
        PermissionsManager.getInstance().requestPermissionsIfNecessaryForResult(this,
                new String[]{
                        Manifest.permission.WRITE_EXTERNAL_STORAGE,
                        Manifest.permission.CALL_PHONE,
                        Manifest.permission.READ_PHONE_STATE,
                }, new PermissionsResultAction() {

                    @Override
                    public void onGranted() {
                        // TODO Auto-generated method stub
                        showLogInfo("权限添加成功");

                    }

                    @Override
                    public void onDenied(String permission) {
                        // TODO Auto-generated method stub
                        showLogError("用户拒绝添加权限---" + permission);
                    }
                });
    }
代码语言:javascript
复制
 @Override
    public void onRequestPermissionsResult(int permsRequestCode,
                                           String[] permissions, int[] grantResults) {
        PermissionsManager.getInstance().
                notifyPermissionsChange(permissions, grantResults);
    }

注意:

即便通过如此设置了权限,仍然需要在AndroidManifest中进行配置,这一部分是必不可少的。

附件:

Demo文件下载 打开或下载失败请复制链接在浏览器重新打开即可!!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用:
  • 注意:
  • 附件:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档