uni-app 安卓手机判断是否开启相机相册权限

// 安卓相机权限
          androidCameraPermiss(index){
              plus.android.requestPermissions(['android.permission.CAMERA'],(e) => {
                      if (e.deniedAlways.length > 0) {
                        this.androidAuthCamera = false
                          // 弹出提示框解释为何需要权限,引导用户打开设置页面开启  
                          uni.showModal({
                              title: '提示',
                              content: '请打开手机相机相册功能(点击确定后在权限中授权相机相册功能)',
                              // showCancel: false, // 不显示取消按钮
                              success(res) {
                                  if (res.confirm) {
                                      var Intent = plus.android.importClass("android.content.Intent");
                                      var Settings = plus.android.importClass(
                                          "android.provider.Settings");
                                      var Uri = plus.android.importClass("android.net.Uri");
                                      var mainActivity = plus.android.runtimeMainActivity();
                                      var intent = new Intent();
                                      intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                                      var uri = Uri.fromParts("package", mainActivity.getPackageName(),
                                          null);
                                      intent.setData(uri);
                                      mainActivity.startActivity(intent);
                                  }
                              }
                          });
                      } else if (e.deniedPresent.length > 0) { //权限被临时拒绝  
                        this.androidAuthCamera = false
                          // 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限  
                          uni.showModal({
                              title: '提示',
                              content: '请打开手机相机功能(点击确定后在权限中授权相机功能)',
                              // showCancel: false, // 不显示取消按钮
                              success(res) {
                                  if (res.confirm) {
                                      var Intent = plus.android.importClass("android.content.Intent");
                                      var Settings = plus.android.importClass(
                                          "android.provider.Settings");
                                      var Uri = plus.android.importClass("android.net.Uri");
                                      var mainActivity = plus.android.runtimeMainActivity();
                                      var intent = new Intent();
                                      intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                                      var uri = Uri.fromParts("package", mainActivity.getPackageName(),
                                          null);
                                      intent.setData(uri);
                                      mainActivity.startActivity(intent);
                                  }
                              }
                          });
                      } else {
                          plus.android.requestPermissions(['android.permission.READ_EXTERNAL_STORAGE'], (e) => {
                              if (e.deniedAlways.length > 0) { //权限被永久拒绝  
                                  // 弹出提示框解释为何需要权限,引导用户打开设置页面开启  
                                  uni.showModal({
                                      title: '提示',
                                      content: '请打开相册存储功能(点击确定后在权限中授权相册存储功能)',
                                      // showCancel: false, // 不显示取消按钮
                                      success(res) {
                                          if (res.confirm) {
                                              var Intent = plus.android.importClass(
                                                  "android.content.Intent");
                                              var Settings = plus.android.importClass(
                                                  "android.provider.Settings");
                                              var Uri = plus.android.importClass("android.net.Uri");
                                              var mainActivity = plus.android.runtimeMainActivity();
                                              var intent = new Intent();
                                              intent.setAction(Settings
                                                  .ACTION_APPLICATION_DETAILS_SETTINGS);
                                              var uri = Uri.fromParts("package", mainActivity
                                                  .getPackageName(),
                                                  null);
                                              intent.setData(uri);
                                              mainActivity.startActivity(intent);
                                          }
                                      }
                                  });
                              } else if (e.deniedPresent.length > 0) { //权限被临时拒绝  
                                this.androidAuthCamera = false
                                  // 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限  
                                  uni.showModal({
                                      title: '提示',
                                      content: '请打开相册存储功能(点击确定后在权限中授权相册存储功能)',
                                      // showCancel: false, // 不显示取消按钮
                                      success(res) {
                                          if (res.confirm) {
                                              var Intent = plus.android.importClass(
                                                  "android.content.Intent");
                                              var Settings = plus.android.importClass(
                                                  "android.provider.Settings");
                                              var Uri = plus.android.importClass("android.net.Uri");
                                              var mainActivity = plus.android.runtimeMainActivity();
                                              var intent = new Intent();
                                              intent.setAction(Settings
                                                  .ACTION_APPLICATION_DETAILS_SETTINGS);
                                              var uri = Uri.fromParts("package", mainActivity
                                                  .getPackageName(),
                                                  null);
                                              intent.setData(uri);
                                              mainActivity.startActivity(intent);
                                          }
                                      }
                                  });
                              } else {
                                this.androidAuthCamera = true
                                  // 选择照片 uni.chooseImage() 
                                  this.chooseImage(index)
                              }
                          })
                      }
                  })
          },

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【自动驾驶可视化工具】

