2012-03-28 95 views
2

我有一個Android應用程序基本上是採用的WebView所有互動..讀取和存儲cookie

如何訪問(讀取),它在web視圖創建的Cookie(如果有人登錄)和比將它們存儲在某個地方,也許放在SharedPreferences中,以便以後我可以使用它們。

例如..上退出應用程序。我可以說 「謝謝Mr.XYZ,做ü真的要退出」

這裏是我的代碼...

package com.example.hellowebview; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.webkit.CookieSyncManager; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class HelloWebView extends Activity { 
WebView webview; 

private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    public void onPageFinished(WebView view, String url) { 
     CookieSyncManager.getInstance().sync(); 
    } 

} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    webview = (WebView) findViewById(R.id.webview); 
    webview.setWebViewClient(new HelloWebViewClient(

    )); 

    webview.getSettings().setJavaScriptEnabled(true); 
    webview.loadUrl("http://www.mysite.com/mobile"); 
} 

public void onBackPressed() { 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setMessage("Thank <<Name Cookie value from Webview >>>,do u really want to quit?") 
      .setCancelable(false) 
      .setPositiveButton("Yes", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          finish(); 
         } 
        }) 
      .setNegativeButton("No", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        dialog.cancel(); 
       } 
      }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
} 

}

+1

你的問題是? – CommonsWare 2012-03-28 11:24:24

+0

問題修改..plz chk現在 – 2012-03-28 12:25:16

回答

1

要使用WebView cookie,您可以使用CookieManager,它爲您提供了一些getter和setter方法。

http://developer.android.com/reference/android/webkit/CookieManager.html

+0

你可以看看上面的代碼..plz – 2012-03-28 12:25:46

+0

你使用CookieSyncManager - 這是不同的,並沒有做你想做的。您需要改用CookieManager。 – wattostudios 2012-03-28 12:27:44

+2

我如何知道哪個webview連接到當前的CookieManager實例? – jonney 2013-06-20 16:19:48