我的应用程序的一部分是在应用程序中打开浏览器并将用户发送到专用网页(我们称之为" FirstPage")。用户可以在那里导航网页。 这很好用,但是当用户在网页中并且应用程序被中断时(通过来电或按下保持按钮),浏览器状态不会被保存,当用户返回应用程序时,浏览器会自动打开& #34;第一页"而不是最后一页。
如何保存浏览器的状态,以便中断后上次看到的页面会出现?
非常感谢!
答案 0 :(得分:0)
如果在Android本机浏览器中加载了URL,那么我认为不可能收集它的最后一个URL和滚动位置。这可能会侵犯用户的隐私,因为用户可以在网上浏览,访问色情网站,然后你会在下次加载时存储该URL。
如果您使用的是 WebView
(docs),那么您可以将其封装在您的应用中。 computeVerticalScrollOffset()
和getURL()
等函数会收集该信息。
您可以将数据存储在Android Shared Preferences。
中如果您需要存储此信息并准备让应用随时结束,您可以尝试将其存储在Activity.onDestroy()
,Activity.onPause()
和Activity.onStop()
上。我不确定在应用程序关闭/暂停/停止期间您将有多少控制权来存储首选项,但是如果您无法建议您在检测到滚动位置或URL的更改时存储它。
检查this answer以获取有关如何收听WebView更改的提示。
最后,一旦存储数据,您只需在WebView重新初始化时使用存储的首选项。