android cookies webview synchronize

android - CookieSyncManager ahora está en desuso, ¿qué puedo usar en su lugar?



webview synchronize (1)

Estoy usando una cookie en mi aplicación que funciona bien en todos los navegadores, pero en el dispositivo Android, la cookie no se configura tan rápido como quería, toma un tiempo hasta que la cookie se guarda, lo mismo ocurre cuando elimino la cookie. ¿Hay algo que pueda hacer para que funcione mejor? Gracias de antemano por sus respuestas.

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


En Lollipop y más allá, el singleton CookieManager funciona bien por sí mismo. (Consulte el enlace - http://developer.android.com/reference/android/webkit/CookieManager.html ) sin embargo, antes de Lollipop también requería el uso de un método estático adicional de CookieSyncManager. El código a continuación funciona para mí en todas las versiones de Android al configurar las cookies en una vista web:

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