public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public void onResume() {
super.onResume();
if (?) {
... handle ...
}
}
@Override
public void onPause() {
super.onPause();
if (?) {
... handle ...
}
}
}
onResume()
と の間にいくつかのことを処理する必要があるインスタンス保持フラグメントをいじろうとしていますonPause()
。これをメインのアクティビティに追加しましたが、これまでのところ、1 つのことを除いてうまく機能しています。アプリケーションに別のアクティビティを入力すると、アプリケーションの設定としましょう。このフラグメントは、画面の反転時に onResume と onPause を実行します。
必要なのは、このフラグメントが接続されているアクティビティがフォアグラウンドにないかどうかを調べる方法です。isTaskRoot などを試してみましたが、これらのライフサイクル メソッドが実行されている限り true が返されます。Android が onResume の実行後にこのフラグメントを一時停止することを認識している場合、onResume メソッド内からこれを確認する方法が必要ですか?