2012-03-28 4 views
2

У меня есть приложение для Android, которая в основном использует WebView для всех взаимодействий ..Чтение и Магазин печенье, созданные в WebView

Как я могу получить доступ (чтение) Куки, которые создаются в WebView (если кто-то входит в) и чем храните их где-нибудь, возможно, в 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

+0

Вопрос изменен ..plz chk сейчас –

ответ

1

Для работы с cookies WebView вы можете использовать CookieManager, у которого есть некоторые методы получения и настройки.

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

+0

можно посмотреть на код выше..plz –

+0

Вы используете CookieSyncManager - это другое, и вы не делаете то, что хотите. Вместо этого вам нужно использовать CookieManager. – wattostudios

+2

Как узнать, какой веб-просмотр прикреплен к текущему экземпляру CookieManager? – jonney

Смежные вопросы