0

次のような状況があります。

  • 活動A
  • アクティビティ B (マニフェストで singleTop としてマーク)

A から B に移動するときは、フラグを設定して B.startActivity を呼び出します。

"FLAG_ACTIVITY_REORDER_TO_FRONT"

(このようにして、すでに開いているときは、アクティビティを再作成しません)。

BI から A に戻ったら、A.startActivity を呼び出して、別のアクティビティ "A" が開始されるようにします。

したがって、これらの手順を 20 回繰り返して実行すると、Android はすべてのアクティビティを破棄し、例外が生成されます。

質問: アクティビティ A を開いて、onCreate から既存のアクティビティを 1 回だけリロードするにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

1

これを行うには、メソッドonNewIntentをオーバーライドし、AndroidManifest.xmlのアクティビティAまたはBに追加します。android:launchMode = "singleInstance"

@Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
     // do something to reload....
    }

これは、AまたはBに対してActivity(intent)を開始するたびに、AまたはBの古いインスタンスが何かをリロードすることを意味します。お役に立てば幸いです。

于 2012-12-13T08:57:54.900 に答える