当前位置:网站首页>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社区,最好的一种方式,投入较大。
边栏推荐
- NC24325 [USACO 2012 Mar S]Flowerpot
- CMake基本使用
- AttributeError: ‘tuple‘ object has no attribute ‘layer‘问题解决
- Nacos+openfeign error reporting solution
- Don't want teachers to see themselves with cameras in online classes? Virtual camera you deserve!
- 线程的启动与优先级
- 多进程编程(二):管道
- Gan model architecture in mm
- kubernetes编写yml简单入门
- Which websites can I search for references when writing a thesis?
猜你喜欢

利亚德:Micro LED 产品消费端首先针对 100 英寸以上电视,现阶段进入更小尺寸还有难度

antv x6节点拖拽到画布上后的回调事件(踩大坑记录)

Pageoffice - bug modification journey

Introduction and use of ftrace tool
![[MCU project training] eight way answering machine](/img/a3/6a50619cd16269bf485a4a273677aa.jpg)
[MCU project training] eight way answering machine

logback配置文件

Sysdig analysis container system call
![[shutter] Introduction to the official example of shutter Gallery (learning example | email application | retail application | wealth management application | travel application | news application | a](/img/f2/f3b8899aa774dd32006c5928d370f1.gif)
[shutter] Introduction to the official example of shutter Gallery (learning example | email application | retail application | wealth management application | travel application | news application | a

Callback event after the antv X6 node is dragged onto the canvas (stepping on a big hole record)
![[IELTS reading] Wang Xiwei reading P1 (reading judgment question)](/img/ee/540661fcb2cf1cf1eb15e2026c997a.png)
[IELTS reading] Wang Xiwei reading P1 (reading judgment question)
随机推荐
Introduction and use of ftrace tool
关于QByteArray存储十六进制 与十六进制互转
奥斯陆大学:Li Meng | 基于Swin-Transformer的深度强化学习
Markdown tutorial
University of Oslo: Li Meng | deep reinforcement learning based on swing transformer
Blue decides red - burst CS teamserver password
NC24840 [USACO 2009 Mar S]Look Up
kubernetes编写yml简单入门
[Luogu p4320] road meets (round square tree)
NC50528 滑动窗口
微信小程序获取某个元素的信息(高、宽等),并将px转换为rpx。
Linux软件:如何安装Redis服务
How SQLSEVER removes data with duplicate IDS
Overlay of shutter (Pop-Up)
Basic 10 of C language: array and pointer
Set up nacos2 X cluster steps and problems encountered
Helm basic learning
[jetcache] jetcache configuration description and annotation attribute description
Gan model architecture in mm
Bloom filter