1

这个问题是基于这个较旧的问题(不是我)。

我需要在我的主要活动(当我打开我的应用程序时首先启动的活动)上运行以下代码:

public static boolean isInFront;

    @Override   
    protected void onResume() {
        //isInFront = true;
    }

    @Override
    protected void onPause() {
        //isInFront = false;
    }

问题是,onResume() 会导致我的应用在打开时崩溃。据我了解,这是应该发生的,因为应该为应用程序运行的第一个活动调用 onCreate()(我的代码稍后也有该函数)。

但我真的需要这段代码来告诉我主要活动何时是当前活动/在前台。

有没有办法解决这个问题,以便我可以在我的主要活动中保留 onResume() 而不是在应用程序启动时运行它而不是 onCreate() ?非常感谢!

4

1 回答 1

4

您可以同时使用这两种方法,是您的代码导致它崩溃。您应该检查活动生命周期。

那是你唯一的代码吗?你在他们的方法中调用 super.onResume() 和 super.onPause() 吗?

public static boolean isInFront;

    @Override   
    protected void onResume() {
        super.onResume();
        isInFront = true;
    }

    @Override
    protected void onPause() {
        super.onPause();
        isInFront = false;
    }

对不起,如果我误解了你的问题

于 2012-08-04T03:26:30.833 回答