要在Android WebView应用程序中保存Cookies,可以使用CookieManager类的setAcceptCookie和setCookie方法。以下是一个代码示例:
// 在WebView加载URL之前启用Cookie管理
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
// 设置Cookie
String cookie = "name=value; domain=example.com";
cookieManager.setCookie(url, cookie);
// 加载URL
webView.loadUrl(url);
这段代码中,首先获取CookieManager的实例,并通过调用setAcceptCookie(true)方法启用Cookie管理。然后,使用setCookie方法设置要保存的Cookie,其中cookie是一个字符串,包含要保存的Cookie的名称、值和其他属性,例如域名。最后,通过调用webView的loadUrl方法加载URL。
请注意,从Android 5.0(API级别 21)开始,WebView默认禁用了Cookie的保存。如果您的应用程序的目标API级别在21或更高级别,请确保在使用WebView之前启用Cookie管理。您可以在应用程序的Application类的onCreate方法中添加以下代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
} else {
CookieManager.getInstance().setAcceptCookie(true);
}
这将根据设备的API级别选择正确的方法启用Cookie管理。