Получить последний загруженный URL-адрес веб-просмотра, не делая webView.goBack () в Android - PullRequest
9 голосов
/ 13 октября 2011

Я хочу записать URL-адрес истории или последний загруженный URL-адрес без сохранения URL-адресов истории.Это возможно?

Ответы [ 2 ]

33 голосов
/ 14 октября 2011

Нашел ответ в документах ...

WebBackForwardList mWebBackForwardList = mWebView.copyBackForwardList();
String historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex()-1).getUrl();
0 голосов
/ 13 октября 2011

Вы можете поддерживать стек (список) посещенных URL-адресов, добавляя их в onPageFinished () и удаляя их при резервном копировании пользователя.

т.е.

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);
    }
}
...