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

时间:2013-10-25 07:09:44

标签: android android-activity webview

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

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

2 个答案:

答案 0 :(得分:6)

您可以使用javascript WebAppInterface实现您想要的功能,如演示here

主要概念是,在包含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.
    }
}

将界面添加到您的webView

webView.addJavascriptInterface(new WebPayInterface(), "WebPayInterface");

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

WebPayInterface.PaymentFinished(100, true);

答案 1 :(得分:-1)

您可以在使用Intents,Shared Preferences和Bundle进行导航时使用Intent.putExtra()。请阅读Shared PreferencesIntentsBundle

的Android文档