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