Android,获取以前的活动状态?

时间:2010-12-13 14:46:27

标签: android android-activity state

我需要获取活动刚出来的状态,例如,我需要在onResume()中运行一些代码,但只有在onPause()之后调用它而不是在Start()之后调用它。

如果在onStop()之后调用onResume(),那么我需要运行一些不同的代码。

我该如何正确检查?

1 个答案:

答案 0 :(得分:1)

Here是生命周期。我想你可以在你的偏好中保存一个标志,并在onResume期间检查它。这是一些伪代码:

onStart() {
    saveFlagToPreferences(false);
}

onResume() {
    boolean doStuff = getFlagFromPrefs();
    if (doStuff) {
        //do some stuff following onPause
    } else {
        //do some stuff following onStop
    }
}

onPause() {
    saveFlagToPreferences(true);
}

onStop() {
    saveFlagToPreferences(false);
}

要加载偏好设置,您可以使用以下内容:

SharedPreferences settings = getSharedPreferences("MyAppName",0);
settings.getBoolean("flag", true);  

并保存他们:

SharedPreferences settings = getSharedPreferences("MyAppName",0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("flag",true);
editor.commit();