Android活动到WebView和WebView到活动参数传递

Jig*_*kep 2 android webview android-activity

我有一个应用程序,活动与我们的服务器通信,并获得未完成的金额详细信息.我希望用户使用支付网关支付未付金额.对于Payment Gateway,我必须从webview调用网页,并将未完成的金额详细信息和其他凭据从活动转移到webview中加载的页面.在交易结束时,我再次需要从webview中的网页返回一些参数到活动.

这是我想在活动和webview中加载的页面之间实现的双向通信.我试图找到一种方法来做到这一点,但找不到一个简单的例子进行这种交换.

lin*_*kis 6

你可以达到你想要使用的是什么一个JavaScript WebAppInterface作为证明这里.

主要的概念是,在包含WebView的Activity中创建一个javascript接口.

private class WebPayInterface {
    int amount;
    boolean success;

    @JavascriptInterface
    public void PaymentFinished(int amount, boolean success) {
        this.amount = amount;
        this.success = success;

        // do whatever you want in the parent activity.
    }
}
Run Code Online (Sandbox Code Playgroud)

将界面添加到webView

webView.addJavascriptInterface(new WebPayInterface(), "WebPayInterface");
Run Code Online (Sandbox Code Playgroud)

最后在你的html代码中使用javascript你可以调用

WebPayInterface.PaymentFinished(100, true);
Run Code Online (Sandbox Code Playgroud)