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动态获取权限

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

android6.0动态权限,以及如何同时授予多个权限,当用户禁用的后续处理

什么情况下需要动态获取权限: 满足两个条件:①6.0以上系统 ②编译版本(compileSdkVersion)API23以上 Android6.0 运行时权限,相关的方法主要有四个: 1、检查是否授予...
  • jianesrq0724
  • jianesrq0724
  • 2017年02月15日 16:52
  • 20648

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

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

Android M 动态权限获取

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

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

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

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

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

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

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

Android 动态获取权限(6.0 , 7.0)

在Android API23以上,需要动态获取网络权限。以API版本23 6.0手机获取电话权限为例/** * 请求打电话的权限码 */ private static fi...
  • zhangxxxq
  • zhangxxxq
  • 2017年08月21日 23:19
  • 639

Android 动态获取权限

public class MainActivity extends AppCompatActivity { private static final int MY_PERMISSION_RE...
  • qq_32521313
  • qq_32521313
  • 2017年06月15日 16:45
  • 295

Android踩坑日记:Android动态权限分析和解决方案

关于运行时权限  在旧的权限管理系统中,权限仅仅在APP安装时询问一次,用户同意了这些权限App才能安装,APP一旦安装后就可以偷偷做很多不为人知的事情。 我们知道从Android6.0开始,App可...
  • tuke_tuke
  • tuke_tuke
  • 2017年11月18日 16:31
  • 318
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android6.0动态获取权限
举报原因:
原因补充:

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