uni-app 第三方SDK重复收集信息行为 - DCloud多次重复收集41次获取任务列表
uni-app 第三方SDK重复收集信息行为 - DCloud多次重复收集41次获取任务列表
操作步骤:
- 提交给第三方机构做安全校验
预期结果:
- 最多获取一次任务列表
实际结果:
- 获取了41次
bug描述:
第三方SDK重复收集信息行为
检测内容:
DCloud多次重复收集41次获取任务列表

HBuilderX 4.0.2024012711-alpha 已修复。
更多关于uni-app 第三方SDK重复收集信息行为 - DCloud多次重复收集41次获取任务列表的实战教程也可以访问 https://www.itying.com/category-93-b0.html
详细的java调用堆栈提供下
看下面的图
私聊发你了 记得看啊
[ { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type_”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:08”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:08”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:10”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:10”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:16”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:16”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:18”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:18”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:23”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:23”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:29”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:29”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:31”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:31”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:44:52”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:44:52”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 110 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:45:02”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:45:02”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stacktrace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “a”, “lineNumber”: 469 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “a”, “lineNumber”: 468 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 250 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: “com.android.internal.os.RuntimeInit$MethodAndArgsCaller”, “fileName”: “RuntimeInit.java”, “methodName”: “run”, “lineNumber”: 507 }, { “level”: 0, “className”: “com.android.internal.os.ZygoteInit”, “fileName”: “ZygoteInit.java”, “methodName”: “main”, “lineNumber”: 863 } ], “aliases”: “获取任务列表” } ] }, { “cmd”: “BEHAVIORDATA”, “top”: true, “sha1”: “e500a06cb6a66ceff73f5894dac9851381dcfd7a”, “type”: “TopActivity”, “functions”: “”, “problem”: “”, “rational”: “非必要”, “apply_permission”: “”, “personal_info”: “任务列表”, “permission”: “”, “sdk_name”: “DCloud”, “timestamp”: “2024-01-10 11:45:08”, “type”: “敏感行为”, “func_name”: “getRunningTasks”, “aliases”: “获取任务列表”, “type_aliases”: “获取任务列表”, “proof_detail”: [ { “timestamp”: “2024-01-10 11:45:08”, “cmd”: “BEHAVIORDATA”, “top”: true, “desc”: “DCloud通过getRunningTasks读取任务列表”, “sdk”: “DCloud”, “data”: { “params”: { “maxNum”: 1 }, “result”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “others”: “”, “uid”: 10075, “pid”: 3468 }, “content”: { “List<RunningTaskInfo>”: [ { “id”: 12, “baseActivity”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “uid”: “{cn.netinnet.integrated/io.dcloud.PandoraEntryActivity}”, “description”: “null”, “numActivities”: 1, “numRunning”: 1, “lastActiveTime”: 0 } ] }, “detail”: [], “level”: “”, “function”: “getRunningTasks”, “stack_trace”: [ { “level”: 0, “className”: “libcore.util.Janus”, “fileName”: “Janus.java”, “methodName”: “getData”, “lineNumber”: 898 }, { “level”: 0, “className”: “android.app.ActivityManager”, “fileName”: “ActivityManager.java”, “methodName”: “getRunningTasks”, “lineNumber”: 2003 }, { “level”: 0, “className”: “io.dcloud.common.util.RuningAcitvityUtil”, “methodName”: “getTopRuningActivity”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “a”, “lineNumber”: 469 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “a”, “lineNumber”: 468 }, { “level”: 0, “className”: “io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl”, “methodName”: “execute”, “lineNumber”: 250 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “a”, “lineNumber”: 141 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “b”, “lineNumber”: 3 }, { “level”: 0, “className”: “io.dcloud.g.b”, “methodName”: “processEvent”, “lineNumber”: 174 }, { “level”: 0, “className”: “io.dcloud.e.c.c”, “methodName”: “dispatchEvent”, “lineNumber”: 22 }, { “level”: 0, “className”: “io.dcloud.common.core.ui.l”, “methodName”: “processEvent”, “lineNumber”: 2 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView”, “methodName”: “exec”, “lineNumber”: 7 }, { “level”: 0, “className”: “io.dcloud.common.adapter.ui.AdaUniWebView$1”, “methodName”: “execute”, “lineNumber”: 5 }, { “level”: 0, “className”: “io.dcloud.common.adapter.util.MessageHandler$1”, “methodName”: “handleMessage”, “lineNumber”: 3 }, { “level”: 0, “className”: “android.os.Handler”, “fileName”: “Handler.java”, “methodName”: “dispatchMessage”, “lineNumber”: 110 }, { “level”: 0, “className”: “android.os.Looper”, “fileName”: “Looper.java”, “methodName”: “loop”, “lineNumber”: 193 }, { “level”: 0, “className”: “android.app.ActivityThread”, “fileName”: “ActivityThread.java”, “methodName”: “main”, “lineNumber”: 6762 }, { “level”: 0, “className”: “java.lang.reflect.Method”, “fileName”: “Method.java”, “methodName”: “invoke”, “lineNumber”: -2 }, { “level”: 0, “className”: "com.android.internal.os.RuntimeInit$Metho
辛苦您有空的时候帮忙看下我那个帖子问题吧?https://ask.dcloud.net.cn/question/186212
是在浏览器打印的这个吗
App 真机模拟的打印出来为null
在 uni-app 应用中,如果发现第三方 SDK(如 DCloud)多次重复收集信息,尤其是获取任务列表等操作,可能是由于以下原因导致的:
1. SDK 初始化或调用逻辑问题
- 原因:SDK 可能在每次页面加载、组件渲染或特定事件触发时重复初始化或调用。
- 解决方法:
- 检查 SDK 的初始化逻辑,确保只在应用启动时初始化一次。
- 使用单例模式或全局变量避免重复初始化。
2. 事件监听未正确移除
- 原因:如果 SDK 监听了某些事件(如页面生命周期、网络状态变化等),但在页面销毁或组件卸载时未正确移除监听器,可能导致重复触发。
- 解决方法:
- 在页面或组件的
onUnload或destroyed生命周期中移除事件监听。 - 确保事件监听器只绑定一次。
- 在页面或组件的
3. 任务列表获取逻辑问题
- 原因:可能是获取任务列表的逻辑被多次触发,例如在循环、定时器或频繁触发的回调函数中。
- 解决方法:
- 检查代码逻辑,避免在短时间内多次调用获取任务列表的接口。
- 使用防抖(debounce)或节流(throttle)技术限制调用频率。
4. SDK 自身问题
- 原因:某些第三方 SDK 可能存在设计缺陷,导致重复收集信息。
- 解决方法:
- 查看 SDK 的官方文档,确认是否支持配置或优化。
- 联系 SDK 提供方,反馈问题并寻求解决方案。
- 如果问题无法解决,考虑更换其他 SDK。
5. 调试与日志分析
- 原因:在开发或测试环境中,调试工具可能会多次触发某些逻辑。
- 解决方法:
- 使用日志或调试工具,跟踪 SDK 的调用次数和触发条件。
- 确认问题是否仅在开发环境中出现,还是生产环境中也存在。
6. 优化建议
- 全局管理 SDK:将 SDK 的调用逻辑封装到一个全局模块中,确保统一管理。
- 节流与防抖:对于频繁触发的操作,使用节流或防抖技术限制调用频率。
- 更新 SDK:确保使用的 SDK 是最新版本,可能已修复相关问题。
示例代码:防抖处理
let timer = null;
function getTaskList() {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
// 调用 SDK 获取任务列表的接口
sdk.getTaskList().then((res) => {
console.log('Task List:', res);
});
}, 500); // 500ms 内只触发一次
}

