关于检测手机摄像头权限的问题
来源:互联网 发布:新还珠格格演员表知画 编辑:程序博客网 时间:2024/04/29 15:44
摄像头权限时系统的危险权限,对于6.0以上和6.0以下系统有着不同的检测方法。
6.0以上系统:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//6.0以上系统 Log.e(TAG, "onCreate: 6.0以上系统" ); try { //获得程序targetSdkVersion PackageInfo info = getPackageManager().getPackageInfo(getPackageName(),0); int targetSdkVersion = info.applicationInfo.targetSdkVersion; if(targetSdkVersion>23){//targetSdkVersion>23时使用ContextCompat.checkSelfPermission()检查权限 if(ContextCompat.checkSelfPermission(this, needPermissions[0]) != PackageManager.PERMISSION_GRANTED || ActivityCompat.shouldShowRequestPermissionRationale(this, needPermissions[0])){ //未授权 showMissingPermissionDialog(); }else{//已授权 initView(); } }else{//targetSdkVersion>23时使用PermissionChecker.checkSelfPermission检查权限 if(PermissionChecker.checkSelfPermission(this,needPermissions[0]) == PermissionChecker.PERMISSION_GRANTED){ //已授权 initView(); }else{ //未授权 showMissingPermissionDialog(); } } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } }
6.0以下系统:系统没有直接提供检测的API,只能判断系统摄像头是否可用
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; }
这样大概可以设配大多数手机,本人测试时候只用了两台机器,一个是6.0以上的小米note手机,一个是6.0以下的华为SCL-TL00H型号手机,如若有什么问题,欢迎大家指教
阅读全文
0 0
- 关于检测手机摄像头权限的问题
- Android关于华为手机的权限问题
- 关于adb命令没有权限访问手机设备的问题
- 关于华为手机访问本地的权限问题
- 关于WIN7摄像头的问题
- 摄像头权限选择的诡异问题!!!
- OpenCV手机摄像头方向的问题
- OpenCV手机摄像头方向的问题
- 关于高通AR在Android手机上摄像头对焦的问题
- [求助]一个关于摄像头程序在手机上运行的问题``
- Android 6.0以下检测摄像头权限
- android手机 录音权限是否打开的检测
- Android手机监视网络状态的变化--关于权限的一个小问题
- 关于Android手机权限
- 关于ZC0301摄像头问题
- 手机中文件的权限问题
- android 权限检测问题
- 关于小米6.0以上系统手机动态获取权限问题
- 蓝桥杯评测_前n项和
- win32_弹弹球游戏
- 算法竞赛入门经典_1
- 算法竞赛入门经典_2_变量及其输入
- 如果某个页面上点击按钮发起了一个http url请求,去执行一个action,但是还没等这个action完成,我就刷新了这个页面,然后又点击了这个按钮,这样之前的那次http url请求还在执行吗?
- 关于检测手机摄像头权限的问题
- 算法竞赛入门经典_3_顺序结构程序设计
- Navicate使用
- Angular Js
- 算法竞赛入门经典_4_分支结构程序设计
- scanf控制用户输入数据的合法范围_算法_c语言
- 【翻译】Ionic的刷新器-Refresher官方文档翻译
- 算法竞赛入门经典_1.5_习题练习
- c语言循环打印问题之A-F及VC6++断点开发工具的使用