4

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

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

4

2 回答 2

7

您可以使用 javascript WebAppInterface 来实现您想要的,如此处所示

主要概念是,您在 Activity 中创建一个 javascript 界面来保存您的 WebView。

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");

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

WebPayInterface.PaymentFinished(100, true);
于 2013-10-25T07:26:50.883 回答
-1

您可以Intent.putExtra()在导航时使用 Intents、Shared Preferences 和 Bundle。请阅读有关Shared PreferencesIntentsBundle的 Android 文档

于 2013-10-25T07:20:57.747 回答