【问题标题】:Read & Store cookies created in WebView读取和存储在 WebView 中创建的 cookie
【发布时间】:2012-03-28 10:14:48
【问题描述】:

我有一个 Android 应用程序,它基本上使用 WebView 进行所有交互..

我如何访问(读取)在 WebView 中创建的 Cookie(如果有人登录),然后将它们存储在某个地方,可能在 SharedPreferences 中,以便以后我可以使用它们。

例如..退出应用程序..我可以说“谢谢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();
}

}

【问题讨论】:

  • 问题已修改..plz chk now

标签: java android cookies webview


【解决方案1】:

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

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

【讨论】:

  • 您正在使用 CookieSyncManager - 这是不同的,不会做您想要的。您需要改用 CookieManager。
  • 我如何知道哪个 webview 附加到当前的 CookieManager 实例?
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 2011-06-17
  • 2019-09-20
相关资源
最近更新 更多