アクティビティBを呼び出すアクティビティAがあります。アクティビティBでは、ボタンをクリックすると、finish()が呼び出され、次にアクティビティBのonDestroy()が呼び出され、アクティビティAに戻ります。
Androidのドキュメントによると、onDestroyが呼び出される前に、onSaveInstanceState(Bundle bundle)が呼び出されます。ここで、次のようにします。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
System.out.println("Saving webview state");
Log.d(TAG, "In onsave");
wv.saveState(outState);
}
次回アクティビティBがアクティビティAから開始されるとき、
oncreate()で、私は次のことを行います。
onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
if(savedInstanceState != null){
//restore webview
}else {
// code
}
}
ただし、アクティビティBでonDestroyを呼び出す前に、onSaveInstanceStateメソッドが呼び出されることはありません。これに関するどんな助けも大いに感謝されるでしょう。
編集:これが不可能な場合。Webビューの状態を保存する方法があるかどうか教えてください