我正在尝试加载网络(例如www.google.com),但网络视图会将下一条消息传递到控制台:
与http://google.com/上的资源相关联的cookie被设置为
SameSite=None
,但没有Secure
。 Chrome的未来版本 仅在标记了SameSite=None
的cookie时才投放Secure
。您可以在开发人员工具下查看Cookie 应用程序>存储> Cookies,并在以下位置查看更多详细信息 https://www.chromestatus.com/feature/5633521622188032。”,来源: https://www.google.com/
我不知道如何解决此问题。我正在执行下一个代码来加载网址,该如何解决?
private void initWebView(String url){
webViewTvWeakReference = new WeakReference<>(new WebView(getactivity()));
webViewTvWeakReference.get().setId(TV_WEB_VIEW_ID);
webViewTvWeakReference.get().setLayerType(View.LAYER_TYPE_HARDWARE,new Paint());
webViewTvWeakReference.get().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
webViewTvWeakReference.get().setBackgroundColor(ContextCompat.getcolor(getactivity(),R.color.lightBlueBackgroundColor));
webViewTvWeakReference.get().requestFocusFromTouch();
setUpWebSettings(webViewTvWeakReference.get());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLlipoP) {
CookieManager.getInstance().removeAllCookies(null);
}
Map<String,String> headers = new HashMap<>();
headers.put("Set-Cookie","HttpOnly;Secure;SameSite=Strict");
if (BuildConfig.DEBUG) {
webViewTvWeakReference.get().setWebViewClient(new WebViewClient() {
@Override
public void onReceivedSslError(WebView view,SslErrorHandler handler,SslError error) {
handler.proceed();
}
});
}
if(!url.isEmpty()){
webViewTvWeakReference.get().loadUrl(url,headers);
}else{
webViewTvWeakReference.get().loadUrl("about:blank",headers);
}
webViewTvWeakReference.get().pauseTimers(); // WebView timers consumes a lot off CPU
webViewTvWeakReference.get().resumeTimers(); // Pause and Resume timers fix this behaivour
}
我已将下一行添加到标题中,但仍然无法正常工作。
headers.put("Set-Cookie","HttpOnly;Secure;SameSite=Strict");
谢谢