我有一个webView,它会在按钮点击时更改其加载URL。 一切正常,除了加载的URL似乎没有正确清除。
之前的网址已加载到网页视图中,并在新网址出现之前显示。我尝试使用
webView.clearView(),
webView.clearHistory(),
webView.loadUrl("关于:空白&#34),
webView.clearCache(真)
并尝试清除Cookie。但没有什么能帮助清理webview。
我也试过webView.destroy();但是webView被完全破坏,因为我无法加载下一个url。
请帮忙。
答案 0 :(得分:0)
此订单对我有用
mWebView.clearCache(true);
mWebView.clearHistory();
clearCookies(this); // Activity context
@SuppressWarnings("deprecation")
private void clearCookies(Context context)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().flush();
} else
{
CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(context);
cookieSyncMngr.startSync();
CookieManager cookieManager=CookieManager.getInstance();
cookieManager.removeAllCookie();
cookieManager.removeSessionCookie();
cookieSyncMngr.stopSync();
cookieSyncMngr.sync();
}
}
答案 1 :(得分:0)
您的MainActivity.java中是否有此功能?
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mailto:") || url.startsWith("mms:") || url.startsWith("mmsto:") || url.startsWith("market:")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
else {
view.loadUrl(url);
return true;
}
}
}