如果我多次调用context.startForegroundService(startServiceIntent),我会多次调用具有新服务意图的onCreate()还是第一次调用onCreate以获取新服务意图,然后调用onStartCommand()/ onHandleIntent ()多次?
答案 0 :(得分:3)
这取决于服务是否正在运行。如果该服务尚未运行,startForegroundService()
将触发对onCreate()
的呼叫。
例如,
startForegroundService()
onCreate()
onStartCommand()
(这可能会触发对其他事物的调用,例如onHandleIntent()
中的IntentService
)startForegroundService()
onCreate()
调用onStartCommand()
(这可能会触发对其他事物的调用,例如onHandleIntent()
中的IntentService
)stopService()
或stopSelf()
(或onHandleIntent()
返回,如果您仍在使用IntentService
)停止服务startForegroundService()
,因为您非常喜欢该方法onCreate()
onStartCommand()
(这可能会触发对其他事物的调用,例如onHandleIntent()
中的IntentService
)