Webview没有清除上一页Android
Posted
技术标签:
【中文标题】Webview没有清除上一页Android【英文标题】:Webview not clearing previous page Android 【发布时间】:2017-07-04 05:30:58 【问题描述】:我有一个 webView,它会在单击按钮时更改其加载 URL。 一切正常,除了加载的 url 似乎没有正确清除。
之前的 url 在 webview 中加载,并在新 url 出现之前显示。我尝试使用
webView.clearView()、
webView.clearHistory()、
webView.loadUrl("about:blank"),
webView.clearCache(true)
还尝试清除 cookie。但是没有什么能帮助正确清除 webview。
我也试过 webView.destroy();但是由于我无法加载下一个 url,webView 被完全破坏了。
请帮忙。
【问题讨论】:
【参考方案1】:这个命令对我有用
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();
【讨论】:
问题仍然存在。我试图加载一个手动输入到编辑文本中的 url。当我按下按钮时,网址会加载。但是在加载下一个 url 之前,第一个 webview 会在视图中停留一段时间。即使应用了您的技术,问题仍未解决。【参考方案2】:你的 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;
【讨论】:
不..我正在使用片段以上是关于Webview没有清除上一页Android的主要内容,如果未能解决你的问题,请参考以下文章
如果在 WebView 片段中按下后退按钮,如何返回上一页?
如果在 Fragment 的 WebView 中按下后退按钮,如何返回上一页?