私はActivity
とを持っていますIntentService
がActivity
呼び出され、IntentService
終了IntentService
したらアクティビティを再開したいと思います。ただし、現在画面に表示されている場合に限ります。再度開かれたときに (のみonResume()
) 呼び出され、新しいインスタンスが作成されていない場合も、再起動する必要があります。
では、これを実践するための最良の方法は何ですか?
私はActivity
とを持っていますIntentService
がActivity
呼び出され、IntentService
終了IntentService
したらアクティビティを再開したいと思います。ただし、現在画面に表示されている場合に限ります。再度開かれたときに (のみonResume()
) 呼び出され、新しいインスタンスが作成されていない場合も、再起動する必要があります。
では、これを実践するための最良の方法は何ですか?
アクティビティがまだ画面に表示されている場合は、再起動する必要はありません。が作業を終了しBroadcastReceiver
たときに送信されるブロードキャストを処理するを登録できます。IntentService
アクティビティが終了したか、画面に表示されていない場合はstartActivity
、新しいインスタンスを使用して作成しても安全です (悪い習慣ではありません)。それはあなたの歴史を一貫させます。
アクティビティの唯一のインスタンスが本当に必要な場合は、マニフェストのアクティビティ タグに次の行を追加できます。
android:launchMode="singleTask"
また
android:launchMode="singleInstance"
詳細を知りたい場合は、この投稿で違いを説明します。