Android WebView保存应用程序状态

时间:2017-10-05 01:23:40

标签: android android-activity webview

我尝试制作Android应用程序主要是通过WebView显示的内容。 我希望它在onStart期间加载最新的应用状态:

  • 从存储中加载状态(SharedPreferences为特定的)
  • 通过evaluateJavascript
  • 将状态发送到网页

我想在onStop期间保存应用状态:

  • 通过evaluateJavascript
  • 向网页询问当前的应用状态
  • 网页通过addJavascriptInterface
  • 发回应用状态
  • 希望在某些时候,Android会将该状态保存到存储(返回SharedPreferences

这样,如果我的应用程序进程死亡(无论出于何种原因),通常会保存最新的应用程序状态。

但是,似乎首次调用onStart时(应用加载时),网页很可能尚未加载。 因此,我似乎需要跟踪网页是否已通过WebViewClient.onPageFinished加载,然后执行一些复杂的操作,例如

  • 将应用状态发送到onPageFinished
  • 内的网页 无论页面是否已加载,
  • onStart / onStop的行为都不相同。

对于一个常见的场景,这似乎很多工作,我想知道是否有替代的,标准的方法解决这个问题。

1 个答案:

答案 0 :(得分:0)

使用AsyncTaskwebview中加载网站,并在完成后使用onPostExecute方法运行时通知它。 这样您就可以跟踪页面是否已加载