android – 获取活动状态(暂停/恢复)

我正在使用LoaderManager来获取一些数据,当它完成时,应该显示一个子片段.在某些情况下,当活动已处于暂停状态且无法执行片段事务时,会发生这种情况.

有没有办法获得活动的当前状态(似乎有一个mResume标志)?或者我必须维护自己的布尔值?

最佳答案
在Activity source code中快速查看表明Activity类确实跟踪成员mResumed的恢复状态.但由于mResume不是公共的并且isResumed()被隐藏,我们不能使用它们.

您可以使用简单的解决方案为您提供所有课程的信息.只需创建一个存储状态的基本Activity类.例如:

public class ActivityBase extends Activity {

    private boolean mIsResumed = false;

    @Override
    public void onResume() {
        super.onResume()
        mIsResumed = true;
    }

    @Override
    public void onPaused() {
        super.onPaused()
        mIsResumed = false;
    }

    public boolean isResumed() {
        return mIsResumed
    }

}

只需在课堂上扩展此课程:

public class MyActivity extends ActivityBase {

    private void onLoadDone() {
        if (isResumed()) {
            // Show the fragment
        }
    }

}

转载注明原文:android – 获取活动状态(暂停/恢复) - 代码日志