1

我的应用程序的一部分是在应用程序中打开浏览器并将用户发送到专用网页(我们称之为“FirstPage”)。在那里,用户可以浏览网页。这很好用,但是当用户在网页中并且应用程序被中断(通过来电或按下保持按钮)时,浏览器状态不会保存,当用户返回应用程序时,浏览器会自动打开“ FirstPage”,而不是最后看到的页面。

如何保存浏览器的状态,以便在中断后显示最后看到的页面?

非常感谢!

4

1 回答 1

0

如果 URL 正在 Android 本机浏览器中加载,那么我认为不可能收集它的最后一个 URL 和滚动位置。无论如何,这可能会侵犯用户的隐私,因为用户可以浏览网络,例如访问色情网站,然后您会在他们下次加载时存储该 URL。

但是,如果您使用的是WebViewdocs),则可以,因为它已封装在您的应用程序中。函数喜欢computeVerticalScrollOffset()并且getURL()会收集这些信息。

您可以将数据存储在Android Shared Preferences中。

如果您需要存储此信息并为应用程序随时结束做好准备,您可以尝试将其存储在Activity.onDestroy(),Activity.onPause()Activity.onStop(). 我不确定在应用程序关闭/暂停/停止期间您必须存储多少控制权,但如果您无法控制,我建议您在检测到滚动位置或 URL 发生变化时存储它。

查看此答案以获取有关如何收听 WebView 更改的提示。

最后,一旦你存储了数据,你只需要在 WebView 重新初始化时使用存储的首选项。

于 2015-03-09T10:37:36.443 回答