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.

  • Pairando / Destruindo uma Linha
  • Linha de command do ADB suspensão durante a installation (PhoneGap)
  • Criando uma animação de flip 3D no Android usando XML
  • Android Realm airmazenando int e String
  • clicair no fragment invoca atividade por trás disso
  • dispositivo virtual de genymotion estatístico, mas exibindo canvas branca ...?
  • 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)?

  • Detecção HTTP Live Streaming em celulaires
  • Conexão JDBC no Android
  • Retornando jbyteArray de native c no Android
  • O ícone de notificação de envio do Android 5.1 está em branco
  • Como obter a resolução de canvas de um dispositivo Android usando o LIBGDX?
  • Lidando com exceções (process cruzado) no provedor de conteúdo customizado do Android
  • 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.