Android和H5相互调用

这篇博客探讨了如何在H5中调用App的功能,如设置页面标题,并展示了App如何将支付结果传递回H5。同时,文章详细说明了在遇到SSL错误时,尤其是在Debug模式下,如何处理和允许不安全的URL继续加载。
摘要由CSDN通过智能技术生成

h5调用app:

       webview.addJavascriptInterface(object : Object() {
       
            @JavascriptInterface
            fun setPageTitle(title: String) {
                runOnUiThread {
                    titleTv.text = title
                }
            }

        }, "appSdk")

app调用h5里的方法,把支付结果传给h5:


  fun payResult(resultStatus: String) {
        val jsMethod = "javascript:window.h5sdk.payResult('$resultStatus')"
        runOnUiThread {
            seckill_webview.evaluateJavascript(jsMethod, object : ValueCallback<String> {
                override fun onReceiveValue(p0: String?) {
                    //  这里返回JS的结果
                }
            })
        }
    }

想要支持不安全的url,使用 handler?.proceed()

     webView.webViewClient = object : WebViewClient() {

            override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
                super.onPageStarted(view, url, favicon)
                showLoadingDialog()
            }

            override fun onPageFinished(view: WebView?, url: String?) {
                super.onPageFinished(view, url)
                dismissDialog()
            }

            override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler?, error: SslError?) {
                if (BuildConfig.DEBUG) {
                    handler?.proceed()
                } else {
                    super.onReceivedSslError(view, handler, error)
                }
            }
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值