アクティビティがまだ存在するかどうかを確認する方法は多数あります。
私は通常SkeletonActivity
、次の構造で を作成します。
public class SkeletonActivity extends FragmentActivity {
private boolean paused = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
paused = false;
}
@Override
public void onPause() {
super.onPause();
paused = true;
}
@Override
public void onResume() {
super.onResume();
paused = false;
}
@Override
public void onStart() {
super.onStart();
paused = false;
}
public boolean isPaused() {
return paused;
}
}
これで、すべてのアクティビティがこれを拡張しますSkeletonActivity
。最後に、この基本クラスを変更して、一時停止フラグを必要に応じて変更します (たとえば、onDestroy()
別の方法は、内に Context インスタンスを作成することSkeletonActivity
です:
public class SkeletonActivity extends FragmentActivity {
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
}
@Override
protected void onDestroy() {
mContext = null;
super.onDestroy();
}
public boolean isPaused() {
return mContext==null;
}
}