2

我已经实现了 webview saveState() restoreState() 逻辑来恢复 webview 的当前页面和历史记录,如下所示:

public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    ...

    if(savedInstanceState != null)
    {
        webView.restoreState(savedInstanceState);
    }
    else
    {
        webView.loadUrl(url);
    }
}

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);

    if(webView != null) webView.saveState(outState);
}

我正在通过在应用程序处于后台时通过 DDMS 终止应用程序进程来测试状态保存。

重新启动应用程序时,它在 2.x 设备上按预期工作,但在 4.x 设备上不正常。相反,我要么得到一个空白的 webview,要么奇怪的是,显示历史中的第一页。

有没有人遇到过 webview 的 4.x 特定问题?

4

1 回答 1

0

解决了这个问题。

Save/restore不是问题,原来问题出在我正在加载的特定 URL 上。他们在 3.0+ 中包含了一个与此错误相冲突的井号:问题详细信息

于 2012-06-14T14:38:52.793 回答