【问题标题】:Android WebView saving app stateAndroid WebView 保存应用状态
【发布时间】:2017-10-05 01:23:40
【问题描述】:

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

  • 从存储中加载状态(具体是SharedPreferences
  • 通过evaluateJavascript向网页发送状态

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

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

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

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

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

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

【问题讨论】:

    标签: android android-activity webview


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-05-02
      • 1970-01-01
      • 2021-03-16
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      相关资源
      最近更新 更多