2015-05-28 12 views
14

Sto utilizzando un cookie nella mia app che funziona bene in tutti i browser, ma nel dispositivo Android il cookie non è impostato velocemente come volevo, ci vuole del tempo prima che il cookie venga salvato, lo stesso accade quando cancello il cookie . C'è qualcosa che posso fare per farlo funzionare meglio? Grazie in anticipo per le tue risposte.CookieSyncManager è ora obsoleto, cosa posso invece utilizzare?

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

risposta

15

Su Lollipop e oltre, il singleton CookieManager funziona bene da solo. (Refer Link - http://developer.android.com/reference/android/webkit/CookieManager.html) tuttavia, prima di Lollipop, richiedeva anche l'uso di un metodo statico aggiuntivo da CookieSyncManager. Il seguente codice funziona per me su tutte le versioni di Android quando si impostano i biscotti su una WebView -

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

sarei grato se mi dici come salvare i cookie per il riutilizzo se l'applicazione è chiusa (Fai il cookie a disposizione per l'intera applicazione)? Sto caricando una pagina di accesso su Webview e ogni volta che l'app è chiusa devo effettuare il login! – user1788736

Problemi correlati