在装有 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 从最近的应用程序中删除时,我需要
- 停止一个进程
- 完成第二个 AppTask
如果 AppTasks.size = 2 并且从最近的应用程序中删除了 1 个任务,则不会杀死进程,因为第二个 AppTask 仍在内存中。
更新:
- 当使用
JobIntentService.enqueueWork
then afterJobIntentService.onHandleWork()
JobIntentService.onDestroy()
被调用 - 当调度作业没有约束时使用
JobService.schedule()
抛出。IllegalArgumentException
PS检查每X秒isTaskWasRemoved的想法似乎不是一个好主意。