uniapp上架华为、小米等应用商店,应用授权审核被卡,如何监听授权的弹出?

效果展

效果展示

核心代码

官方文档

uni.createRequestPermissionListener()

注意事项

  1. 我用的是vue3的uniapp + vuex,大家根据自己实际的情况去改;
  2. 本写法最低版本需要hbuilderx4.0以上,如果是hbuilderx创建的uniapp项目直接升级hbuildx即可,如果是cli创建的项目请移步看我的另一篇文章:cli创建项目编译器版本不同步
  3. 如扫码之类的,在拒绝授权之后再次点击重新发起授权需要自定义逻辑,如扫码的需要先通过requestAndroidPermission("android.permission.CAMERA")judgeIosPermission("camera")判断是否有权限再看要不要调用扫码(因为不提前判断的话会打开扫码界面,只不过中心文字是无扫码权限)
  4. 该写法不兼容ios
    兼容
  5. 官方集成了一部分,可选择用官方插件

完整代码

store.js

state: {
   
   
	// permissionListener: null,
    persimmionList: [
        {
   
   
            name: "ACCESS_FINE_LOCATION",
            title: "手机位置权限申请说明:",
            content: "APP正在申请手机地理位置权限,用于推荐距离更近的套餐,允许或拒绝均不会获取任何隐私信息。",
        }, {
   
   
            name: "CALL_PHONE",
            title: "拨打电话权限申请说明:",
            content: "APP正在申请拨打电话权限,用于联系商家、客服,允许或拒绝均不会获取任何隐私信息。",
        }, {
   
   
            name: "CAMERA",
            title: "读取存储权限申请说明:",
            content: "APP正在申请摄像头、读取相册权限用于扫一扫、更换头像、发布评论、上传图片,允许或拒绝均不会获取任何隐私信息。",
        }, {
   
   
            name: "NotificationManagerCompat",
            title: "通知权限申请说明:",
            content: "APP正在申请获取通知权限,用于向您推送订单状态、优惠券状态等通知,允许或拒绝均不会获取任何隐私信息。",
        }, {
   
   
            name: "WRITE_EXTERNAL_STORAGE",
            title: "相册写入权限申请说明:",
            content: "APP正在申请获取相册写入权限,用于保存图片至您的相册,允许或拒绝均不会获取任何隐私信息。",
        }
    ],
    dialogView: null
},
mutations: {
   
   
	SET_DIALOG_VIEW(state, data) {
   
   
        state.dialogView = data;
    },
    SET_PERMISSION_LISTENER(state, data) {
   
   
        state.permissionListener = data;
    },
},
actions: {
   
   
	//监听授权
	watchPermission({
    
     commit, state, dispatch }){
   
   
        commit('SET_PERMISSION_LISTENER', uni.createRequestPermissionListener())
        state.permissionListener.onConfirm((e) => {
   
   
            if(e[e.length - 1].toUpperCase().includes('CAMERA') || e[e.length - 1].toUpperCase().includes('READ_MINE') || e[e.length - 1].toUpperCase().includes('PHOTOLIBRARY')){
   
   
            	console.log('弹窗提示照片和视频、摄像头、相机授权'
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天外来鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值