其他分享
首页 > 其他分享> > 为Android WebView启用第三方Cookie

为Android WebView启用第三方Cookie

作者:互联网

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

CookieManager.getInstance().acceptThirdPartyCookies();

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

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

解决方法:

我发现一个答案想分享.在低于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);
    }

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

标签:cookies,webview,android-webview,android
来源: https://codeday.me/bug/20191119/2033359.html