ANDROID: Sitzung zwischen Webview und httpclient teilen

Ich habe tatsächlich eine protokollierte Sitzung in meinem WebView. Aber ich benutze auch httpclient, um Daten aus dem Web zu senden und zu erhalten. Ich habe im Internet gesehen, dass es unmöglich ist, den Inhalt einer WebView abzurufen. Daher musste ich meinen httpclient verwenden, um Daten von einem Webservice abzurufen.

Das Problem ist, dass dieser Webservice Sitzungen verwendet ... und meine Sitzung sich in meinem WebView befindet, sodass der httpclient nicht über sie verfügt und ich nicht auf den Inhalt des Webservice zugreifen kann.

Ich sehe viele Beiträge zu diesem Problem, habe aber die Lösung nicht verstanden.

Das habe ich auf meiner onPageStarted gemacht:

CookieManager mgr = CookieManager.getInstance();
Log.i( "URL", url );
Log.i("Cookie",mgr.getCookie("mywebsite.com"));
String cookie_string = mgr.getCookie("mywebsite.com");
if(cookie_string.length() > 1) {                    
    Data.instance().getPref().edit().putString("cookie",cookie_string).commit();
}

Ich habe gesehen, dass ich diese Art von Dingen habe, also hoffe ich, dass diese auch die Sitzung einschließen: (Ich entferne die Nummer.)

__utma=......(number)......; 

__utmc=number;

__utmz=number.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); 

wt3_eid=%number%number; 

wt3_sid=%number

Dann weiß ich nicht, was ich tun soll, um dieses Cookie in meinem httpclient zu setzen. Ich versuche das ohne Erfolg:

HttpClient client = new DefaultHttpClient();
BasicCookieStore cookieStore = new BasicCookieStore();
String login_cookie_string = Data.instance().getPref().getString("cookie", "");
String[] cookie_parts = null;
if(login_cookie_string.length()> 0)
{

    //debug_view.setText(login_cookie_string);
    Log.d("COOKIE", login_cookie_string);
    cookie_parts = login_cookie_string.split(";");

    for(int t=0;t < cookie_parts.length;t++)
    {
        String[] cookieContent = cookie_parts[t].split("=");
        Cookie login_cookie = new BasicClientCookie(cookieContent[0],cookieContent[1]);
        ((BasicClientCookie) login_cookie).setDomain("mywebsite.com");
        cookieStore.addCookie(login_cookie);
    }

}
((AbstractHttpClient) client).setCookieStore(cookieStore);

Antworten auf die Frage(2)

Ihre Antwort auf die Frage