无法清除Webview中的登录信息
unable to clear login information in Webview
我最近使用 webview 登录了 Microsoft WAAD 帐户,再次打开应用程序进行测试时,我没有看到 Microsoft 的登录页面,但是直接登录后我会被带到下一页。
我试过这些东西:
webView.clearCache(true);
webView.clearFormData();
webView.clearHistory();
webView.clearSslPreferences();
getApplicationContext().deleteDatabase("webview.db");
getApplicationContext().deleteDatabase("webviewCache.db");
getBaseContext().deleteDatabase("webview.db");
getBaseContext().deleteDatabase("webviewCache.db");
但是我的问题还没有解决。还有什么要做的吗?
此致。
你做的一切都很好,但你也需要删除 cookies
CookieSyncManager.createInstance(getActivity());
CookieManager cookieManager = CookieManager.getInstance();
if(Build.VERSION.SDK_INT >= 21) {
cookieManager.removeAllCookies(new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean aBoolean) {
}
});
}
else{
cookieManager.removeAllCookie();
}
这就是您将它们全部禁用的方法
CookieSyncManager.createInstance(getActivity());
CookieManager cookieManager = CookieManager.getInstance();
if(Build.VERSION.SDK_INT >= 21) {
cookieManager.removeAllCookies(new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean aBoolean) {
}
});
}
else{
cookieManager.removeAllCookie();
}
cookieManager.setAcceptCookie(false);
WebView webview = new WebView(getActivity());
WebSettings ws = webview.getSettings();
ws.setSaveFormData(false);
ws.setSavePassword(false); // Not needed for API level 18 or greater (deprecated)
我最近使用 webview 登录了 Microsoft WAAD 帐户,再次打开应用程序进行测试时,我没有看到 Microsoft 的登录页面,但是直接登录后我会被带到下一页。
我试过这些东西:
webView.clearCache(true);
webView.clearFormData();
webView.clearHistory();
webView.clearSslPreferences();
getApplicationContext().deleteDatabase("webview.db");
getApplicationContext().deleteDatabase("webviewCache.db");
getBaseContext().deleteDatabase("webview.db");
getBaseContext().deleteDatabase("webviewCache.db");
但是我的问题还没有解决。还有什么要做的吗?
此致。
你做的一切都很好,但你也需要删除 cookies
CookieSyncManager.createInstance(getActivity());
CookieManager cookieManager = CookieManager.getInstance();
if(Build.VERSION.SDK_INT >= 21) {
cookieManager.removeAllCookies(new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean aBoolean) {
}
});
}
else{
cookieManager.removeAllCookie();
}
这就是您将它们全部禁用的方法
CookieSyncManager.createInstance(getActivity());
CookieManager cookieManager = CookieManager.getInstance();
if(Build.VERSION.SDK_INT >= 21) {
cookieManager.removeAllCookies(new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean aBoolean) {
}
});
}
else{
cookieManager.removeAllCookie();
}
cookieManager.setAcceptCookie(false);
WebView webview = new WebView(getActivity());
WebSettings ws = webview.getSettings();
ws.setSaveFormData(false);
ws.setSavePassword(false); // Not needed for API level 18 or greater (deprecated)