[英]How to store cookies in an Android WebView?
目前,我正在尝试将Cookie存储在我的android应用中。 我的应用正在使用android webview加载网页。 该活动如下。
但是,我需要帮助将Cookie存储在我的应用程序中。 我正在加载的网页正在使用setcookie()
函数通过php创建cookie。 它在常规浏览器中可以正常工作,但是我是新手应用开发人员,因此在我的Android WebView中不起作用。
我需要您的帮助,以使用php存储Cookie(在已加载的网页上)。
附言:我希望cookie能够永远持续下去(如果可能的话)。
package com.stuff;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Let's display the progress in the activity title bar, like the
// browser app does.
getWindow().requestFeature(Window.FEATURE_PROGRESS);
WebView webview = new WebView(this);
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
final Activity activity = this;
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// The progress meter will automatically disappear when we reach 100%
activity.setProgress(progress * 1000);
}
});
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
//Users will be notified in case there's an error (i.e. no internet connection)
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});
//This will load the webpage that we want to see
webview.loadUrl("http://www.need-cookies.com/");
}
}
看一下CookieSyncManager类,基本上可以做到这一点:
CookieSyncManager syncManager = CookieSyncManager.createInstance(webView.getContext());
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setCookie(); // Here your cookie
syncManager.sync();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.