uni-app 隐私权限问题:APP重新运行后不能再次弹窗申请权限,需间隔48小时才能再次向用户申请
uni-app 隐私权限问题:APP重新运行后不能再次弹窗申请权限,需间隔48小时才能再次向用户申请
操作步骤:
1
预期结果:
1
实际结果:
1
bug描述:
腾讯应用宝上架审核:
经检测您的APP存在隐私不合规问题,建议您按如下方式整改: APP在用户明确拒绝申请权限(包括但不限于电话、通讯录、定位、短信、录音、相机、存储、日历等)时,APP重新运行,不能再次弹窗申请权限,必须间隔48小时以后才能再次向用户申请。 (因隐私检测系统升级,暂不影响上架,建议您及时整改;以上问题如有疑问请联系客服QQ:800013811)
APP重新运行,不能再次弹窗申请权限,必须间隔48小时以后才能再次向用户申请。 这个没处理
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 10.14.6 | HBuilderX |
| Android | Android 11 |
更多关于uni-app 隐私权限问题:APP重新运行后不能再次弹窗申请权限,需间隔48小时才能再次向用户申请的实战教程也可以访问 https://www.itying.com/category-93-b0.html
解决了吗
更多关于uni-app 隐私权限问题:APP重新运行后不能再次弹窗申请权限,需间隔48小时才能再次向用户申请的实战教程也可以访问 https://www.itying.com/category-93-b0.html
同样遇到 频繁索要权限
APP运行中向用户索取电话、通讯录、定位、短信、录音、相机、存储、日历等权限,用户拒绝后,重新运行时,不得向用户频繁弹窗申请开启权限,影响用户正常使用;
应用启动检测是都申请了那些权限 拒绝后再启动看那个权限又申请了 然后发出来看看
遇到同样的问题,头疼
这是一个常见的隐私合规问题,主要涉及权限申请策略的调整。
在uni-app中,当用户拒绝权限后,需要实现以下逻辑:
- 在应用启动时检测权限状态
- 如果权限被拒绝,记录拒绝时间戳
- 再次申请前检查时间间隔是否超过48小时
实现方案:
// 在App.vue的onLaunch中处理
onLaunch: function() {
this.checkPermissionInterval()
},
methods: {
checkPermissionInterval() {
const lastRejectTime = uni.getStorageSync('permission_reject_time')
const currentTime = Date.now()
// 如果从未拒绝过,或者已超过48小时,可以申请权限
if (!lastRejectTime || (currentTime - lastRejectTime) > 48 * 60 * 60 * 1000) {
this.requestPermissions()
}
},
requestPermissions() {
// 使用uni.authorize或plus.android.requestPermissions申请权限
uni.authorize({
scope: 'scope.record',
success: () => {
// 权限申请成功
},
fail: (err) => {
if (err.errMsg.includes('auth deny')) {
// 记录拒绝时间
uni.setStorageSync('permission_reject_time', Date.now())
}
}
})
}
}

