为Android WebView启用第三方Cookie

Tar*_*run 3 cookies android webview android-webview

我在使用旧API版本时遇到了一些问题。某些网站的某些链接没有响应,因为它们具有必须启用第三方cookie才能进行webview的前提。我对主题进行了一些搜索,发现了一个API:

CookieManager.getInstance()。acceptThirdPartyCookies();

它可以解决我的问题并启用第三方Cookie,但最低API级别为21。我需要支持较低的API级别(低至15)。有什么方法可以在较低的API中执行相同的操作。

[请注意API:CookieManager.getInstance()。setAcceptCookie(true); 是用于启用cookie而不是第三方cookie,因此它不起作用... :-(]

Tar*_*run 5

我发现一个答案想分享。在低于LOLLIPOP(包括LOLLIPOP)中,默认情况下启用第三方cookie。在比LOLLIPOP更高的API级别中,我们需要显式设置第三方Cookie,因此我在代码中添加了以下内容(最低API 16):

    if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
        Log.d(AppConstants.TAG,"SDk version above android L so forcibaly enabling ThirdPartyCookies");
        CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView,true);
    }
Run Code Online (Sandbox Code Playgroud)

但是,它显示了编译时错误。它不会停止构建,并且在我们需要强制设置第三方cookie的更高的API级别中,此代码可以解决问题。