当前位置:网站首页>cordova-plugin-device获取设备信息插件导致华为审核不通过
cordova-plugin-device获取设备信息插件导致华为审核不通过
2022-07-02 23:47:00 【kenick】
1.起因
经检测发现,您的应用存在获取用户的【ANDROID ID】敏感信息行为,且未在应用内的隐私政策/在AppGallery Connect上提交的隐私政策网址中进行说明,不符合华为应用市场审核标准。
2.分析
从华为处获取到的堆栈调用信息为:
"stackTrace":[
"org.apache.cordova.device.Device.getUuid(Device.java:112)",
"org.apache.cordova.device.Device.initialize(Device.java:58)",
"org.apache.cordova.CordovaPlugin.privateInitialize(CordovaPlugin.java:57)",
"org.apache.cordova.PluginManager.getPlugin(PluginManager.java:171)",
"org.apache.cordova.PluginManager.exec(PluginManager.java:122)",
"org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)",
"org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)",
"android.os.MessageQueue.nativePollOnce(NativeMethod)",
"android.os.MessageQueue.next(MessageQueue.java:374)",
"android.os.Looper.loop(Looper.java:185)",
"android.os.HandlerThread.run(HandlerThread.java:67)"
]
经查找资料,在项目的platforms\android\app\src\main\java\org\apache\cordova\device\Device.java中发现该类的初始化方法有问题。
由于初始化时就获取了uuid,导致虽然在项目中有对获取有控制(必须先获取用户授权),但一进入app,在未获取用户授权前,就已经获取了uuid。
3.解决方法
1.舍弃该插件(cordova-plugin-device),适用于对业务及逻辑影响不大的情况下;
2.继续使用该插件,修改插件获取原生设备ID的方式,适用于上层逻辑复杂但对设备ID要求不是很严格的情况下。
3.自定义插件,并上传到cordova社区,最好的一种方式,投入较大。
边栏推荐
- Vulkan-实践第一弹
- 【雅思阅读】王希伟阅读P1(阅读判断题)
- antv x6节点拖拽到画布上后的回调事件(踩大坑记录)
- How SQLSEVER removes data with duplicate IDS
- Centos7 one click compilation to build MySQL script
- 奥斯陆大学:Li Meng | 基于Swin-Transformer的深度强化学习
- kubernetes资源对象介绍及常用命令(五)-(NFS&PV&PVC)
- Markdown tutorial
- Solution to the problem of abnormal display of PDF exported Chinese documents of confluence
- [shutter] image component (image component introduction | image constructor | image.network constructor | image.asset constructor)
猜你喜欢
Monitor container runtime tool Falco
University of Oslo: Li Meng | deep reinforcement learning based on swing transformer
Shell implements basic file operations (cutting, sorting, and de duplication)
奥斯陆大学:Li Meng | 基于Swin-Transformer的深度强化学习
Linux软件:如何安装Redis服务
Basic use of shell script
DotNet圈里一个优秀的ORM——FreeSql
[shutter] Introduction to the official example of shutter Gallery (project introduction | engineering construction)
2022中国3D视觉企业(引导定位、分拣场景)厂商名单
Explain in detail the significance of the contour topology matrix obtained by using the contour detection function findcontours() of OpenCV, and how to draw the contour topology map with the contour t
随机推荐
redis21道经典面试题,极限拉扯面试官
NC50965 Largest Rectangle in a Histogram
[Chongqing Guangdong education] audio visual language reference materials of Xinyang Normal University
Nacos+openfeign error reporting solution
University of Oslo: Li Meng | deep reinforcement learning based on swing transformer
Introduction of UART, RS232, RS485, I2C and SPI
[shutter] image component (load network pictures | load static pictures | load local pictures | path | provider plug-in)
An excellent orm in dotnet circle -- FreeSQL
Rust所有权(非常重要)
Shell implements basic file operations (cutting, sorting, and de duplication)
2022中国3D视觉企业(引导定位、分拣场景)厂商名单
CMake基本使用
Thinkadmin V6 arbitrary file read vulnerability (cve-2020-25540)
About the practice topic of screen related to unity screen, unity moves around a certain point inside
mm中的GAN模型架构
Explain in detail the significance of the contour topology matrix obtained by using the contour detection function findcontours() of OpenCV, and how to draw the contour topology map with the contour t
Wechat applet obtains the information of an element (height, width, etc.) and converts PX to rpx.
NC24325 [USACO 2012 Mar S]Flowerpot
Attributeerror: 'tuple' object has no attribute 'layer' problem solving
腾讯云免费SSL证书扩展文件含义