app内嵌WebView调用H5支付/授权点击按钮无反应之解决方案

简介: 说明      针对目前商户反馈如下问题1、app内嵌WebView,用户手机安装了支付宝客户端支付流程没有问题,没有安装支付宝客户端,部分机型调起支付宝h5页面支付,在输入完账号和密码后,点击"下一步"没有反应。

说明

     针对目前商户反馈如下问题

1、app内嵌WebView,用户手机安装了支付宝客户端支付流程没有问题,没有安装支付宝客户端,部分机型调起支付宝h5页面支付,在输入完账号和密码后,点击"下一步"没有反应。点击返回弹出"是否退出"对话框,点击"是"没有反应,页面不关闭等现象。

2、支付宝输入密码支付后停留在"付款结果页" ,并且显示"支付确认中请稍后",debug没有收到任何回调消息等场景

常见机型:红米note1、小米M6、三星s4~s8、oppo R9m、vivo x3v~x7等

报错截图

原因

    1、开启硬件加速同时windowbackground为null

    2、调用了mWebView.pauseTimers()

    3、跳转js被拦截

解决方案

方案一:                                                                                                                  

1).针对支付宝支付\授权的Activity设置`android:hardwareAccelerated="false"

2).windowbackground设置一个颜色,使用transparent也可以

代码示例

<activity
            android:name="com.alipay.sdk.app.H5PayActivity"
            android:hardwareAccelerated="false"
            android:configChanges="orientation|keyboardHidden|navigation|screenSize"
            android:exported="false"
            android:screenOrientation="behind"
            android:windowSoftInputMode="adjustResize|stateHidden" >
activity>
<activity
            android:name="com.alipay.sdk.app.H5AuthActivity"
             android:hardwareAccelerated="false"
            android:configChanges="orientation|keyboardHidden|navigation"
            android:exported="false"
            android:screenOrientation="behind"
            android:windowSoftInputMode="adjustResize|stateHidden" >
activity>

方案二:

pauseTimers是一个全局方法,会停止所有js的执行,所以方法有以下两种,任取其一:

1).不要使用pauseTimers()

2).在进入支付功能前,调用resumeTimers()


目录
相关文章
|
5天前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
54 3
|
2月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
86 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
2月前
|
开发工具 Android开发
|
2月前
|
移动开发 前端开发 JavaScript
|
2月前
|
存储 前端开发 Java
|
3月前
|
存储 移动开发 Android开发
使用kotlin Jetpack Compose框架开发安卓app, webview中h5如何访问手机存储上传文件
在Kotlin和Jetpack Compose中,集成WebView以支持HTML5页面访问手机存储及上传音频文件涉及关键步骤:1) 添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,考虑Android 11的分区存储;2) 配置WebView允许JavaScript和文件访问,启用`javaScriptEnabled`、`allowFileAccess`等设置;3) HTML5页面使用`<input type="file">`让用户选择文件,利用File API;
|
2月前
|
移动开发 JavaScript 开发工具
微信浏览器内 h5 直接唤醒 app 之 微信开放标签 wx-open-launch-app
微信浏览器内 h5 直接唤醒 app 之 微信开放标签 wx-open-launch-app
|
5天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
78 7
|
5天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
59 1
|
5天前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
31 9