在我的主要活动中,在onStop下,我设置了myVar = true。在onResume中,我检查myVar是否为true并执行某些操作。onStop没有被调用...主页按钮按下
如果您在我的主要活动中点击主页按钮并从主屏幕/应用程序抽屉再次启动它,它可以正常工作。
如果您在不同的活动中点击主页按钮并从主屏幕/应用程序抽屉重新启动主页按钮,它会显示主要活动,因为我在主要活动和android:finishOnTaskLaunch上设置了clearTaskOnLaunch =“true” =“true”设置在我的其他活动上。但是,当主按钮被按下时,它在主要活动中看起来并没有打到onStop。
我开始结果的其他活动。如果结果代码= result_ok或result_canceled,我设置myVar = false。但是...如果home按钮被按下,它不应该设置结果并执行onActivityResult。
任何想法如何解决这个问题?
编辑:
above onCreate.. I set startNew = true;
@Override
public void onStop() {
super.onStop();
startNew = true;
}
@Override
public void onRestart() {
super.onRestart();
if (startNew) {
getCurrentDate(0);
updateDisplay();
fillData();
}
}
其他唯一的参考startNew,是我的onActivityResult方法,如果这是从我的主要活动推出的活动返回要么RESULT_OK或RESULT_CANCELED,我设置startNew =假。
我试图确保每次我的应用程序从主屏幕/应用程序抽屉启动时,它都会运行这3种方法。
我改变它是安全的,但我从来没有注意到两者之间的区别,我用它的东西。 – Roger 2011-04-11 18:21:25
根据文档,onStop()不保证被调用,但onPause()是。从Honeycomb开始,这改变了... onStop()现在将被保证被调用,但是如果你想支持运行早期版本的设备,你需要相应的编码:http://developer.android.com/reference/android/app /Activity.html – BonanzaDriver 2011-04-11 20:44:25
每*什么*文档? – 2014-08-12 22:46:59