2015-05-28 36 views
14

Tôi đang sử dụng cookie trong ứng dụng hoạt động tốt trong tất cả các trình duyệt, nhưng trong thiết bị Android, cookie không được cài đặt nhanh như tôi muốn, sẽ mất chút thời gian cho đến khi cookie được lưu, điều tương tự cũng xảy ra khi tôi xóa cookie . Có điều gì tôi có thể làm để làm cho nó hoạt động tốt hơn không? Cảm ơn trước vì câu trả lời của bạn.CookieSyncManager hiện không còn được dùng nữa, tôi có thể sử dụng cái nào?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    webview = new WebView(this); 
    webview.getSettings().setJavaScriptEnabled(true); // enable javascript 

    CookieManager.setAcceptFileSchemeCookies(true); 
    CookieManager cookieManager = CookieManager.getInstance(); 
    cookieManager.setAcceptCookie(true); 
    cookieManager.acceptCookie(); 
    String cookie = CookieManager.getInstance().getCookie("mylink"); 

    final Activity activity = this; 

    webview.setWebViewClient(new WebViewClient() { 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      Toast.makeText(activity, description, Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    webview.loadUrl("mylink"); 

    setContentView(webview); 
} 

Trả lời

15

Trên Lollipop và hơn thế nữa, CookieManager singleton hoạt động tốt. (Tham khảo Liên kết - http://developer.android.com/reference/android/webkit/CookieManager.html) tuy nhiên, trước Lollipop, nó cũng yêu cầu sử dụng phương thức tĩnh bổ sung từ CookieSyncManager. Mã bên dưới hoạt động cho tôi trên tất cả các phiên bản Android khi đặt cookie trên WebView -

CookieManager cookieManager = CookieManager.getInstance(); 
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { 
    CookieSyncManager.createInstance(this); 
} 
cookieManager.setAcceptCookie(true); 
+0

Tôi sẽ đánh giá cao cách bạn lưu cookie để sử dụng lại nếu ứng dụng bị đóng (Tạo cookie có sẵn cho toàn bộ ứng dụng)? Tôi đang tải một trang đăng nhập trên webview và mỗi lần nếu ứng dụng gần tôi phải đăng nhập lại! – user1788736

Các vấn đề liên quan