gpt4 book ai didi

android - 如何清除WebAppInterface中的所有历史Webview

转载 作者:行者123 更新时间:2023-11-29 15:37:03 25 4
gpt4 key购买 nike

我尝试清除 WebAppInterface 的 WebView 中的所有历史记录,但它并不清楚。

代码:-

    wvList = (WebView) view.findViewById(R.id.wv);
wvList .setHorizontalScrollBarEnabled(false);
wvList .getSettings().setJavaScriptEnabled(true);
wvList .getSettings().setDomStorageEnabled(true);
wvList .addJavascriptInterface(new WebAppInterface(mContext), "Android");
wvList .setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return false;
}
});



public class WebAppInterface {
Context mContext;

/**
* Instantiate the interface and set the context
*/
WebAppInterface(Context cxt) {
mContext = cxt;
}

/**
* Show a SnackBar from the web page
*/
@JavascriptInterface
public void showMessage(String msg) {
wvList .post(new Runnable() {
@Override
public void run() {
wvList .clearHistory();// Not working
wvList .loadURL(url.toString);
}
});
}
}

只有在 showMessage 中我想清除 webview 的所有历史记录,这样在返回时它不会转到上一页。

最佳答案

尝试在 WebViewClient 中覆盖此函数

@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
super.doUpdateVisitedHistory(view, url, isReload);
if (needClearHistory) {
needClearHistory = false;
webview.clearHistory();
}
}

关于android - 如何清除WebAppInterface中的所有历史Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47629926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com