Я немного смущен относительно использования IntentService.
- В документации указано, что IntentService ставит в очередь все намерения, отправленные ему, и обрабатывает их по одному.
- Я взглянул на код IntentService, и я увидел, что onStartCommand() получает намерение, вызывает onStart(), который отправляет его как сообщение для намерений очередь
Я уверен, что прочитал где-то в документации, что onStartCommand() вызывается системой только один раз, если вы дважды выпускаете startService(), второй вызов не приведет к вызову onStartCommand().
Возможно, я ошибаюсь, потому что я искал эту документацию, и я не могу ее найти.
Это противоречит предыдущей концепции, в которой говорится, что вы можете ставить в очередь многие намерения в IntentService через onStartCommand().
Так что мне нужна помощь здесь, как мне ставить в очередь несколько намерений в IntentService?
Я вижу только два варианта:
-
Просто вызовите everytime startService() с разными намерениями
-
Вызовите напрямую onStart() или onStartCommand() (минуя startService())