如何保存和恢复 GeckoView 的会话状态?

How can I save & restore GeckoView's session state?

我想在方向更改之间保持会话处于活动状态。 Geckoview 的文档在这方面有所欠缺。似乎 GeckoSession 有一个接受 SessionStaterestoreState 方法。有没有办法从会话的当前状态创建 SessionState 对象?

我尝试过的另一种方法是创建一个 Parcelable 对象并将其设置为 restoreStateSessionState,但这没有用。

您可以跟踪 GeckoSession 安装 ProgressDelegate 和实施 onSessionStateChange 的当前状态,例如:

class ProgressDelegate extends GeckoSession.ProgressDelegate {
  @Override
  public void onSessionStateChange(GeckoSession session,
                                   SessionState sessionState) {
    // store sessionState somewhere
  }
}

ProgressDelegate delegate = new ProgressDelegate();
session.setProgressDelegate(delegate);