gpt4 book ai didi

android - CookieSyncManager 现在已弃用,我可以使用什么来代替?

转载 作者:IT老高 更新时间:2023-10-28 23:23:14 30 4
gpt4 key购买 nike

我在我的应用程序中使用了一个 cookie,它在所有浏览器中都可以正常工作,但是在 android 设备中,cookie 的设置速度没有我想要的那么快,保存 cookie 需要一些时间,当我删除曲奇饼。我能做些什么来让它更好地工作吗?提前感谢您的回答。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true); // enable javascript

CookieManager.setAcceptFileSchemeCookies(true);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.acceptCookie();
String cookie = CookieManager.getInstance().getCookie("mylink");

final Activity activity = this;

webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
webview.loadUrl("mylink");

setContentView(webview);
}

最佳答案

在 Lollipop 及其他平台上,CookieManager 单例本身可以正常工作。 (引用链接 - http://developer.android.com/reference/android/webkit/CookieManager.html)然而,在 Lollipop 之前,它还需要使用来自 CookieSyncManager 的附加静态方法。在 WebView 上设置 cookie 时,以下代码适用于所有 Android 版本 -

CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
CookieSyncManager.createInstance(this);
}
cookieManager.setAcceptCookie(true);

关于android - CookieSyncManager 现在已弃用,我可以使用什么来代替?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502411/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com