华为上架失败,提示如下 【在用户同意隐私政策前,您的应用申请获取用户的(相机权限)权限,不符合华为应用市场审核标准。 修改建议:请在用户同意隐私政策后,再申请获取用户个人信息及权限。】
打包配置如下:
1, 使用Hbuilder X 3.7.9.20230324 云打包
2, manifest.json 配置文件已经添加 plus => distribute => google
"permissionCamera" : {
"request" : "none",
"prompt" : "为保证您正常,需要获取相机权限,请允许。"
},
"permissionExternalStorage" : {
"request" : "none",
"prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
},
"permissionPhoneState" : {
"request" : "none",
"prompt" : "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"
}
3,使用了 androidPrivacy.json 隐私政策文件 prompt : template
e***@163.com (作者)
1, 的确使用的是 hbuilderX 3.7.9 云打包的安装包
2, 自己的华为手机测试时, 是先弹出隐私政策的, 复现不了(访问隐私政策的)
3, 已经在咨询 华为客服,a, 堆栈调用信息吗? b, 测试视频等 c, 测试文档等
2023-03-30 10:39
e***@163.com (作者)
复现不了(先访问照相机)
2023-03-30 10:39
DCloud_Android_YJC
回复 e***@163.com: 重点检查一下,隐私政策中是否有调起相机的行为,比如各种超链接的跳转等等
2023-03-30 11:07
e***@163.com (作者)
回复 DCloud_Android_YJC: 我检查了一遍, 隐私政策页面没有调用相机的超链接;
不过您给了我一个思路, 我把隐私政策页面中的所有不要的js或者代码全部删除,再提交一次试试
2023-03-30 11:58
e***@163.com (作者)
当前版本,隐私政策配置文件,具体如下:
进入应用前,你需先同意<a href='http://jadmin.ew-soft-wx.com:18088/pages/user/agreement-yhxy.html'>《服务协议》</a>和<a href='http://jadmin.ew-soft-wx.com:18088/pages/user/agreement-yszc.html'>《隐私政策》</a>
2023-03-30 12:00
e***@163.com (作者)
回复 DCloud_Android_YJC: 以下是华为堆栈信息
您好!调用栈信息如下:
未同意隐私政策,应用收取相机权限
[androidx.core.app.ActivityCompat.requestPermissions(ActivityCompat.java:502),
io.dcloud.common.core.permission.PermissionControler.runRequestPermissions(Unknown Source:6),
io.dcloud.common.core.permission.PermissionControler.requestPermissions(Unknown Source:7),
io.dcloud.common.adapter.util.PermissionUtil.requestPermissions(Unknown Source:1),
io.dcloud.common.adapter.util.PermissionUtil.requestSystemPermissions(Unknown Source:23),
io.dcloud.common.adapter.util.PermissionUtil.requestSystemPermissions(Unknown Source:1),
io.dcloud.common.adapter.util.PermissionUtil.useSystemPermission(Unknown Source:19),
io.dcloud.common.adapter.util.PermissionUtil.usePermission(Unknown Source:16),
io.dcloud.feature.barcode2.BarcodeFrameItem.toFrameView(Unknown Source:10),
io.dcloud.feature.barcode2.BarcodeProxy.execute(Unknown Source:57),
io.dcloud.feature.barcode2.BarcodeProxyMgr.execute(Unknown Source:18),
io.dcloud.feature.barcode2.BarcodeFeatureImpl.execute(Unknown Source:1),
io.dcloud.g.b.a(Unknown Source:141),
io.dcloud.g.b.b(Unknown Source:3),
io.dcloud.g.b.processEvent(Unknown Source:174),
io.dcloud.e.c.c.dispatchEvent(Unknown Source:22),
io.dcloud.common.core.ui.l.processEvent(Unknown Source:2),
io.dcloud.common.core.ui.h.exec(Unknown Source:10),
io.dcloud.common.core.ui.h$a.execute(Unknown Source:5),
io.dcloud.common.adapter.util.MessageHandler$1.handleMessage(Unknown Source:3),
android.os.Handler.dispatchMessage(Handler.java:109),
android.os.Looper.loop(Looper.java:228),
android.app.ActivityThread.main(ActivityThread.java:9016),
java.lang.reflect.Method.invoke(Native Method),
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:614),
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1129)]
2023-03-30 15:33
e***@163.com (作者)
使用扫码模块儿后,barcode ,会出现调动摄像头的权限
2023-03-30 15:34
DCloud_Android_YJC
回复 e***@163.com: 看起来你的应用是支持未同意隐私政策模式运行吧,即配置了disagreeMode。此模式下是不能使用barcode功能的,https://uniapp.dcloud.net.cn/tutorial/app-disagreemode.html。你需要在调用时做好判断
2023-03-30 18:16
e***@163.com (作者)
回复 DCloud_Android_YJC: 配置文件中 disagreeMode 配置 设置 support = false
"disagreeMode" : {
"support" : false,
"loadNativePlugins" : false,
"visitorEntry" : true
},
2023-03-30 19:33
e***@163.com (作者)
回复 e***@163.com: disagreeMode support 默认是 false, 我没有改过
2023-03-30 19:35
DCloud_Android_YJC
回复 e***@163.com: visitorEntry(游客模式),也要按照未同意模式适配
2023-03-30 19:41
e***@163.com (作者)
回复 DCloud_Android_YJC: 好的,我把 游客模式 visitorEntry 设置成 false ,我再上架一次试试。
谢谢大神!!!
2023-03-30 19:48