我知道在服务类中有一个有趣的stopSelf()来停止自己,在JobService()中也有同样的乐趣吗?
码
class RestoreService : JobService() {
override fun onCreate() {
logError("OnCreate")
super.onCreate()
}
override fun onDestroy() {
logError("OnDestory")
super.onDestroy()
}
override fun onStartJob(params: JobParameters): Boolean {
Thread(Runnable { completeRestore(params) }).start()
return true
}
override fun onStopJob(params: JobParameters): Boolean {
logError("OnStop")
return false
}
private fun completeRestore(parameters: JobParameters) {
logError("Starting OK")
if (condition){
//stopself()
}
doSomting()
jobFinished(parameters, false)
}
}添加:
private fun completeRestore(parameters: JobParameters) {
logError("Starting OK")
if (condition){
jobFinished(parameters, false) //Stop
} else{
doSomting()
jobFinished(parameters, false)
}
}发布于 2018-05-24 08:19:42
有两种“停止JobService”的方法:
false返回onStartJob,这意味着作业已经完成,系统将释放唤醒。onStartJob返回true,服务将继续运行,在适当时使用单独的线程。JobService将处于活动状态,直到调用jobFinished(parameters, false)为止。调用jobFinished(parameters, false)将通知JobScheduler作业已经完成。当系统收到此消息时,它会释放该作业所持有的唤醒。https://stackoverflow.com/questions/50504113
复制相似问题