根据Blankj的utils工具 PermissionUtils简单封装的工具类:
有几个开源的Dialog可供选择:
//这是开源的Dialog,也可以使用自己的Dialog
selectorDialog:``空祖家的Dialog
这是CircleDialog
这是 Flyco的NormalDialog
简单封装
public class PermissionCheckUtil {
private OnPermissionListener onPermissionListner;
/**
* 检查权限
* @param activity 传的activity参数,为了创建对话框
* @param permissionListener
* @param permissions
*/
public static void checkPermission(final Context activity,String title,String message,
final OnPermissionListener permissionListener, String... permissions){
if (PermissionUtils.isGranted(permissions)) {
ToastUtils.showShort("检测权限是否已授权");
permissionListener.onSuccess();
}else {
PermissionUtils.permission(permissions)
.callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
permissionListener.onSuccess();
ToastUtils.showShort("允许了权限"+permissionsGranted.size());
}
@Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
if (permissionsDeniedForever.size()!=0) {
ToastUtils.showShort("拒绝了权限");
//这是开源的Dialog
//selectorDialog:``[空祖家的Dialog](https://github.com/kongzue/Dialog)