2013-06-21 46 views
20

làm cách nào để bật cookie trong chế độ xem web?Làm cách nào để bật cookie trong chế độ xem web trên Android?

tôi đã cố gắng để sử dụng

CookieManager.getInstance().setAcceptCookie(true); 

ngay trước khi gọi WebView.loadUrl() và nó không làm việc như tôi nhận được một lỗi trang html từ một trang web nói cookie cần phải được kích hoạt.

Điều tôi không hiểu là làm thế nào để CookieManager biết được chế độ xem web nào để bật cookie?

nói rằng nếu tôi có hoạt động với hai lần xem trên web trên màn hình và tôi chỉ muốn một trong những lượt xem web đó bật cookie, bạn có thể sử dụng CookieManager như thế nào?

tôi cảm thấy như tôi đang thiếu điều gì đó? tôi không thể tìm thấy một phương pháp như webView.setCookieManager hoặc Cookiemanager.setWebView (webview)

Cảm ơn

Trả lời

24

CookieManager.getInstance()CookieManager dụ cho toàn bộ ứng dụng của bạn. Do đó, bạn bật hoặc tắt cookie cho tất cả các lần xem trang web trong ứng dụng của bạn.

Thông thường nó sẽ có tác dụng nếu webview của bạn đã được khởi tạo: http://developer.android.com/reference/android/webkit/CookieManager.html#getInstance()

Có lẽ bạn gọi CookieManager.getInstance().setAcceptCookie(true); trước khi bạn khởi bạn webview và đây là vấn đề?

+1

cổ vũ. hoạt động ngay bây giờ sau khi thực thi mã sau khi tôi loadUrl – jonney

+0

Vấn đề của tôi là webview không gửi cookie đã tồn tại trong cửa hàng. Làm thế nào để bạn làm cho webview gửi cookie? Tôi đang khởi tạo chế độ xem web sau 'CookieManager.getInstance(). SetAcceptCookie (true); 'Tôi có thiếu gì đó không? – kalehv

1

Bạn nên cân nhắc rằng

CookieManager.getInstance().setAcceptCookie(true); 

không hoạt động từ kẹo (API21) trở lên. Bạn nên kiểm tra và sử dụng chức năng thích hợp cho trường hợp đó:

if (android.os.Build.VERSION.SDK_INT >= 21) { 
    CookieManager.getInstance().setAcceptThirdPartyCookies(mWebVIew, true); 
}else { 
    CookieManager.getInstance().setAcceptCookie(true); 
} 
Các vấn đề liên quan