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

server/2024/9/23 0:26:06/

文章目录

    • 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.ppmy.cn/server/120542.html

相关文章

关于wordPress中的用户登录注册等问题

前言 大家在做类似的功能的时候&#xff0c;有没有相关的疑问。那就是我都已经选择好了相应的主题和模版&#xff0c;但是为什么都没有用户注册和用户登录的页面存在呢&#xff1f; WordPress默认情况下不提供用户注册和登录功能的原因是它最初是作为一个博客平台开发的&…

DPDK 简易应用开发之路 2:UDP数据包发送及实现

本机环境为 Ubuntu20.04 &#xff0c;dpdk-stable-20.11.10 发送数据包的通用步骤 初始化DPDK环境&#xff1a; 调用 rte_eal_init() 来初始化DPDK的EAL&#xff08;环境抽象层&#xff09;&#xff0c;这是所有DPDK应用程序的第一步&#xff0c;用于初始化硬件、内存和逻辑核…

2024年三个月自学 网络安全(黑客技术)手册

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、…

【JVM安装MinIO】

环境 > VMware Workstation Pro > CentOS 7 >Navicat Premium Lite > MobaXterm下载MinIO安装包 通过下载地址将安装包下载至本地 wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm在文件下载界面安装 rpm …

深度学习-15-深入理解BERT的子词Tokenization算法

文章目录 1 子词Tokenization算法简介1.1 单词级的Tokenization1.2 子词Tokenization技术2 常见的子词Tokenization算法2.1 字节对编码BPE2.2 字节级字节对编码BBPE2.3 WordPiece3 参考附录BERT(Bidirectional Encoder Representations from Transformers) 1 子词Tokenization算…

【机器学习】OpenCV入门与基础知识

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 OpenCV入门与基础知识简介安装与环境配置WindowsLinuxmacOS 核心数据结构MatSca…

【CS110L】Rust语言 Lecture3-4 笔记

文章目录 第三讲 所有权:移动与借用&例1例2例3 错误处理&#xff08;开头&#xff09;为什么空指针如此危险&#xff0c;我们能做什么以应对&#xff1f;— 引出Optionis_none()函数unwrap_or()函数常见用法 第四讲 代码实践:链表Box节点和链表的定义节点和链表的构造函数判…

C++——求3*3矩阵对角元素之和。

没注释的源代码 #include <iostream> using namespace std; int main() { int a[3][3],i,j,sum0; cout<<"请输入a组中的元素:"<<endl; for(i0;i<2;i) { for(j0;j<2;j) { cin>>a[i][j]…