自动驾驶可视化工具 自动驾驶可视化工具1.百度Apollo的Dreamview:2.Cruise的Worldview:3.Uber的AVS:4.Fglovex Studio: 自动驾驶可视化工具 介绍一下当前主流的自动驾驶可视化工具。 1.百度Apollo的Dreamview: Dreamview是百度Apollo平台开发的一种可视化工具,用…

使用Spark清洗统计业务数据并保存到数据库中

1、打开前面创建的项目“BigData-Etl-KongGuan”,创建一些数据库访问的工具类和辅助类。 1)打开SpringBoot项目:BigData-Etl-KongGuan 2)创建数据库访问的工具类和辅助类: com.qrsoft.etl.dao.IBaseDao数据库访问的通…

基于正点原子潘多拉STM32L496开发板的简易示波器

一、前言 由于需要对ADC采样性能的评估,重点在于对原波形的拟合性能。 考虑到数据的直观性,本来计划采集后使用串口导出,并用图形做数据拟合,但是这样做的效率低下,不符合实时观察的需要,于是将开发板的屏幕…

【DataWhale学习笔记】使用AgentScope调用同义倩文大模型

AgentScope AgentScope介绍 AgentScope是一款全新的Multi-Agent框架,专为应用开发者打造,旨在提供高易用、高可靠的编程体验! 高易用:AgentScope支持纯Python编程,提供多种语法工具实现灵活的应用流程编排&#xff…

部署prometheus+Grafana可视化仪表盘监控服务

一、部署prometheus及监控仪表盘 简介 Prometheus是开源监控报警系统和时序列数据库(TSDB)。 Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控,输出被监控组件信息的HTTP接口被叫做expo…

Node.js(1)

跨平台的node.js运行环境,使开发者可以搭建服务器端的js应用程序 它可以编写服务器端程序; 编写数据接口;提供网页资源浏览功能 前端工程化:开发集成的所有工具和技术 与浏览器环境的区别 node.js环境中没有DOM和BOM fs模块-读…

使用Jackson进行 JSON 序列化和反序列化

在Spring应用程序中&#xff0c;您可以通过Maven添加Jackson依赖&#xff0c;并创建一个工具类来封装对象的序列化和反序列化方法。以下是详细步骤&#xff1a; 1. 引入 Jackson 依赖 如果使用 Maven&#xff0c;您可以在 pom.xml 文件中添加以下依赖&#xff1a; <depend…

5 个适用于 Windows 10 和 11 的最佳 PDF 转 Word 转换器

PDF 文件是共享文档的首选格式&#xff0c;但是此类文件存在一些限制&#xff0c;导致难以修改或编辑。因此&#xff0c;您可能会发现自己正在寻找一种将 PDF 文件转换为 Word 或其他可编辑格式的方法。 有许多不同的 PDF 转换器&#xff0c;每种转换器提供的功能略有不同。本…

多人聊天室 (epoll - Linux网络编程)

文章目录 零、效果展示一、服务器代码二、客户端代码三、知识点1.bind() 四、改进方向五、跟练视频 零、效果展示 一个服务器作为中转站&#xff0c;多个客户端之间可以相互通信。至少需要启动两个客户端。 三个客户端互相通信 一、服务器代码 chatServer.cpp #include <…

突破编程_C++_设计模式(中介者模式)

