Android6.0动态获取摄像头权限(举一反三)
6.0系统可以动态的获取系统的权限API>22
例如摄像头
举一反三写一个动态获取摄像头的方法,其他的权限也可以稍微修改使用。
在调用摄像头的地方进行判断,系统的版本
Build.VERSION.SDK_INT>22
如果系统6.0或以上,就判断有没有权限:
ContextCompat.checkSelfPermission(MainActivity.this,android.Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED
PackageManager有两个属性PERMISSION_GRANTED,PERMISSION_DENIED;
GRANTED是已经获取到权限,
DENIED是没有获取到权限;
如果有权限了想干嘛干嘛,如果没有,就去获取权限:
ActivityCompat.requestPermissions(MainActivity.this,new String[]{android.Manifest.permission.CAMERA},CAMERA_OK);
然后获取权限就结束了,然后干嘛呢?获取权限也有个回调:onRequestPermissionsResult
@Overridepublic void onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults) {switch (requestCode){case CAMERA_OK:if (grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){//这里已经获取到了摄像头的权限,想干嘛干嘛了可以}else {//这里是拒绝给APP摄像头权限,给个提示什么的说明一下都可以。Toast.makeText(MainActivity.this,"请手动打开相机权限",Toast.LENGTH_SHORT).show();}break;default:break;}}
贴一下获取权限的代码:
if (Build.VERSION.SDK_INT>22){if (ContextCompat.checkSelfPermission(MainActivity.this,android.Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED){//先判断有没有权限 ,没有就在这里进行权限的申请ActivityCompat.requestPermissions(MainActivity.this,new String[]{android.Manifest.permission.CAMERA},CAMERA_OK);}else {//说明已经获取到摄像头权限了 想干嘛干嘛 }}else {
//这个说明系统版本在6.0之下,不需要动态获取权限。}
举一反三,可以把其他的动态申请权限的替换来。别忘了清单文件里面注册上权限。
Android6.0动态获取摄像头权限(举一反三)相关推荐
- android6.0动态获取系统权限
介绍:Google公司在android API23之后为了保护用的隐私和敏感信息,一些权限必须要用户同意才能使用 1.不仅仅静态注册还需要动态获取的权限 如何获取呢? 2.获取的两种方式 1)可参考时 ...
- Android6.0动态获取权限java.io.FileNotFoundException: …Permission denied
异常 Java.io.FileNotFoundException: /storage/emulated/0/Video/ekwing_main_paren.apk(你的文件路径): open fail ...
- Android6.0动态设置读写权限(Android拍照或从相册中选图片预览出现问题)
做了一个Android拍照或从相册中选图片传服务器的demo,出现了问题虽然 图片路径 也可以打印出来,然后去看权限那里也申请了读写权限 <uses-permission android:nam ...
- Android 6.0动态获取录音权限
去年写了个获取存储.定位等的权限,今天拿出来用,发现没有录音,现在补一个,参考上篇动态获取存储的帖子,下面附代码::: //申请录音权限 private static final int GE ...
- Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题
Android 6.0 为了保护用户隐私,将一些权限的申请放在了应用运行的时候去申请, 比如以往的开发中,开发人员只需要将需要的权限在清单文件中配置即可,安装后用户可以在设置中的应用信息中看到:XX应 ...
- android 动态获取权限有哪些,Android 6.0+ 动态获取权限
Android 6.0+ 动态获取权限 这里有一个现成的库,可以直接拿来用.方便简单 1.向app下的gradle添加依赖: dependencies{ // android 6.0+ 动态获取权限 ...
- 【100个 Unity踩坑小知识点】| Unity调用API ,动态获取Android权限,附带所有Android权限表格
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- [Android Studio]详细讲解Android6.0以上请求应用权限(解决请求权限窗口一闪而过的问题)
现在的主流手机的Android版本都是8.0/9.0(笔者的华为手机为9.0),所以在开发Android的时候尽量使用Android8.0的版本(SDK 26).随着Android版本的提升,系统的安 ...
- Ubuntu系统下OpenCV使用实例(虚拟机获取摄像头权限)
文章目录 一.OpenCV图片特效实例(实现原图中心放大两倍) 二.OpenCV视频使用实例 1.虚拟机获取摄像头权限 2.播放视频 3.录制视频 Ubuntu下OpenCV初步学习至此结束!! 一. ...
最新文章
- GPU与CPU交互技术
- Linux centos 安装VNC 服务过程
- python 信号量,Event, 定时器
- linux测试函数耗时tick数,C语言中怎样测验函数执行时间
- php内核介绍及扩展开发指南 pdf vp进,PHP内核介绍及扩展开发指南—Extensions 的编写...
- 【数据结构和算法笔记】二叉树的概念和性质
- OCR文字识别技术总结(三)
- 开了立体声混音仍然不能内录_相位表是如何为你的混音工作带来帮助的
- Redis初识、设计思想与一些学习资源推荐
- 极乐净土—官方中文版 单曲循环洗脑三天了φ(ω*)
- 渗透测试工程师(实习生)面试题目
- 基于机器学习和序列信息的蛋白质亚线粒体定位预测算法研究
- Android Studio第十课网络编程2(学习打卡Day15)
- 南朝皇帝简介-20170604
- OpenGL 渐变色背景
- C++学习路线图(新)
- CTB全球创新大挑战组队中 全新课题火热来袭
- 【selenium爬虫】 selenium自动化爬取京东图书信息
- skylake服务器处理器M系列,详解第6代英特尔酷睿M处理器!
- 豆瓣读书top250数据爬取与可视化
热门文章
- 谈谈运营经验:颠覆式创新
- c# 实现WebSocket
- ddn高性能服务器,HPE牵手DDN打造整合的高性能服务器存储产品组合
- 网络编程“惊群“问题
- A Game of Thrones(24)
- [转]常用CASE工具介绍
- 【Linux】ifconfig不显示ip地址
- python32位和64位有什么区别_python32位和64位的区别是什么
- 如何打造一个抗住千万级流量短信服务(续)
- 【020期】面试官问:Java 遍历 Map 集合有几种方式?效率如何?