开发者社区> 问答> 正文

阿里云验证码2.0 h5页面在安卓手机上 在左右滑动验证码的时候 会回退到上一页,怎么解决?

阿里云验证码2.0 h5页面在安卓手机上 在左右滑动验证码的时候 会回退到上一页,怎么解决?

展开
收起
三分钟热度的鱼 2024-01-24 18:59:41 242 0
2 条回答
写回答
取消 提交回答
  • 针对阿里云验证码2.0 H5页面在安卓手机上滑动验证码时触发页面回退到上一页的问题,可以尝试以解决办法:

    禁止Webview的默认滑动手势
    如果验证码是在Android App内的WebView中加载的H5页面,可能需要禁用WebView的水平滑动手势。在Android代码中设置WebView的属性,禁用或拦截横滑事件:

       webView.setWebViewClient(new WebViewClient() {
           @Override
           public boolean shouldOverrideTouchEvent(MotionEvent event) {
               return super.shouldOverrideTouchEvent(event) || !isSwipeEvent(event);
           }
    
           private boolean isSwipeEvent(MotionEvent event) {
               switch (event.getAction()) {
                   case MotionEvent.ACTION_MOVE:
                       float xDiff = Math.abs(event.getX() - startX);
                       float yDiff = Math.abs(event.getY() - startY);
                       return xDiff > SWIPE_THRESHOLD && xDiff > yDiff;
                   default:
                       return false;
               }
           }
       });
    
       // 设置WebSettings以禁用横向滚动
       WebSettings settings = webView.getSettings();
       settings.setScrollContainer(false);
       settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
    

    其中SWIPE_THRESHOLD是你定义的判断是否为横滑的手势阈值。

    2024-01-30 10:42:28
    赞同 展开评论 打赏
  • 关闭浏览器的滑动手势。如果你页面不需要左右滑动只需要上下滑动的话可以参考这个
    https://blog.csdn.net/qq_37028216/article/details/88310634 此回答整理自钉群“【客】验证码2.0接入咨询”

    2024-01-24 19:01:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载