Сохранить Cookies Webview? - PullRequest
       9

Сохранить Cookies Webview?

4 голосов
/ 20 ноября 2011

Я пытаюсь заставить этот WebView for android code хранить сессионные куки, чтобы, когда приложение закрывается и пользователи запускают его снова, они могли оставаться в системе. Я очень новичок в этом, и я расстраиваюсь, пытаясь понять это,Что мне нужно изменить?Пожалуйста, будьте добры, поскольку я идиот, и, пожалуйста, будьте описательными, даже если вам придется отредактировать его для меня, если это будет проще для вас.

Я импортировал и CookieManager, и CookieSyncManager, но НЕ ИДЕИ, что делать дальше,Я прочитал всю документацию и потратил часы, пытаясь выяснить, как заставить его сохранять куки, чтобы пользователям больше не приходилось входить в систему, а я просто не могу понять ...

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;
    }

}}

1 Ответ

5 голосов
/ 19 января 2015

Вы можете использовать это с Websetting:

webView.getSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...