Android - extrair cookies após o login no webview
Eu tenho um aplicativo que abre uma URL em um webview, o usuário deve, em seguida, fazer login em um site através da webview e recebe um cookie uma vez logado. Estou tendo problemas para obter cookies após o login.
O problema é que eu posso conseguir isso usando android.webkit.CookieManager, e saída de todos os cookies em uma única string.
No entanto, eu quero alcançá-lo usando o armazenamento de um cookie (como em java.net.CookieStore), então eu preciso estar usando java.net.CookieManager.
Eu estou usando o seguinte código dentro do onPageFinished () de um WebViewClient. Eu sei que o problema é abrir uma nova conexão, onde eu preciso estar recebendo o conteúdo da página atual. Eu apreciaria alguma ajuda, obrigado
@Override
public void onPageFinished(WebView view, String url){
Log.d(TAG, "Finished loading: " + url);
CookieSyncManager syncManager = CookieSyncManager.createInstance(Main.this);
syncManager.sync();
CookieManager manager = new CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(manager);
try {
URL blah = new URL(url);
HttpURLConnection con = (HttpURLConnection) blah.openConnection();
readStream(con.getInputStream()); // outputting html
}
catch (Exception e) {
}
CookieStore cookieJar = manager.getCookieStore();
List<HttpCookie> cookies = cookieJar.getCookies();
for (HttpCookie cookie: cookies) {
Log.d(TAG, "cookie name : "+cookie.getName().toString());
}
}