在Android WebView中设置cookie

时间:2017-11-06 08:39:52

标签: android cookies android-webview

我知道有很多与此主题相关的问题,但没有一个问题对我有用。

我有String,其中包含key=value; key=value; ...形式的一些Cookie。 我的应用:

public class MainActivity extends AppCompatActivity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webView = new WebView(this);
        setContentView(webView);

        configWebView();
        loadCookies();
   }

    @SuppressLint("SetJavaScriptEnabled")
    void configWebView() {
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
                 Map<String, String> requestHeaders = request.getRequestHeaders();
                 return super.shouldInterceptRequest(view, request);
            }
        });
    }

    void loadCookies() {
        // Do things
        loadPage(cookies);
    }

    void loadPage(String cookies) {
        CookieManager cookieManager = CookieManager.getInstance();

        for (String cookie : cookies.split(";")) {
            cookieManager.setCookie(DOMAIN, cookie.trim());
        }
        cookieManager.flush();

        webView.loadPage(URL);
    }
}

我没有看到我期待的结果,如果我检查requestHeaders的内容,我发现没有Cookie传递给服务器。 我错过了什么?

0 个答案:

没有答案