onStop未被调用...按下主页按钮

时间:2011-04-11 17:59:54

标签: android

在我的主要活动中,在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种方法。

2 个答案:

答案 0 :(得分:3)

转到onPause(),因为根据文档,在某些情况下不会调用onStop()。

答案 1 :(得分:1)

你想在onStop上做什么?通常,您希望在onPause方法中执行此操作。在生命周期中越接近onDestroy,在销毁Activity以恢复内存之前调用该方法的可能性就越小。