asdf211
asdf211
  • 发布:2025-05-12 15:04
  • 更新:2025-05-12 17:21
  • 阅读:139

小米应用市场被拒:APP未使用相关功能时,提前申请电话权限

分类:uni-app

申请上架小米市场时,被拒,提示如下:
改进建议: APP业务功能所需的权限最好在对应业务功能执行时动态申请,在用户未触发相关业务功能时,不提前申请与当前业务功能无关的权限。
风险信息: APP首次打开,未见使用权限对应的相关产品或服务时,提前向用户弹窗申请开启电话权限。
举证信息: 2025-05-12
[测试动作] 启动史宾格隐私合规检测
APP未使用相关功能时,提前申请电话权限


如上图,我自己安装到小米手机上,只有点击该页面右侧漂浮的第二个电话图标时,才会提示申请拔打电话的权限。

我的uniapp代码大致如下:
1、store/modules/config.js
拔打电话的动作统一放在mutations

mutations:{  
ServiceAction(state,types){//客服响应  
            if(types==''||types==undefined||types=='phone'){  
                let webinfo=uni.getStorageSync('webInfo');  
                if(webinfo){  
                    let phone=webinfo[0].ts_config_tel;  
                    uni.makePhoneCall({  
                        phoneNumber: ''+phone+''  
                    });  
                }  
            }  
            else if(types==='weixin'){  
                console.log('serviceweixin')  
            }else if(types==='qq'){  
                console.log('serviceQQ')  
            }  
        }  
}

2、components/common/sideicon.vue
漂浮按钮做成组件,供多个页面调用。组件中点击图标时,调用mutations拔打电话。
<image src='/wx/images/icon_tel.png' @tap='call_phone'></image>

export default {  
        data() {  
            return {  

            }  
        },  
        methods: {  
            ...mapMutations(['ServiceAction']),  
            ,call_phone(){  
                this.ServiceAction("phone");  
            }  
        }  
    }

3、product.vue
页面直接引用sideicon.vue组件:
<SideIcon></SideIcon>


  • 云打包时,额外添加的权限下如:
  • <uses-feature android:name="android.hardware.camera"/>
    <uses-feature android:name="android.hardware.camera.autofocus"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <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.INTERNET"/>
    <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_LOGS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <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"/>
    =============
    并把permissionExternalStorage和permissionPhoneState设置为none,如下图

===========================================
自己排查了好几次,并没有发现在页面加载的情况下去启动拔打用户电话的动作,不知是哪里出了问题。
安装到自己手机上,运行小米检测报告中的页面,也只有点击图标后才会出现拔打电话的申请权限,其它情况下并未发现异常情况。
请教大家,我该如何解决?感谢大家

2025-05-12 15:04 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com - 1085613294@qq.com

解决疑难杂症,付费解决问题

要回复问题请先登录注册