是否可以使用webview将数据从应用程序传递到Web表单?

时间:2017-08-08 01:06:04

标签: javascript android webview

我正在尝试通过我的移动应用程序使用Javascript注入将数据从应用程序传递到我的webview的字段。我有一个网站表单,其中包含名称,电子邮件等字段。名称和电子邮件以及所有其他信息都在我的原生移动应用程序中。我想将相关信息传递给相应的Web表单字段。这可能吗?以下是我的尝试。

        wv = (WebView) mRootView.findViewById(R.id.wv_help);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView view, String url) {
                // do nothing
            }

            @SuppressWarnings("deprecation")
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                // do nothing
            }

            @TargetApi(android.os.Build.VERSION_CODES.M)
            @Override
            public void onReceivedError(WebView view, @NonNull WebResourceRequest req, @NonNull WebResourceError err) {
                // do nothing
            }
        });

        String htmlValue = "<html xmlns=\"https://my_web_form.com\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><title>Lorem Ipsum</title></head><body style=\"width:300px; color: #00000; \"><p><strong> About us</strong> </p><p><strong> Lorem Ipsum</strong> is simply dummy text</p></body></html>";
        wv.loadDataWithBaseURL("https://my_web_form.com", htmlValue, "text/html; charset=utf-8", "UTF-8", "");

上述代码的结果是带有元数据的空白屏幕。我希望能够将元数据文本添加到我的Web表单上的特定字段中。

2 个答案:

答案 0 :(得分:1)

WebView具有postUrl功能。

WebView webview = new WebView(this);
setContentView(webview);
String url = "http://www.example.com";
String postData = "Your Post data here";
webview.postUrl(url,postData.getBytes());

答案 1 :(得分:0)

是的,可以使用postUrl函数。