检测Adroid手机摄像机权限是否被第三方限制
来源:互联网 发布:js json字符串取值 编辑:程序博客网 时间:2024/05/01 06:13
当我们要调用相机时一般会先检查是否有相机的使用权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { //已有权限}else{ //没有权限,申请权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 11);}
如果用户从系统设置里关闭权限 是没有问题的,
但是如果用户通过第三方安全软件限制了权限,就会出现检测到已经获得权限,但是不能使用照相机的情况!
这样就会导致后面逻辑出错或者拍照直接返回了一张空图片!(调用系统照相机被第三方限制权限时不会报任何异常,只是自己穿进去的url没有图片)
为了解决这个问题,做了各种尝试,各种框架,都没法准确的判断出是否被第三方限制了权限.
最后想到解决办法是直接调用照相机,如果能调用则认为有权限,如果中途报异常则认为么有权限
代码:
/** * 通过尝试打开相机的方式判断有无拍照权限(在6.0以下使用拥有root权限的管理软件可以管理权限) * * @return */public static boolean cameraIsCanUse() { boolean isCanUse = true; Camera mCamera = null; try { mCamera = Camera.open(); Camera.Parameters mParameters = mCamera.getParameters(); mCamera.setParameters(mParameters); } catch (Exception e) { isCanUse = false; } if (mCamera != null) { try { mCamera.release(); } catch (Exception e) { e.printStackTrace(); return isCanUse; } } return isCanUse;}
0 0
- 检测Adroid手机摄像机权限是否被第三方限制
- 如何检测AudioRecord是否被第三方管理应用给禁用了,附上demo
- android 开发程序检测本地是否安装第三方应用程序
- 检测用户是否安装某个第三方应用
- Qt 检测第三方软件是否运行、杀死第三方进程
- 检测手机是否具有root权限和静默安装
- 检测Android手机是否具有root权限和静默安装
- android手机 录音权限是否打开的检测
- 拍照权限被第三方禁用
- 手机第三方登陆
- 检测手机是否越狱
- Android 4.4 KitKat限制第三方应用的SD卡读写权限,怎么解决?
- 为什么 Android 4.4 KitKat 限制第三方应用的 SD 卡读写权限?
- Android4.4版本后 限制第三方应用读写外置SD卡的权限问题
- FlexDroid: 对Android第三方库进行权限限制的方法
- 检测是否安装第三方APP,并下载;以WPS为例
- iOS应用中检测第三方app是否安装及跳转解决方案
- 一加手机刷第三方Recovery、获取Root权限、刷CM教程
- USACO1.2 挤牛奶Milking Cows
- 精品博客地址收藏
- android使用WebView加载图片(URl)自适应屏幕
- Java 并发编程:volatile的使用及其原理
- 【Oracle数据库】编写简单的查询语句
- 检测Adroid手机摄像机权限是否被第三方限制
- 模仿游戏throughthefog 穿越迷雾
- Scroller类源码解析
- 收藏的一些文章地址,以备需要时学习
- Linux下JDK、Tomcat的安装及配置
- maven应用详解 及构建ssh项目(四)
- 从零开始学算法——01
- 麦森数-洛谷 1045
- PHP设计模式-观察者模式