美文网首页Android
Android简单的权限请求库,使用接口回调

Android简单的权限请求库,使用接口回调

作者: Devil_Chen | 来源:发表于2020-01-23 11:31 被阅读0次

简介

简单写了一个权限请求的库。

依赖

根bulid.gradle添加

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

在项目bulid.gradle添加

dependencies {
    implementation 'com.github.Devil-Chen:DVPermissionHelper:1.0.0'
}

在类中定义了一些常用的权限,可直接使用

    /**通讯录权限*/
    public static final String[] PERMISSION_CONTACTS = new String[]{
            Manifest.permission.WRITE_CONTACTS,
            Manifest.permission.GET_ACCOUNTS,
            Manifest.permission.READ_CONTACTS
    };

    /**电话*/
    public static final String[] PERMISSION_PHONE = new String[]{
            Manifest.permission.READ_CALL_LOG,
            Manifest.permission.READ_PHONE_STATE,
            Manifest.permission.CALL_PHONE,
            Manifest.permission.WRITE_CALL_LOG,
            Manifest.permission.USE_SIP,
            Manifest.permission.PROCESS_OUTGOING_CALLS,
            Manifest.permission.ADD_VOICEMAIL
    };

    /**日历*/
    public static final String[] PERMISSION_CALENDAR = new String[]{
            Manifest.permission.READ_CALENDAR,
            Manifest.permission.WRITE_CALENDAR
    };

    /**相机*/
    public static final String[] PERMISSION_CAMERA = new String[]{
            Manifest.permission.CAMERA
    };

    /**传感器*/
    @RequiresApi(api = Build.VERSION_CODES.KITKAT_WATCH)
    public static final String[] PERMISSION_SENSORS = new String[]{
            Manifest.permission.BODY_SENSORS
    };

    /**位置*/
    public static final String[] PERMISSION_LOCATION = new String[]{
            Manifest.permission.ACCESS_FINE_LOCATION,
            Manifest.permission.ACCESS_COARSE_LOCATION
    };

    /**存储*/
    public static final String[] PERMISSION_FILE_STORAGE = new String[]{
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
    };

    /**麦克风*/
    public static final String[] PERMISSION_MICROPHONE = new String[]{
            Manifest.permission.RECORD_AUDIO
    };

    /**短信*/
    public static final String[] PERMISSION_SMS = new String[]{
            Manifest.permission.READ_SMS,
            Manifest.permission.RECEIVE_WAP_PUSH,
            Manifest.permission.RECEIVE_MMS,
            Manifest.permission.RECEIVE_SMS,
            Manifest.permission.SEND_SMS
    };

具体使用方法

    //判断是否有权限操作
    String[] permissions = DVPermissionUtils.arrayConcatAll(DVPermissionUtils.PERMISSION_CAMERA,DVPermissionUtils.PERMISSION_FILE_STORAGE,DVPermissionUtils.PERMISSION_MICROPHONE);
    if (!DVPermissionUtils.verifyHasPermission(this,permissions)){
        DVPermissionUtils.requestPermissions(this, permissions, new DVPermissionUtils.OnPermissionListener() {
            @Override
            public void onPermissionGranted() {
                Toast.makeText(MainActivity.this,"权限申请成功",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onPermissionDenied() {
                Toast.makeText(MainActivity.this,"权限申请失败",Toast.LENGTH_SHORT).show();
            }
        });
    }else{
        Toast.makeText(MainActivity.this,"权限已经申请",Toast.LENGTH_SHORT).show();
    }
});

项目的GitHub地址

相关文章

  • Android简单的权限请求库,使用接口回调

    简介 简单写了一个权限请求的库。 依赖 根bulid.gradle添加 在项目bulid.gradle添加 在类中...

  • 两段代码获取Android 6.0运行时权限

    1. Activity请求权限 (Android6.0 = TargetAPI 23) 2. 请求回调(授权或者拒...

  • [Android]USB开发

    声明:主要参照文档:Android开发之USB数据通信安卓USB通信之权限管理 第一:请求权限和请求权限回调(通过...

  • Android 运行时权限库

    Android 运行时权限库 这是一个简单的权限请求库,可以方便的在项目中集成。 原理请见:Android 运行时...

  • Android 权限申请

    申请权限逻辑 请求回调

  • Kotlin使用接口回调

    1.Java中的接口回调实现(支持多方法回调) 声明回调接口,初始化接口 使用接口回调(无参数) 使用接口回调(带...

  • Android接口回调

    Android接口回调,见的最多的就是系统的点击事件的回调方法:OnClick,使用方法如下。 OnClickLi...

  • python flask 对GB2312 编码参数的支持

    前言: 利用flask做接口回调时候,由于对方使用get请求,请求中文使用了gb2312编码,通过requ...

  • Java回调

    回调示例代码 被调用方 Reponse::handle 回调接口(函数式接口) 请求方 打印结果

  • Java回调深入理解

    1 接口回调 1.1 接口回调概念 什么是接口回调接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声...

网友评论

    本文标题:Android简单的权限请求库,使用接口回调

    本文链接:https://www.haomeiwen.com/subject/calnzctx.html