我的应用程序中有一个WebView
显示从网页下载的 HTML 数据。为什么我要加载 HTML 而不是单独加载 URL?好吧,为了让我允许离线搜索,我下载了 HTML 数据并将其存储在 SQL 数据库中。
一切运行良好,后续调用运行loadDataWithBaseUrl()
良好,并继续在 my 上正确加载WebView
,但每当用户按下后退键时,用户只是被带回堆栈上的最后一个活动,而不是返回。
我尝试使用以下代码:
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack();
return true;
}
但是后来我尝试通过以下方式强制WebView
返回,而不检查它是否可以:
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
myWebView.goBack();
return true;
}
但什么也没发生,它只是停留在同一个地方。
作为一个仅供参考,我已经尝试null
在调用时传递一个实际的 URL loadData()
,这就是我现在设置它的方式:
view.loadDataWithBaseURL(mUrl, mHtmlData, SearchUtils.MIME_TYPE, SearchUtils.CHARSET, "");
我读了这个答案,但我希望好运。