首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >保存Cookies?

保存Cookies?
EN

Stack Overflow用户
提问于 2011-11-20 04:14:14
回答 1查看 8.6K关注 0票数 4

我正在尝试让这个用于安卓代码的WebView保留会话cookie,这样当应用程序关闭而用户再次启动它时,他们可以保持登录状态。我在这方面是个新手,我在尝试弄清楚这一点时感到很沮丧。我需要改变什么?请好心,因为我是一个笨蛋,请描述,即使你必须为我编辑它,如果这对你来说更容易。

我导入了CookieManager和CookieSyncManager,但不知道下一步该做什么。我已经阅读了所有的文档,并花了几个小时试图弄清楚如何让它保存cookies,这样用户就不需要再次登录,我就是搞不明白……

代码语言:javascript
运行
复制
package com.template.WebViewTemplate;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;

public class WebViewTemplate extends Activity {
private WebView myWebView;
/** Called when the activity is first created. */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) { // Enables browsing to previous pages with the hardware back button
        myWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
} 

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    myWebView = (WebView) findViewById(R.id.webview); // Create an instance of WebView and set it to the layout component created with id webview in main.xml
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.loadUrl("http://zuneboards.com/forums/mgc_chatbox.php?do=view_chatbox"); // Specify the URL to load when the application starts
    //myWebView.loadUrl("file://sdcard/"); // Specify a local file to load when the application starts. Will only load file types WebView supports
    myWebView.setWebViewClient(new WebViewKeep());
    myWebView.setInitialScale(1); // Set the initial zoom scale
    myWebView.getSettings().setBuiltInZoomControls(true); // Initialize zoom controls for your WebView component
    myWebView.getSettings().setUseWideViewPort(true); // Initializes double-tap zoom control

}

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

}}

EN

回答 1

Stack Overflow用户

发布于 2015-01-19 16:01:05

您可以将其与Web设置一起使用:

代码语言:javascript
运行
复制
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

同时导入:

代码语言:javascript
运行
复制
import android.webkit.WebSettings;
import android.webkit.WebView;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8196956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档