当前位置: 首页 > news >正文

【Android Studio】API 29(即Android 10)或更高版本,在程序启动时检查相机权限,并在未获取该权限时请求它

文章目录

    • 1. 在AndroidManifest.xml文件中,声明相机权限:
    • 2. 在你的Activity中(例如MainActivity)
    • 测试

1. 在AndroidManifest.xml文件中,声明相机权限:

    <uses-feature android:name="android.hardware.camera" /><uses-feature android:name="android.hardware.camera.autofocus" /><uses-feature android:name="android.hardware.camera.flash" />

在这里插入图片描述

2. 在你的Activity中(例如MainActivity)

  • 在onCreate方法或其他合适的位置,添加检查并请求权限的逻辑:
    /*相机*/private static final int REQUEST_CAMERA_PERMISSION = 200;

在这里插入图片描述

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);} else {// 权限已经被授予,直接进行操作}

在这里插入图片描述

  • onRequestPermissionsResult方法,
    你可以在这里处理用户的选择。如果用户授予了权限,你可以继续执行需要相机权限的操作;如果用户拒绝了权限请求,你应该给出适当的提示,并可能禁用某些依赖于相机功能的应用部分。
    /*** 确认camera权限*/@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {if (requestCode == REQUEST_CAMERA_PERMISSION) {if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {// 权限被用户同意,可以进行操作} else {// 权限被用户拒绝,给出提示}}}

在这里插入图片描述

测试

在这里插入图片描述


http://www.mrgr.cn/news/27659.html

相关文章:

  • 优化C++设计模式:用模板代替虚函数与多态机制
  • Wi-Fi背后的工作原理与技术发展历程介绍【无线通信小百科】
  • C# 选择文件夹路径
  • 【微服务设计】分布式系统一致性:深入解析2PC(两阶段提交)和TCC的优势与劣势
  • React Query在现代前端开发中的应用
  • 记录一下跨域的问题,讲讲跨域
  • 约瑟夫环和一元多项式修正版
  • 乌俄冲突下AI和计算机的使用
  • protobuf中c、c++、python使用
  • 基于SSM的二手车管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【C#生态园】深度剖析:C#嵌入式开发工具大揭秘
  • [JVM]JVM内存划分, 类加载过程, 双亲委派模型,垃圾回收机制
  • 3287. 求出数组中最大序列值
  • 平安养老险阜阳中心支公司开展金融教育宣传专项活动
  • 『功能项目』切换职业技能面板【49】
  • 清理C盘缓存,删除电脑缓存指令是什么
  • 微信小程序开发第三课
  • 力扣-96.不同的二叉搜索树 题目详解
  • SBAS星基增强系统基础介绍
  • SEGGERS实时系统embOS推出Linux端模拟器
  • GEE 教程:利用Google Dynamic数据进行逐月指定区域的土地分类数据提取分析
  • 开发指南061-nexus权限管理
  • [网络]https的概念及加密过程
  • 基于Spring搭建SpringMvc框架
  • 从ANN到SNN的转换:实现、原理及两种归一化方法【MINIST、实战】
  • ICPC网络赛 以及ACM训练总结