我想记录历史记录网址或上次加载的网址,而无需手动存储历史记录网址。这可能吗?
答案 0 :(得分:33)
在文档中找到答案......
WebBackForwardList mWebBackForwardList = mWebView.copyBackForwardList();
String historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex()-1).getUrl();
答案 1 :(得分:0)
您可以通过在onPageFinished()中添加URL来维护访问过的URL的堆栈(列表),并在用户备份时将其删除。
即
private List<String> urls = new ArrayList<String>();
@Override
public final void onPageFinished(final WebView view,final String url) {
urls.add(0, url);
super.onPageFinished(view, url);
}
然后在活动中捕获后退键:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
if (urls.size() == 1) {
finish();
return true;
} else if (urls.size() > 1) {
urls.remove(0);
// load up the previous url
loadUrl(urls.get(0));
return true;
} else
return false;
default:
return super.onKeyDown(keyCode, event);
}
}