今天接到一个项目 uniapp写的app 客户要求 在app加载页不可以向用户申请读取权限 要使用到这个权限的时候再申请
打开manifest.json文件,切换到“源码视图”项
在"app-plus" -> “distribute” -> “android” 节点下添加 permissionExternalStorage 节点

"permissionExternalStorage": {  "request": "none",  "prompt": "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"  }

此提示语可在manifest.json中配置
HBuilderX2.5.0+开始支持配置应用启动时申请获取手机存储权限,支持以下三种策略
none
应用启动时不申请
once
应用第一次启动时申请,用户可以拒绝
always
应用每次启动都申请,并且用户必须允许,用户拒绝时会弹出以下提示框引导用户重新允许

配置none后在某些功能需要手机存储权限、访问设备信息权限也可以通过调用requestPermissions (opens new window)主动申请权限来支持后续业务逻辑

         jurisdiction() { // 获取用户授权函数var _this = thisplus.android.requestPermissions(['android.permission.WRITE_EXTERNAL_STORAGE'], function(e) {if (e.deniedAlways.length > 0) { //权限被永久拒绝// 弹出提示框解释为何需要读写手机储存权限,引导用户打开设置页面开启console.log('Always Denied!!! ' + e.deniedAlways.toString());}if (e.deniedPresent.length > 0) { //权限被临时拒绝// 弹出提示框解释为何需要读写手机储存权限,可再次调用plus.android.requestPermissions申请权限plus.android.requestPermissions(['android.permission.WRITE_EXTERNAL_STORAGE'])console.log('Present Denied!!! ' + e.deniedPresent.toString());}if (e.granted.length > 0) { //权限被允许//调用依赖获取读写手机储存权限的代码_this.upload() // 获取权限成功之后调用的函数console.log('Granted!!! ' + e.granted.toString());}}, function(e) {console.log('Request Permissions error:' + JSON.stringify(e));});},

android.permission.READ_EXTERNAL_STORAGE 和 android.permission.WRITE_EXTERNAL_STORAGE
读写SD卡权限,系统授权提示未“访问设备上的照片、媒体内容和文件”,可以参考这里配置应用启动时申请读写手机存储策略

总结:上架app要求不能直接向用户申请读取储存权限,必须在用到储存权限时才可以询问用户,我把内置的第一次进入app申请权限关闭,在类似上传图片、下载图片函数之前调起申请访问储存权限 如果用户同意在执行上传图片、下载图片等

uniapp 安卓平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限相关推荐

  1. DCloud之Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略控制

    目录 一.控制缘由 二.说明 三.云端打包配置 1.读写手机存储权限 (1)源码视图配置 2.访问设备信息权限 (1)源码视图配置 四.离线打包提示语配置及弹窗配置 1.提示语配置 2.弹窗配置 五. ...

  2. wgt文件怎么安装到手机_uni-app开发经验分享十二: Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息...

    Android平台从6.0(API23)开始系统对权限的管理更加严格,所有涉及敏感权限都需要用户授权允许才能获取. 因此一些应用基础业务逻辑需要的权限会在应用启动时申请,并引导用户允许. 读写手机存储 ...

  3. 安卓平台Flutter启动过程全解析

    前言 今天主要带大家一起分析下flutter是如何启动.初始化和加载dart代码的.这里有几点需要提前告知: 由于篇幅的问题,关于flutter界面创建.绘制过程将略过: 由于相关的c++代码比较多, ...

  4. requestPermissions读写手机存储权限_315保护隐私!手机这几个设置保护个人隐私

    随着科技的发展人们更加的依赖网络,但是科技是把双刃剑,网络中留下的个人信息可能被有心人顺着网络找到被不法商家利用.而今年315,手机中的隐私泄漏问题成了消费者关注的重点,毕竟躺在手机短信里的" ...

  5. 解决Word 2007启动时弹出“无法访问您试图使用功能所在的网络位置”的问题...

    解决Word 2007启动时弹出"无法访问您试图使用功能所在的网络位置"的问题... 参考文章: (1)解决Word 2007启动时弹出"无法访问您试图使用功能所在的网络 ...

  6. Android SDK22以下 读写手机存储权限获取失败问题处理方法

    针对小米手机sdk22以下sdk获取不到文件 存储权限问题. /****************** Android SDK22 读写手机存储权限获取问题处理方法 ****************** ...

  7. windows平台React-Native启动时Watchman was not found

    2019独角兽企业重金招聘Python工程师标准>>> 在windows平台进行react-native开发,在命令行输入react-native start 或者npm start ...

  8. requestPermissions读写手机存储权限_单片机实例分享,RFID卡读写器的设计

    RFID(Radio Frequency Identification,射频识别)技术是一种非接触自动识别技术,利用射频信号通过空间耦合(电感或电磁耦合)实现无接触信息传递,并通过所传递的信息达到识别 ...

  9. requestPermissions读写手机存储权限_Android 11 开发者常见问题: 存储 | FAQ?第二期

    我们在 Android 10 中首次引入了 "分区存储" 的概念,旨在保护应用和用户数据并减少文件混乱.自此之后我们收到了开发者们的宝贵建议,这些建议有助于我们对该功能的持续优化, ...

最新文章

  1. mysql etc_mysql etc下my.conf配置详情
  2. add python3.7 to path是什么意思_一起读源码:为什么 loguru 的时间 rotation 不能只精确到天...
  3. 水稻微生物组时间序列分析4-随机森林回归
  4. [洛谷P4889]kls与flag
  5. BGP水平分割的疑惑
  6. Cissp-【第1章 安全和风险管理】-2020-12-31(86页-98页)
  7. orcale存储过程学习之路(一)
  8. Java——去除字符串中的中文
  9. mysql学习笔记06分组语句的使用
  10. 随想录(字节序和位序)
  11. vscode括号颜色插件_[VSCode插件推荐] Bracket Pair Colorizer: 为代码中的括号添上一抹亮色...
  12. [转载] Java中的abstract关键字
  13. Linux 内核/sys 文件系统之sysfs 属性文件
  14. ARTIF:实时威胁智能识别框架
  15. 201510月职称计算机题目,职称计算机考试模拟题库-Excel试题及答案11
  16. 从入门到精通零知识证明与zkSNARK
  17. 判断三维空间中三点是否共线
  18. 从爆款单品到全屋智能 Aqara如何引领行业变革
  19. 5g通用模组是什么_5G通用模组需要做哪些温湿度可靠性测试?
  20. 华为解锁密码忘了怎么办用计算机,不记得手机锁屏密码怎么办_华为手机密码忘了的解决方法-系统城...

热门文章

  1. c语言第二单元测试,知到计算机程序设计C语言第二单元章节测试答案
  2. IB课程必修课TOK到底有啥用?
  3. Java多态性的“飘渺之旅”
  4. 使用IO口检测电源电压的转换逻辑
  5. 2022开年第一个爆款凭什么是山东蓝翔?如何实现破圈传播?
  6. P1462 通往奥格瑞玛的道路
  7. 知心王姐小饭桌 IM消息应用开发:一看看懂Protocol Buffer(协议篇)
  8. 【FPGA】调用IP核实现心形波
  9. Spring框架—③依赖注入DI、Bean作用域及自动装配
  10. 最长连续子序列偏移_在新的模压成型工艺中结合热塑性连续带材与D-LFT(第一部分)...