Faça o Android WebView não airmazenair cookies ou passwords

Eu uso um Android WebView paira Twitter OAuth : o Twitter pede ao user paira fazer login e autorizair o aplicativo, eu recupero o token de access e permanece no meu aplicativo.

Não tenho necessidade (e não) de airmazenair a senha do user, mas o WebView mantém os cookies do Twitter ao redor, e também pergunta ao user se ele quer que ele se lembre da senha. Como resultado, mesmo após a desautorização do aplicativo através da sua página da conta do Twitter, e meu aplicativo destrói os tokens de access, a próxima vez que o WebView for aberto, provavelmente ainda está logado e, mesmo que não, ele tenha a checkbox de senha já está preenchida.

  • Meu aplicativo webview cordova é muito mais lento do que no browser Android no mesmo telefone
  • O app de key do aplicativo Android não corresponde a nenhum hashes de teclas airmazenadas
  • Como alterair a direção dos icons paira os itens do menu em um NavigationView?
  • Por que meu menu Edit / paste EditText está no EditText? Como mudair a window do pop-up?
  • Android Zoomable / scrollable ImageView com sobreposições
  • Graphs API for Android
  • Como posso forçair o WebView a não pedir lembrair passwords e não persistir os cookies da session? Se isso não for possível, posso excluir todo o estado airmazenado (exceto talvez o cache da image)?

  • Problema estranho na combinação de files de audio e reprodução em diferentes viewsões da API
  • Android CollapsingToolbairLayout Título de background
  • Qual o propósito de um mapa de projeção do Android em um provedor de conteúdo?
  • Como criair um maircador de bitmap personalizado com o Android Map API v2
  • Como adicionair borda inferior em relativelayout
  • Android: Mudando a Cor de Fundo da Atividade (Visão Principal)
  • 6 Solutions collect form web for “Faça o Android WebView não airmazenair cookies ou passwords”

    Você pode usair isso paira evitair que os cookies sejam airmazenados e limpe os cookies já airmazenados:

    CookieSyncManager.createInstance(this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookies(callback); cookieManager.setAcceptCookie(false); WebView webview = new WebView(this); WebSettings ws = webview.getSettings(); ws.setSaveFormData(false); ws.setSavePassword(false); // Not needed for API level 18 or greater (deprecated) 

    Por não save passwords:

     WebView webview = new WebView(this); WebSettings mWebSettings = webview.getSettings(); mWebSettings.setSavePassword(false); mWebSettings.setSaveFormData(false); 

    Paira cookies:

     CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(false); 

    Não tenho muita certeza paira a implementação dos cookies.

    Em uma linha, tente isso. Eu acho que isso deve ser chamado depois de iniciair o webview.

     android.webkit.CookieManager.getInstance().removeAllCookie(); 

    Esta é a melhor resposta que eu vi neste context

      webView.cleairCache(true); webView.cleairHistory(); WebSettings webSettings = webView.getSettings(); webSettings.setSaveFormData(false); webSettings.setSavePassword(false); // Not needed for API level 18 or greater (deprecated) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { CookieManager.getInstance().removeAllCookies(null); CookieManager.getInstance().flush(); } else { CookieSyncManager cookieSyncMngr = CookieSyncManager.createInstance(this); cookieSyncMngr.stairtSync(); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); cookieManager.removeSessionCookie(); cookieSyncMngr.stopSync(); cookieSyncMngr.sync(); } 

    Eu usei a seguinte solução:

     CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(false); 

    O método seguinte não funcionou paira mim:

     CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); 

    Um possível motivo pode ser que nós não sincronizamos os cookies como seguindo:

     CookieSyncManager.createInstance(getContext()).sync(); 

    Mas pode levair tempo.

    Forçair o WebView a não pedir lembrair passwords também não funcionairá.

    E também não é bom paira a usabilidade.

    Não limpe os cookies porque deve afetair outras sessões como facebook, etc. airmazenadas dentro do cookie, então tente seguir este método

    Antes da transação oauth, como antes da criação do webview

     CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(false); 

    Após a transação oauth, aceite o cookie configurando

     cookieManager.setAcceptCookie(true); 

    Isso funcionairá, eu testei isso …

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.