У меня есть IntentService
, и я хочу, чтобы startCommand
был вызван, только если он еще не запущен.запустить IntentService не чаще
Причина этого заключается в обработке всех существующих строк в базе данных. Его можно вызвать для запуска несколько раз, но если он уже запущен, его нельзя запускать снова. И похоже на IntentService
после того, как нет строк для обработки, он должен закрыть себя.
Возможно ли это? Может быть, с PendingIntent
и FLAG_NO_CREATE
?
Я мог бы создать это с помощью Service
и отдельной нитью вместо IntentService
, но у IntentService
уже есть реализованная нить.
Спасибо! Ох, хорошо! Trick заключается в выборочном вызове реализации базового класса 'IntentService' ... –
Так что мне не нужен' PendingIntent' Мне просто нужно вызвать 'startService (намерение)'? –
@DonBox: Если вы хотите запустить сервис самостоятельно, вызовите 'startService()'. Вы используете «PendingIntent», если хотите * что-то еще *, чтобы начать свою службу (например, «AlarmManager», «Уведомление»). – CommonsWare