Android6.0动态获取权限

原创 2015年12月28日 14:54:03

Android 6.0动态获取权限

Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上,又新增了运行时权限动态检测

以下权限都需要在运行时判断:

  • 身体传感器
  • 日历
  • 摄像头
  • 通讯录
  • 地理位置
  • 麦克风
  • 电话
  • 短信
  • 存储空间

效果图

  • Android 6.0添加动态获取权限
    这里写图片描述

  • Android 6.0没有动态获取权限
    这里写图片描述

动态获取权限

每次在用到摄像头等,这样需要权限的操作的时候,都要动态判断一下权限

// 扫描功能
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    //申请CAMERA权限
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 3);
} else {
    Intent openCameraIntent = new Intent(this, CaptureActivity.class);
    startActivityForResult(openCameraIntent, 0);
}

如果没有权限,会弹窗提示用户,由用户来决定,是否给予该权限

用户选择完以后,会执行下面的回调

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (3 == requestCode) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 授权
            Intent openCameraIntent = new Intent(this, CaptureActivity.class);
            startActivityForResult(openCameraIntent, 0);
        } else {
            // 未授权
        }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android M 动态权限获取

新的权限获取方式除了要求像之前版本一样在AndroidManifest文件中静态申请之外,应用还需根据需要请求权限,方式采用向用户显示一个请求权限的对话框。这些被动态申请的权限可以在系统设置中被手动关...
  • jdsjlzx
  • jdsjlzx
  • 2016年04月18日 17:09
  • 13264

Android动态获取权限

前几天在网上找了找Android动态获取权限的文章和视频,自己整理了一下。几天看一位大神说真正的程序员是有着分享精神的,我这个刚刚入行的小菜鸟,也想把自己整理的东西分享给大家。 本文参考了A_s...
  • Yvan_z
  • Yvan_z
  • 2017年01月06日 15:26
  • 2827

Android 6.0: 动态权限管理的解决方案

Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应...

安卓6.0之后——动态获取权限封装

大家知道,在android6.0之后,谷歌为了更进一步保护用户的手机安全及知情权,在权限管理方面做了改变。 在6.0之前,我们只需要在Manifest里增加对应的权限标签即可, 如: ...

android 学习笔记之六 动态获取权限

众所周知,Android 6.0 相比之前的Android版本有一个很大的不同点,就是动态获取权限。今天自己在做拨号功能时,正巧遇到这个问题, 顺手记录下在Android 6.0 上如何动态获取权限。...

百度地图SDK-Android6.0动态获取隐私权限

在集成百度地图SDK的时候,在手机上运行都可以定位,但是在小米手机上无法定位,检查没有任何错误,最后通过搜索才知道是Android6.0的问题,这是因为在Android6.0采用了运行时权限(Runt...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

安卓动态获取权限及权限介绍

引用https://github.com/googlesamples/easypermissions   在AS中添加compile 'pub.devrel:easypermissions:0.2....

Android 6.0 运行时权限处理完全解析

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/50709663; 本文出自:【张鸿洋的博客】 一、概述 随着A...

android6.0动态获取权限

android6.0引入了新的权限系统,部分权限需要我们动态的获取。 如果不注意这个改变,会造成我们应用的部分功能无法使用,甚至crash。 目前有两种解决办法: 1.将app下的build.grad...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android6.0动态获取权限
举报原因:
原因补充:

(最多只允许输入30个字)