Привет, не уверен, что я спрашиваю, потому что раньше я не работал с куки. В моем приложении я открываю WebView, и мы отправляем некоторые данные, и я хочу сохранить cookie, таким образом, когда я закрываю WebView (также закрываем приложение) и снова открываю его, использует сохраненный cookie.
Я не слишком уверен, что мой код делает в настоящее время, поскольку я следовал за примерами.
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
ProgressBar progressBar = (ProgressBar)
findViewById(R.id.progress_bar);
progressBar.setIndeterminate(true);
progressBar.setVisibility(View.VISIBLE);
super.onPageStarted(view, url, favicon);
String cookieStr = CookieManager.getInstance().getCookie(url);
try {
storeCookies(url, cookieStr);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
private void storeCookies(String url, String cookieString) throws URISyntaxException {
if (cookieString !=null && !cookieString.isEmpty()) {
URI uri = new URI(url);
List<HttpCookie> cookies = HttpCookie.parse(cookieString);
for (HttpCookie cookie : cookies) {
cookieStore = new CookieStore() {
@Override
public void add(URI uri, HttpCookie cookie) {
cookieStore.add(uri, cookie);
}
@Override
public List<HttpCookie> get(URI uri) {
return null;
}
@Override
public List<HttpCookie> getCookies() {
return null;
}
@Override
public List<URI> getURIs() {
return null;
}
@Override
public boolean remove(URI uri, HttpCookie cookie) {
return false;
}
@Override
public boolean removeAll() {
return false;
}
};
}
}
}
public void onPageFinished(WebView view, String url) {
ProgressBar progressBar = (ProgressBar)findViewById(R.id.progress_bar);
progressBar.setVisibility(View.GONE);
setURL(url);
}
});
}