Android超清晰6.0权限申请AndPermission

Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下

前言

这是我经常使用的框架,原因:

1.思路清晰
2.实现方便

开始

准备工作

导包

compile 'com.yanzhenjie:permission:1.0.7'

然后就可以使用了,贼简单

使用

第一步

findViewById(R.id.selectPic).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        //检测权限
        AndPermission.with(MainActivity.this)
            .requestCode(202)
            .permission(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
            .callback(listener)
            .start();
      }
    });

解释:

1.requestCode():用于回调使用,判断是哪里申请的
2.permission():直接填写要申请的权限就可以了,但是一定要在AndroidManifest.xml中添加上
3.callback():填入回调对象就可以

当你点击按钮的时候,就会自动查询是否已经有了权限,如果没有就会弹出申请框,如果拥有权限,就会直接走回调里面的success方法。

第二步 回调对象

//权限监听回调
  private PermissionListener listener = new PermissionListener() {
    @Override
    public void onSucceed(int requestCode, List<String> grantedPermissions) {
      // 权限申请成功回调。
      if (requestCode == 202) {
        //申请成功后的动作
      }

    }
    @Override
    public void onFailed(int requestCode, List<String> deniedPermissions) {
      // 权限申请失败回调。可提示
     }
  };

就这样就结束了,真的很简单。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android 6.0动态权限申请教程

    PermissionManage 项目地址:https://github.com/why168/AndroidProjects/tree/master/PermissionManage 介绍 如果设备运行的是 Android 6.0(API 级别 23)或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则应用在运行时向用户请求权限. 如果设备运行的是 Android 5.1(API 级别 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更

  • React-Native之Android(6.0及以上)权限申请详解

    为什么Android要申请权限 简单说下在Android6.0及6.0以上一些google认为涉及"危险和用户隐私"的一些权限不仅要做清单文件(android/app/src/AndroidMainfest.xml)里面申请,还有单独调用api,去让用户选择是否同意你申请这个权限. 例如:你想要你的app有读写手机外置内存卡权限,那么你需要在清单文件里面加下面两行看字母应该懂的吧.但如果你的(android/app/build.gradle)里的 android{defaultConf

  • Android 6.0权限申请详解及权限资料整理

    在android 6.0开始,部分的权限需要我们动态申请,也就是说当我们的打开app的时候系统不会主动像您申请app所需要的部分权限,需要客户在使用app的时候主动的去申请. 一.权限的申请两步骤: 1.权限申请: /** * @param permissions需要申请的权限 * @param requestCode申请回调code */ public static void requestPermissions(final @NonNull Activity activity,final @

  • Android 6.0 蓝牙搜索不到设备原因,MIUI权限申请机制方法

    为提供更高的数据保护 Android6.0版本上增加了关于Wifi和蓝牙的权限. 蓝牙搜索到设备需要用到定位服务,所以在开发中 targetSdkVersion 大于等于23(6.0) 需要在代码中进行权限获取 需要在配置文件中申请两个权限: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="an

  • android 6.0 写入SD卡的权限申请实例讲解

    6.0的手机对于写入手机需要申请权限的 我做了如下处理 下面我贴出代码 package com.example.admin.sdapplication; import android.Manifest; import android.app.Dialog; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.os.Build; import android

  • Android超清晰6.0权限申请AndPermission

    Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下 前言 这是我经常使用的框架,原因: 1.思路清晰 2.实现方便 开始 准备工作 导包 compile 'com.yanzhenjie:permission:1.0.7' 然后就可以使用了,贼简单 使用 第一步 findViewById(R.id.selectPic).setOnClickListener(new View.OnClickListener() { @Override public

  • Android 采用AOP方式封装6.0权限管理的方法

    [一]背景 6.0运行时申请权限已经是一个老生常谈的内容了,最近项目TargetSDKVersion升到23以上,所以我们也需要做权限管理,我想到的需求是这样的: 1.支持单个权限.多个权限申请 2.运行时申请 3.无侵入式申请,无需关注权限申请的逻辑 4.除了Activity.Fragment之外,还需要支持Service中申请 5.对国产手机做兼容处理 第一.二点,Google都有对应的API: 第三点可以通过自定义注解+AOP切面方式来解决.为什么采用AOP方式呢?首先看AOP定义: 面向

  • Android6.0动态申请权限所遇到的问题小结

    白天在做SDK23版本的适配,遇到了不少坑,现在抽空记下来,以此为戒. 首先要知道哪些坑,就得先了解一些定义和基本使用方式. 那么先介绍一下动态申请的权限分组情况. 下面的权限组是由谷歌官方定义的,目的是在申请权限时,只要用户允许同一权限组的任意一条权限,那么该组的其他权限也就默认是允许的.不过据高人介绍,在使用时最好是用到哪个权限就具体的请求该权限,因为保不齐哪天谷歌一高兴就把权限组换了甚至删了 group:android.permission-group.CONTACTS permissio

  • Android基于注解的6.0权限动态请求框架详解

    前言 安卓6.0之后,一些敏感权限需要进行动态请求,虽说编写请求授权代码并不难,但是每次一需要权限就需要在视图中添加一段代码,严重影响代码美观,同时也增加了一点点工作量. 于是,小盆友闲暇之余基于AOP封装了一个基于注解的权限请求框架.如果有幸加入您的项目,使用过程中有问题或是有哪些不便,请留言区或github上与我交流,共同进步.如果喜欢这个框架请给个star和❤️. github地址:https://github.com/zincPower/JPermission 先上图,看看效果...第一

  • android6.0权限动态申请框架permissiondispatcher的方法

    1,添加依赖 在project的build.gradle文件中添加 dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } 在module的build.gradle中添加 apply plugin: 'android-apt' ....... dependencies { .... compile 'co

随机推荐