Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从WebView清除登录凭据?_Android_Cookies_Android Webview_Cache Control - Fatal编程技术网

Android 如何从WebView清除登录凭据?

Android 如何从WebView清除登录凭据?,android,cookies,android-webview,cache-control,Android,Cookies,Android Webview,Cache Control,我想清除应用程序数据,就像我可以从设置中清除一样。当我登录facebook或twitter时,我需要清除WebView中的登录信息,因为当我为以下每一项登录一次时,会自动使用相同的数据 我试试这个: 未工作,登录信息仍在浏览器中 我尝试重置应用程序: Intent i = getBaseContext().getPackageManager() .getLaunchIntentForPackage( getBaseContext().getPackageName()

我想清除应用程序数据,就像我可以从设置中清除一样。当我登录facebook或twitter时,我需要清除WebView中的登录信息,因为当我为以下每一项登录一次时,会自动使用相同的数据

我试试这个:

未工作,登录信息仍在浏览器中

我尝试重置应用程序:

Intent i = getBaseContext().getPackageManager()
             .getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

@覆盖
public void onPageStarted(WebView视图、字符串url、位图favicon){
view.clearCache(true);
如果(b){
Log.d(“WEBVIEW”、“onfinighed b true”);
Map noCacheHeaders=newhashmap(2);
noCacheHeaders.put(“Pragma”,“无缓存”);
noCacheHeaders.put(“缓存控制”、“无缓存”);
loadUrl(url,noCacheHeaders);
b=假;
}...

大多数条目都引用了链接中描述的第一种方法,但在我的情况下不起作用,有什么想法吗?

如何?

尝试清除浏览器cookie。登录凭据通常存储在浏览器cookie中,您可以通过调用

CookieManager.getInstance().removeAllCookie();
更新:

CookieManager.getInstance().removeAllCookie()在Android SDK 21(棒棒糖)中被弃用,取而代之的是CookieManager.getInstance().removeAllCookies(ValueCallback callback)。自2018年11月起,removeAllCookie()仍按规定工作。此外,在更新的方法removeAllCookies(ValueCallback callback callback)中,如果您不希望收到有关已删除cookie的通知,则回调函数可以为null。因此,使用它是安全的

CookieManager.getInstance().removeAllCookies(null)
作为CookieManager.getInstance().removeAllCookie()的直接替代品,用于在Android SDK 21之后定位设备

文档在这里

CookieManager.getInstance().removeAllCookie();
上述方法将解决问题,但此方法在API级别21中已被弃用,因此请改用removeAllCookies(ValueCallback)

此方法是异步的。如果提供了ValueCallback,则onReceiveValue()一旦操作完成,将在当前线程的循环器上调用。提供给回调的值指示是否删除了任何cookie。如果不需要知道操作何时完成或是否删除了任何cookie,则可以将null作为回调传递,在这种情况下,从具有拿出活套


ValueCallback:删除Cookie后执行的回调不起作用。

我在PageStart上执行,并在创建WebView时尝试。谢谢!解决我的问题:)谢谢..对我有效。几天以来一直在尝试解决这个问题。这真的很有帮助
CookieManager.getInstance().removeAllCookie();