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

【升级打怪实录】uniapp - android 静态声明权限和动态请求权限的区别

在 UniApp 的 manifest.json 中已配置了 RECORD_AUDIOCAMERAACCESS_FINE_LOCATION 权限,为何还需在代码中调用 plus.android.requestPermissions() 动态申请?

// manifest.json android 权限配置
"android" : {"permissions" : ["<uses-permission android:name="android.permission.RECORD_AUDIO"/>","<uses-permission android:name="android.permission.CAMERA"/>","<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>",]
}

答:

  1. Android 6.0+ (API ≥23)对敏感权限(如摄像头、麦克风、定位)需运行时动态申请必须由用户主动授权,仅静态声明(manifest.json)无法直接生效;低版本(Android ≤5.1)无需动态申请,安装时默认授予。
  2. 这三个权限属于“危险权限”,涉及用户隐私,必须动态请求用户授权。
  3. UniApp 最终会将 manifest.json 中的权限声明写入生成的 AndroidManifest.xml 文件,但 仅静态声明权限不足以在 Android 6.0+ 设备上实际获得权限。必须在代码中调用 plus.android.requestPermissions() 向用户请求授权。

plus.android.requestPermissions() 说明文档

http://www.dtcms.com/a/315573.html

相关文章:

  • 【Linux】特效爆满的Vim的配置方法 and make/Makefile原理
  • uniapp基础(五)调试与错误
  • uniapp转app时,cover-view的坑
  • uniapp云打包打包安卓app失败,显示:本地安装包生成失败,请重试或者切换到非安心打包模式进行打包
  • uniapp Android App集成支付宝的扫码组件mPaaS
  • ubuntu-server安装
  • RabbitMQ面试精讲 Day 11:RabbitMQ集群架构与节点类型
  • 解决错误nvcc fatal : Unsupported gpu architecture ‘compute_86‘
  • 概率论角度: Laplace 算子和分数阶 Laplace 算子
  • BLE 安全连接:LE Secure Connections 与椭圆曲线密钥交换面试高频考点与真题解析
  • C++信息学奥赛一本通-第一部分-基础一-第2章-第1节
  • AlmaLinux8 平替 manylinux_2_28-python 的 GPG密钥管理、安装 cuda sdk
  • 使用ProxySql实现MySQL的读写分离
  • 2.3 子组件样式冲突详解
  • 浏览器冷启动与热启动机制全解析:原理、案例与性能优化实战
  • NuGet03-私有仓库搭建
  • HTML 媒体元素概述
  • DashVector专有网络
  • DDoS 防护的未来趋势AI 如何改变安全行业
  • Baumer相机如何通过YoloV8深度学习模型实现工厂自动化产线牛奶瓶盖实时装配的检测识别(C#代码UI界面版)
  • Pseudo Pseudo Random Numbers
  • Docker使用的常见问题
  • 《BFC的深层逻辑与全域应用》
  • 目标检测、分割的数据增强策略
  • 前端安全攻防
  • CVE-2017-8291源码分析与漏洞复现(PIL远程命令执行漏洞)
  • Kafka-Eagle 安装
  • LeetCode——2411. 按位或最大的最小子数组长度
  • 工业级 CAN 与以太网桥梁:串口服务器CAN通讯转换器深度解析(上)
  • 【Git】git提交代码报错Git: husky > pre-commit