1

次のフローのアプリケーションがあります。

Loading activity -> activity 1 -> activity 2

finish()アクティビティ 1 の起動後を使用して、読み込みアクティビティが閉じられます。

ホーム ボタンをクリックし、しばらくしてから再起動すると (30 分以上かかるようです)、次のいずれかの動作を予期していました。

  1. アクティビティはまだ有効です - アクティビティ 2 から続けてください。
  2. アクティビティが強制終了されました - 読み込みアクティビティから再開してください。

ただし、何が起こるかというと、アプリは から始まりactivity 1ます。これは、アクティビティ タスクがクリアされたことを意味すると想定しています。これは、読み込みアクティビティが閉じられていない場合、アプリがそこで開始されるためです (ただし、閉じる必要があります)。

その仮定は正しいですか、それともこの背後に別の説明がありますか? このシナリオで読み込みアクティビティからアプリを再起動するにはどうすればよいですか?

4

1 に答える 1

0

ロードアクティビティからアクティビティ1を起動するときに、FLAG_ACTIVITY_NO_HISTORYフラグをインテントに追加してみてください。

    Intent intent = new Intent(this, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);

アクティビティ1がナビゲートされると、終了します。それが適切なフラグでない場合は、履歴スタックを操作できる他のフラグを選択できます。

于 2012-07-13T23:41:32.767 に答える