隐私弹窗中处理超链接文本的时候获取了设备sim卡的国家信息
dcloud版本:
Android-SDK@3.5.3.81428_20220801
问题分析:
- 当前下载的版本是混淆编过的,其中有一个类io.dcloud.common.ui.a 应该是隐私弹窗的处理类
- 其中的内部类class c extends Dialog {}为dcloud的隐私权限自定义弹窗类
- 其中处理超链接文本的时候调用了this.c.setAutoLinkMask(15);设置超链接类型为15如下截图
- 从Linkify中能够找到15的枚举代表所有超链接类型
- 3步骤后,dcloud调用了TextView.setText()设置文本内容。如下图:
- 在Textview的settext系统源码中调用到了Linkify.addLinks。如图:
在Linkify.addLinks的源码中可以看见调用了关键代码gatherTelLinks
这个if会进入的,因为前面调用过了this.c.setAutoLinkMask(15)设置过链接类型为all。而gatherTelLinks的源码中调用了获取sim卡国家信息的接口。如下图:
最终导致app备案审核不通过,因为dcloud的隐私弹窗中处理超链接的过程中调用到了获取设备sim卡国家信息的api。
请问dcloud的工程师这里可以把
this.c.setAutoLinkMask(15)设置成this.c.setAutoLinkMask(Linkify.WEB_URLS)
这样能够绕过调用gatherTelLinks
zheng郑超
请问对应的Android 离线SDK有新版本吗?
2023-01-20 10:06
a***@snccb.com (作者)
我这边也想要对应的android离线SDK,
或者HBuilderX 3.7.0.20230118-alpha是否可直接进行app移动端得打包,如有的话麻烦给下链接我们进行参考
2023-01-20 13:31