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