私の状況では、アクティビティが一度に 1 つだけ実行されるようにする必要があるケースが 1 つあります。
LauchMode
アクティビティの を設定すると、単一インスタンスの目的を達成できますが、アクティビティのビューは更新されないことがわかりました。
このアクティビティは によって起動されstartActivityForResult
、インテントを含む URI がアクティビティに送信されます。
この特定のケースについて議論してみましょう。
ギャラリー - imageA でこのアクティビティを起動します。
カメラ - imageB でこのアクティビティを起動します。
私の要求は、古いアクティビティを破棄することではなく、新しいインテント情報を受け取ったばかりのアクティビティがビューを更新することです。
新しい方法を見つけましたonNewIntent
。この方法では再開前にインテントを更新できます。試してみます。
ベストアンサー1
マニフェスト属性が singleInstance であるアクティビティを作成できます。アクティビティが再起動されるとすぐに、onResume が呼び出されます。新しいイメージでビューを更新し、古いビューを無効にすることができます。
<activity ..
android:launchMode= "singleInstance" />