Example usage for android.webkit WebView postUrl

List of usage examples for android.webkit WebView postUrl

Introduction

In this page you can find the example usage for android.webkit WebView postUrl.

Prototype

public void postUrl(String url, byte[] postData) 

Source Link

Document

Loads the URL with postData using "POST" method into this WebView.

Usage

From source file:jp.mixi.android.sdk.MixiDialog.java

/**
 * ??????????????//from w w  w.  ja  v a 2  s.c  o m
 * 
 * @param url url
 * @param data 
 */
private void postUrl(final String url, final byte[] data) {
    mHandler.post(new Runnable() {

        @Override
        public void run() {
            WebView webView = (WebView) findViewById(R.id.webview);
            webView.postUrl(url, data);

        }
    });
}

From source file:com.facebook.react.views.webview.ReactWebViewManager.java

@ReactProp(name = "source")
public void setSource(WebView view, @Nullable ReadableMap source) {
    if (source != null) {
        if (source.hasKey("html")) {
            String html = source.getString("html");
            if (source.hasKey("baseUrl")) {
                view.loadDataWithBaseURL(source.getString("baseUrl"), html, HTML_MIME_TYPE, HTML_ENCODING,
                        null);//from   w ww.  j ava2s  .co m
            } else {
                view.loadData(html, HTML_MIME_TYPE, HTML_ENCODING);
            }
            return;
        }
        if (source.hasKey("uri")) {
            String url = source.getString("uri");
            String previousUrl = view.getUrl();
            if (previousUrl != null && previousUrl.equals(url)) {
                return;
            }
            if (source.hasKey("method")) {
                String method = source.getString("method");
                if (method.equals(HTTP_METHOD_POST)) {
                    byte[] postData = null;
                    if (source.hasKey("body")) {
                        String body = source.getString("body");
                        try {
                            postData = body.getBytes("UTF-8");
                        } catch (UnsupportedEncodingException e) {
                            postData = body.getBytes();
                        }
                    }
                    if (postData == null) {
                        postData = new byte[0];
                    }
                    view.postUrl(url, postData);
                    return;
                }
            }
            HashMap<String, String> headerMap = new HashMap<>();
            if (source.hasKey("headers")) {
                ReadableMap headers = source.getMap("headers");
                ReadableMapKeySetIterator iter = headers.keySetIterator();
                while (iter.hasNextKey()) {
                    String key = iter.nextKey();
                    if ("user-agent".equals(key.toLowerCase(Locale.ENGLISH))) {
                        if (view.getSettings() != null) {
                            view.getSettings().setUserAgentString(headers.getString(key));
                        }
                    } else {
                        headerMap.put(key, headers.getString(key));
                    }
                }
            }
            view.loadUrl(url, headerMap);
            return;
        }
    }
    view.loadUrl(BLANK_URL);
}