public void onResume(){
super.onResume();
if(firsttime){
try {
Toast.makeText(getApplicationContext(), "Resuming Activity",Toast.LENGTH_LONG).show();
addReminder();
} catch(Exception exception) {
exception.printStackTrace();
}
} else {
firsttime=true;
}
}
这是我的code.firsttime是一个静态布尔变量。它用于防止第一次启动应用程序时调用onResume()
答案 0 :(得分:0)
尝试在onResume中打印一些内容并在LogCat中检查.... onResume中的代码可能导致这种情况。 或者你能详细说明你的问题吗?
答案 1 :(得分:0)
考虑到您当前的场景,您应该将变量保存在首选项中,而不是依赖于活动生命周期,因为生命周期取决于很多事情。 在这种情况下使用静态变量通常是不好的选择。我认为这应该可以解决您的问题。
答案 2 :(得分:0)
我想这就是发生的事情, 当您的应用程序不是Top应用程序时,活动管理器实际上会销毁该活动,它只会调用
public void onSaveInstanceState(Bundle savedInstanceState)
没有
onStop
叫,所以没有
noResume
将被召唤。
正确执行此操作是将此活动的所有状态置于
时 public void onSaveInstanceState(Bundle savedInstanceState)
叫。
并在你的onCreate()函数中,做这样的事情
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // Always call the superclass first
// Check whether we're recreating a previously destroyed instance
if (savedInstanceState != null) {
// Restore value of members from saved state
mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
} else {
// Probably initialize members with default values for a new instance
}
...
}
检查你是否有一些保存状态。
大多数代码都是从android开发者网站复制的: http://developer.android.com/training/basics/activity-lifecycle/recreating.html