1 中介者模式的基本概念 C中的中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;主要用于降低多个对象和类之间的通信复杂性。这种模式通过引入一个中介类来封装和处理不同类之间的通信&#xff0c;从而实现松耦合&#xff0c;使代码更易于…

每天一个数据分析题(二百零九)

某销售服饰的电商店铺想要通过漏斗模型分析转化率数据&#xff0c;关于单一漏斗模型的局限性&#xff0c;下列说法不正确的是&#xff08;&#xff09; A.不能反映趋势&#xff0c;单一漏斗模型只能反映某一时期的情况,不能看出转化率是在上升还是下降。需要增加时间维度上的比…

【unity与android的交互(一)】安卓打包相关的常见参数详解

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

【解读】Synopsys发布2024年开源安全和风险分析报告OSSRA

软件供应链管理中&#xff0c;许可证和安全合规性至关重要。开源组件和库可降低风险&#xff0c;但需了解许可证内容。Synopsys 2023年审计发现&#xff0c;超过一半的代码库存在许可证冲突。MIT许可证是最常用的宽松许可证&#xff0c;但也与其他许可证存在不兼容风险。点此获…

AI新工具(20240315) 用户通过点击图像的特定部分实现域区图像动画; 先进的机器人操作框架

✨ 1: Follow-Your-Click 用户通过点击图像的特定部分实现域区图像动画 Follow-Your-Click 是一个开放领域的区域性图像动画创作工具&#xff0c;它可以通过简短的提示语实现图像中特定区域的动画效果。这种功能允许用户通过点击图像的特定部分并输入简短的指令&#xff08;例…

ViT学习笔记

一、Embedding层 对于标准的Transformer 模块&#xff0c;要求输入的是 token (向量 ) 序列&#xff0c;即二维矩阵 [num_token, token_dim] 在代码实现中&#xff0c;直接通过一个卷积层来实现以ViT- B/16为例&#xff0c;使用卷积核大小为 16x16 &#xff0c; stride 为 16 …

【Streamlit学习笔记】实现包含多个sheet的excel文件下载

1、什么是Streamlit Streamlit是一个免费的开源框架&#xff0c;用于快速构建和共享漂亮的机器学习和数据科学Web应用程序&#xff0c;官网链接 Streamlit Streamlit API链接 API reference 实际项目中遇到的问题&#xff1a;包含多个sheet的excel文件下载&#xff0c;下面将给…

二维数组_矩阵交换行

任务描述 给定一个5*5的矩阵&#xff08;数学上&#xff0c;一个rc的矩阵是一个由r行c列元素排列成的矩形阵列&#xff09;&#xff0c;将第n行和第m行交换&#xff0c;输出交换后的结果。 输入格式: 输入共6行&#xff0c;前5行为矩阵的每一行元素,元素与元素之间以一个空格…

传输层的UDP协议

1. UDP协议报文格式 1.1 16位端口号 UDP协议报文中&#xff0c;端口号占2个字节&#xff0c;包括 源端口号 和 目的端口号。 1.2 16位UDP长度 UDP报文长度为2个字节 &#xff0c;即UDP数据报长度为0~65535&#xff0c;也就是64kb。 1.3 16位UDP检验和 数据在网络传输的…

k8s helm 删除 tiller

kuberneter 上面装了 helm 想卸载还并不是那么简单, 参考 stackoverflow 回复 kubectl get -n kube-system secrets,sa,clusterrolebinding -o name|grep tiller|xargs kubectl -n kube-system delete kubectl get all -n kube-system -l apphelm -o name|xargs kubectl dele…

DHCP在企业网的部署及安全防范

学习目标&#xff1a; 1. DHCP能够解决什么问题&#xff1f; 2. DHCP服务器如何部署&#xff1f; 3. 私接设备会带来什么问题以及如何防范&#xff1f; 给DHCP服务器配置地址&#xff1a; 地址池&#xff1a; DHCP有2种分配模式&#xff1a;全局分配和接口分配 DHCP enable