Android Oreo 8.0 (API レベル 26) を搭載したデバイスでJobService.onTaskRemoved()
は呼び出されません
- そのようなイベントを聞く方法は?
動作を停止したコード:
class TaskRemovalWatcherService: JobIntentService() {
...
override fun onTaskRemoved(rootIntent: Intent?) {
//not called on Android Oreo
super.onTaskRemoved(rootIntent);
onAppRemovedFromRecentApps()
}
}
App-Task が最近のアプリから削除されたら、私はする必要があります
- プロセスを停止する
- 2 番目の AppTask を完了する
AppTasks.size = 2 で、1 つのタスクが最近のアプリから削除された場合、2 番目の AppTask がまだメモリ内にあるため、プロセスは強制終了されません。
アップデート:
- use
JobIntentService.enqueueWork
then 直後JobIntentService.onHandleWork()
JobIntentService.onDestroy()
が呼び出されたとき - when use
JobService.schedule()
throwsIllegalArgumentException
when schadule ジョブを制約なしで使用します。
PS各 X 秒ごとに isTaskWasRemoved をチェックするという考えは、良いものではないようです。