在我的主要活动中,在onStop下,我设置myVar = true。在onResume中,我检查myVar是否为true并执行某些操作。
如果您在我的主要活动中点击主页按钮并从主屏幕/应用程序抽屉再次启动它,它可以正常工作。
如果你在一个不同的活动中点击主页按钮并从主屏幕/ app抽屉再次启动它,它会显示主要活动,因为我在我的主要活动上设置了clearTaskOnLaunch =“true”并且android:finishOnTaskLaunch = “真实”设置在我的其他活动上。但是,当按下主页按钮时,它似乎没有在主活动中点击onStop。
我开始结果的其他活动。如果结果代码= result_ok或result_canceled,我设置myVar = false。但是......如果按下主页按钮,则不应该设置结果并执行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 = false。
我正在尝试确保每次从主屏幕/应用程序抽屉启动我的应用程序时,它会运行这3种方法。
答案 0 :(得分:3)
转到onPause(),因为根据文档,在某些情况下不会调用onStop()。
答案 1 :(得分:1)
你想在onStop上做什么?通常,您希望在onPause方法中执行此操作。在生命周期中越接近onDestroy,在销毁Activity以恢复内存之前调用该方法的可能性就越小。