我需要获取活动刚出来的状态,例如,我需要在onResume()中运行一些代码,但只有在onPause()之后调用它而不是在Start()之后调用它。
如果在onStop()之后调用onResume(),那么我需要运行一些不同的代码。
我该如何正确检查?
答案 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();