1

この質問は、この古い質問に基づいています (私によるものではありません)。

メイン アクティビティ (アプリを開いたときに最初に起動するもの) で次のコードを実行する必要があります。

public static boolean isInFront;

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

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

問題は、onResume() を開くとアプリがクラッシュすることです。私が理解しているように、アプリが実行する最初のアクティビティに対して onCreate() を呼び出す必要があるため、これが発生するはずです(コードの後半にもその関数があります)。

しかし、メインのアクティビティが現在アクティブ/フォアグラウンドにあるときを知らせるために、このコードが本当に必要です。

アプリの起動時に onCreate() の代わりに onResume() を実行せずにメイン アクティビティに保持できるように、これを修正する方法はありますか? どうもありがとう!

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 に答える