我正在尝试通过我的移动应用程序使用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表单上的特定字段中。
答案 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函数。