V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
qwwuyu
V2EX  ›  Android

app 上架 Vivo 失败 提示 Chromium 读取剪贴板内容 有了解的大佬吗

  •  
  •   qwwuyu · Jan 14, 2025 · 6149 views
    This topic created in 470 days ago, the information mentioned may be changed or developed.

    我司 APP 打开使用的 WebView 加载的本地 html 和链接服务器 html 展示隐私政策的.
    现在 Vivo 抓到以下代码,这个有办法屏蔽吗?
    最近上架 Vivo 是真的烦心,其它平台都行了,Vivo 已经连续失败 N 次了...

    java.lang.Exception
    	at android.content.ClipData.getItemAt(Native Method)
    	at org.chromium.ui.base.EventForwarder.d(chromium-TrichromeWebViewGoogle.apk-stable-410410683:10)
    	at Qr.onDragEvent(chromium-TrichromeWebViewGoogle.apk-stable-410410683:6)
    	at com.android.webview.chromium.WebViewChromium.onDragEvent(chromium-TrichromeWebViewGoogle.apk-stable-410410683:7)
    	at android.webkit.WebView.onDragEvent(WebView.java:2944)
    	at android.view.View.callDragEventHandler(View.java:25967)
    	at android.view.View.dispatchDragEvent(View.java:25955)
    	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1821)
    	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1803)
    	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1803)
    	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1803)
    	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1803)
    	at android.view.ViewRootImpl.handleDragEvent(ViewRootImpl.java:7202)
    	at android.view.ViewRootImpl.access$1600(ViewRootImpl.java:153)
    	at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4990)
    	at android.os.Handler.dispatchMessage(Handler.java:107)
    	at android.os.Looper.loop(Looper.java:230)
    	at android.app.ActivityThread.main(ActivityThread.java:8082)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:526)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
    
    14 replies    2025-01-14 14:26:42 +08:00
    MozzieW
        1
    MozzieW  
       Jan 14, 2025
    1. 找客服说明
    or
    2. 修改隐私协议,说明要使用剪切板权限
    qwwuyu
        2
    qwwuyu  
    OP
       Jan 14, 2025
    @MozzieW 第一条正在尝试,但是虽然是系统行为,估计也要 APP 买单,之前查出 WebView 获取定位信息,那个是可以 API 关闭的.
    第二条没办法,因为用的 WebView 加载的隐私政策,没同意之前就触发了系统剪切板行为
    paopjian
        3
    paopjian  
       Jan 14, 2025
    隐私政策改成图片显示? 又不需要选中, 直接展示一份渲染好的?
    lw0x1
        4
    lw0x1  
       Jan 14, 2025
    会不会是你代码哪里设置有问题,我做的 APP 基本都是这么干的,在 vivo 渠道没有触发过这个问题
    qwwuyu
        5
    qwwuyu  
    OP
       Jan 14, 2025
    @paopjian 这块内容多,有很多链接,本地链接到服务器的服务条款和隐私政策,隐私政策会依赖第三方 SDK,会提供 h5 链接,最后依旧避免不了使用 WebView.
    qwwuyu
        6
    qwwuyu  
    OP
       Jan 14, 2025
    @lw0x1 你那 WebView 加载隐私政策会调用 webSetting.setJavaScriptEnabled(true)吗?
    limiter
        7
    limiter  
       Jan 14, 2025   ❤️ 2
    qqbb
        8
    qqbb  
       Jan 14, 2025   ❤️ 2
    我遇到过,我办法是 hook 住 剪切板的复制和粘贴功能,直到隐私同意之后
    lw0x1
        9
    lw0x1  
       Jan 14, 2025   ❤️ 1
    @qwwuyu 会的,常规的 webSetting 都会设置,但是你这个情况猜不出来是什么原因,确实没遇到过这种,也没在 vivo 手机上复现出来
    dandycheung
        10
    dandycheung  
       Jan 14, 2025 via Android
    哈哈哈,vivo 很迷的。我曾经为了解决一个只有 vivo 手机上才会出现的 bug 而发版,结果除了 vivo 商店审核没过以外别的都过了。
    qwwuyu
        11
    qwwuyu  
    OP
       Jan 14, 2025
    @dandycheung 最近审核确实很迷,其它平台都过了,vivo 先提示获取 ssid 频繁,再提示隐私政策不对,最后全修复了又告诉我 WebView 获取剪切板,不一次性测完...
    ysy950803
        12
    ysy950803  
       Jan 14, 2025
    国内比 Google Play 还严格,真是不懂……
    pqlamz
        13
    pqlamz  
       Jan 14, 2025
    看堆栈,这估计是他自动化测试过程中,在你 app 的 webview 里触发了 drag&drop 的逻辑,然后走到了 chromium 的读取粘贴板的逻辑里。这应该是一个偶现的情况,你重新提审,他可能再跑自动化测试就触发不到这里了。或者你也可以试试看看有没有什么办法,禁止你的 webview 走 drag&drop 的逻辑
    pqlamz
        14
    pqlamz  
       Jan 14, 2025   ❤️ 1
    @pqlamz

    看代码,是走到了这里
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1500 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 16:52 · PVG 00:52 · LAX 09:52 · JFK 12:52
    ♥ Do have faith in what you're doing.