有许多方法可以检查活动是否还在。
我通常会创建 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
。 最后,您可以随意更改此底类以更改暂停的旗帜( 例如在 on Destroy ()
中更新此标记)
另一种方法是在您的 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;
}
}