Yêu cầu thg 10 5, 2018 6:18 SA 309 0 1
  • 309 0 1
0

Xóa Cookie trong android

Chia sẻ
  • 309 0 1

chào mọi người. Mình có 1 vấn đề mong mọi người chỉ giúp. Mình đang sử dụng CookieManager cua android.webkit để xóa cookie của android. Đây là đoạn code mình:

    public static void clearCookies(Context context) {
        @SuppressWarnings("unused")
        CookieSyncManager cookieSyncMngr =
                CookieSyncManager.createInstance(context);
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.removeAllCookie();
    }

Nhưng khi thực thi thì đoạn code này không thực hiện và show ra log: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.TracingController" on path: DexPathList[[zip file "/data/app/com.android.chrome-1/base.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-1/lib/arm64, /data/app/com.android.chrome-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /system/vendor/lib64, /product/lib64]]

Ai đã từng gặp lỗi này chỉ mình cách giải quyết với. Mình cảm ơn

thg 10 5, 2018 6:25 SA

bạn nên đưa phần code vào trong cặp dấu ```ten-ngon-ngu(android, java, ...) ``` để format code dễ nhìn hơn

thg 10 5, 2018 6:29 SA

@vuongthai95 cảm ơn bạn. Mình đã chỉnh lại 😦(

thg 10 5, 2018 6:32 SA

@ductuandt3 bạn thêm cả tên ngôn ngữ java bên cạnh dấu ``` đầu tiên đi bạn

1 CÂU TRẢ LỜI


Đã trả lời thg 10 5, 2018 2:03 CH
Đã được chấp nhận
+4

Bạn có thể cung cấp rõ thêm version hệ điều hành máy mà bạn test và trình duyệt trên máy của bạn (chrome , firefox,...) được không? Lỗi này mình đoán có thể do:

  • File build apk của bạn bị lỗi (cần rebuild lại thử xem sao) vì mình thấy có liên quan đến file dex on path: DexPathList
  • Chromium có vấn đề, vì webview trên một số máy Android nếu không support chromium có khả năng gây ra lỗi

Ngoài ra, CookieSyncManager đã bị deprecated, quá trình sync cookie đã được android làm tự động từ API >= 22, bạn nên viết lại đoạn code trên như sau:

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            CookieManager.getInstance().removeAllCookies(null)
            CookieManager.getInstance().flush()
        } else {
            val cookieSyncMngr = CookieSyncManager.createInstance(context)
            cookieSyncMngr.startSync()
            val cookieManager = CookieManager.getInstance()
            cookieManager.removeAllCookie()
            cookieManager.removeSessionCookie()
            cookieSyncMngr.stopSync()
            cookieSyncMngr.sync()
        }
Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí