《权限》一行代码搞定漂亮的Android6.0权限申请界面

概述

        随着Android6.0的普及,权限申请也变成了我们开发中必写的一段代码。比如sd卡权限、定位权限、拍照权限,这些几乎都是每个app必备的。而一般情况下我们都会在需要权限之前申请,然后各种判断。那既然是一些必备的是权限,我们为何不在我们一次打开app的时候就把这个全部都申请了呢?可是一下申请那么多权限对用户来说显然不是很友好,所以我们不妨在申请权限之前告诉一下用户,好让用户有个心理准备。于是借鉴了饿了么的权限申请界面,封装了一个库

效果


项目地址

https://github.com/yewei02538/HiPermission

过程

在申请权限的过程中难免会遭到用户无情的拒绝,那么就会弹出提示告诉用户这是必备的,你必须得同意!如果用户再一次手抖选择拒绝,那么我们会指引用户去权限管理里面打开我们的权限,如果还是拒绝那么..我特么真没辙了!!!

使用

Gradle:

compile'me.weyye.hipermission:library:1.0.7'

Or Maven:

me.weyye.hipermissionlibrary1.0.7pom

一行代码搞定

HiPermission.create(context)    .checkMutiPermission(newPermissionCallback() {@OverridepublicvoidonClose(){            Log.i(TAG,"onClose");            showToast("用户关闭权限申请");        }@OverridepublicvoidonFinish(){            showToast("所有权限申请完成");        }@OverridepublicvoidonDeny(String permisson,intposition){            Log.i(TAG,"onDeny");        }@OverridepublicvoidonGuarantee(String permisson,intposition){            Log.i(TAG,"onGuarantee");        }    });

就这样轻松搞定三个必备的权限

你想申请别的权限?那也没问题

List permissonItems =newArrayList();permissonItems.add(newPermissonItem(Manifest.permission.CAMERA,"照相机", R.drawable.permission_ic_memory));permissonItems.add(newPermissonItem(Manifest.permission.ACCESS_FINE_LOCATION,"定位", R.drawable.permission_ic_location));HiPermission.create(MainActivity.this)            .permissions(permissonItems)            .checkMutiPermission(...);

自定义主题

什么?想改下提示信息?界面不符合你的主题颜色?so easy

HiPermission.create(MainActivity.this)            .title("亲爱的上帝")            .permissions(permissonItems)            .filterColor(ResourcesCompat.getColor(getResources(), R.color.colorPrimary, getTheme()))//图标的颜色.msg("为了保护世界的和平,开启这些权限吧!\n你我一起拯救世界!")            .style(R.style.PermissionBlueStyle)            .checkMutiPermission(...);

设置主题后一定要调用filterColor(),否者权限图标会变成默认的黑色

styles.xml

@color/colorPrimaryDark@color/colorPrimary@color/colorPrimary@drawable/shape_btn@drawable/shape_bg_white@android:color/white

你可能感兴趣的:(《权限》一行代码搞定漂亮的Android6.0权限申请界面)