问题背景

uniapp云打包后生成apk,第一次启动会申请存储权限,用户点击不同意会退出app,而且这个申请是uniapp基座包做的,和开发者写的代码无关,是uniapp基座运行起来就会申请这个权限。

问题原因

uniapp支持增量更新,想要支持热更新就需要存储权限,但是wgt热更新是应用市场不乐见的。

解决方案


在manifest.json中打开源码视图,在‘distribute’下添加

"permissionPhoneState" : {"request" : "once","prompt" : "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"},"permissionExternalStorage" : {"request" : "once","prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"},

本人完整distribute节点如下

/* 应用发布信息 */"distribute" : {/* android打包配置 */"android" : {"permissionPhoneState" : {"request" : "once","prompt" : "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"},"permissionExternalStorage" : {"request" : "once","prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"},"autoSdkPermissions" : true,"permissions" : ["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>","<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>","<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},/* ios打包配置 */"ios" : {// "UIBackgroundModes" : [ "audio" ],"urlschemewhitelist" : [ "baidumap", "iosamap" ],"privacyDescription" : {"NSPhotoLibraryUsageDescription" : "便于您上传头像、入职资料等","NSPhotoLibraryAddUsageDescription" : "便于您上传头像、入职资料等","NSCameraUsageDescription" : "便于您上传头像、入职资料等"},"idfa" : false},/* SDK配置 */"sdkConfigs" : {"ad" : {},"geolocation" : {},"push" : {"unipush" : {}},"share" : {}},"splashscreen" : {"ios" : {"iphone" : {"portrait-896h@3x" : "res/drawable-xhdpi/ios.png","landscape-896h@3x" : "res/drawable-xhdpi/ios.png","iphonex" : "res/drawable-xhdpi/ios.png","iphonexl" : "res/drawable-xhdpi/ios.png","portrait-896h@2x" : "res/drawable-xhdpi/ios.png","landscape-896h@2x" : "res/drawable-xhdpi/ios.png","retina55" : "res/drawable-xhdpi/ios.png","retina55l" : "res/drawable-xhdpi/ios.png","retina47" : "res/drawable-xhdpi/ios.png","retina47l" : "res/drawable-xhdpi/ios.png","retina40" : "res/drawable-xhdpi/ios.png","retina40l" : "res/drawable-xhdpi/ios.png","retina35" : "res/drawable-xhdpi/ios.png"},"storyboard" : "static/image/recrewards_launch.zip"},"android" : {"hdpi" : "res/drawable-xhdpi/splash3.9.png","xhdpi" : "res/drawable-xhdpi/splash2.9.png","xxhdpi" : "res/drawable-xhdpi/splash1.9.png"},"iosStyle" : "storyboard"},"icons" : {"android" : {"hdpi" : "static/image/7272@2x.png","xhdpi" : "static/image/9696@2x.png","xxhdpi" : "static/image/144144@2x.png","xxxhdpi" : "static/image/192192@2x.png"},"ios" : {"appstore" : "static/image/10241024@2x.png","iphone" : {"app@2x" : "static/image/120120@2x.png","app@3x" : "static/image/180180@2x.png","spotlight@2x" : "static/image/8080@2x.png","spotlight@3x" : "static/image/120120@2x.png","settings@2x" : "static/image/5858@2x.png","settings@3x" : "static/image/8787@2x.png","notification@2x" : "static/image/4040@2x.png","notification@3x" : "static/image/6060@2x.png"},"ipad" : {"app" : "static/image/7676@2x.png","app@2x" : "static/image/152152@2x.png","proapp@2x" : "static/image/167167@2x.png","spotlight" : "static/image/4040@2x.png","spotlight@2x" : "static/image/8080@2x.png","settings" : "static/image/2929@2x.png","settings@2x" : "static/image/5858@2x.png","notification" : "static/image/2020@2x.png","notification@2x" : "static/image/4040@2x.png"}}}},

保存之后,云打包生成apk,再次安装启动的时候还是会申请权限,但是拒绝后不会出现,强制退出应用。
上传应用市场,完美通过。

uniapp上传华为应用市场,您的应用提示获取手机存储敏感权限,用户不同意时强制退出应用相关推荐

  1. 记录uniapp 离线包上传华为应用市场提示appkey 未配置问题

    我们项目是uniapp 打的离线包,上架应用市场,只有华为提示用 未配置appkey或配置错误,我们公司是有几十个类似项目,就这个被拒了,配置都是按照官方做的,没有问题,我们测试也没有问题,只有华为官 ...

  2. App上传应用市场的步骤有哪些能上传哪些应用市场

    App上传应用市场的步骤有哪些能上传哪些应用市场 越来越多的企业都开发了自己的APP,很多人会疑惑如何上传APP,山东临软教你如何上传APP,需要哪些流程呢? 一.上传APP方法: 1.应用市场注册开 ...

  3. uniapp上传头像

    <view><van-fieldlabel="头像"readonly="true"@tap="openChooseImg" ...

  4. uni-app上传头像base64转码

    uni-app上传头像base64转码 首先需要调起相册,使用 uni.chooseImage 方法选择相册,点击相册里面的图片, 确定可以选择图片并获取到图片的路径之后,uni-app官网有插件可以 ...

  5. uniapp 上传指定jpg,png格式图片

    // 上传图片前事件chooseImage: async function() {if (this.imageList.length === 6) {let isContinue = await th ...

  6. 利用串口网络助手上传数据、图片到OneNet平台以及获取数据(HTTP)

    利用串口网络助手上传数据.图片到OneNet平台以及获取数据(HTTP) 使用网络助手连接OneNet服务器 HTTP上传数据至OneNet 获取数据 上传图片至OneNet 使用网络助手连接OneN ...

  7. react+Ts+批量上传华为云OBS

    文章目录 前言 一.华为云OBS 二.开发步骤 1.使用npm安装(推荐) 2.使用源码安装 3.直接上代码(npm方式) 4.示例图 5.12.22 新增进度条优化 6.如果限制单个大文件上传进度条 ...

  8. Git上传华为云(基于SSH公钥免密)

    文章目录 1. 华为云建立代码托管仓库 2. 建立仓库 3. 生成SSH公钥(SSH方式是免密提交) 4. 将本地代码上传到远程仓库华为云上 5. 需要添加多个远程库(gitee.GitHub等) 6 ...

  9. uni-app 上传识别身份证信息

    最近在做一款小程序,需要用到上传识别身份证的功能,但是本人对uni-app 不是特别熟悉,求大神帮忙!!!  万分感谢!!!

最新文章

  1. java for 执行顺序_java – @BeforeMethod和继承 – 执行顺序(TestNG)
  2. 【机器学习】因子分解机(FM) 原理及在召回中的应用(python实现)
  3. 2017二级c语言题库贴吧,2017二级c语言题库
  4. qPCR引物设计经验教程
  5. linux sox录音时间控制,Linux 对音频万能处理的命令——SOX
  6. laravel很慢_Laravel网站打开速度优化的方法汇总
  7. 获取电脑ip并输入微信发送
  8. 微信文件用qq浏览文件服务器,原来微信和QQ的文件是可以相互传输的!现在才知道,真是太可惜了...
  9. 餐厅预订系统有哪些?餐厅预订系统怎么选择?
  10. Linux网络编程必备的POSIX API的细节
  11. java中虚函数_虚函数
  12. 读书笔记(被讨厌的勇气一)
  13. 下载网站特有字体图标方法
  14. mysql scn_ORACLE SCN的概念
  15. 小鸡模拟器android怎么玩,安卓小鸡模拟器运行总结~
  16. BLM战略管理的五条策略性建议
  17. Field xxxxDAO in com.nero.hua.service.impl.LoginServiceImpl required a bean of type
  18. STemWin学习笔记——窗口小工具(控件)
  19. java实现将汉字转为拼音
  20. 微信小程序开发:微信小程序生命周期总结

热门文章

  1. 汽车整车行业PLM解决方案
  2. 大牛很通俗地介绍《信号与系统》
  3. 计算机基础土星,2012年一级B笔试模拟343
  4. OpenWRT-Wifidog之利用Luci认证
  5. iOS https 自制证书 单向 双向 验证,以及服务器(Nginx)配置
  6. C语言数码管是共阴共阳程序,成功C DIY 单片机(2)51单片机直接驱动共阴极数码管...
  7. java指定日期计算一年内第几天和给出一年内第几天算出指定日期
  8. Win7下硬盘安装Ubuntu12.04双系统
  9. 为您揭秘当今直播源码为何如此火爆
  10. 算法实践:数独(3)