, что AlarmService не пытается запустить другую (IS работает с файлами, и возникнет странное состояние гонки, если вторая версия попытается воздействовать на те же файлы).
Не будет условий гонки. Во-первых, будет только один экземпляр IntentService
. Во-вторых, IntentService
будет обрабатывать только один Intent
за один раз в onHandleIntent()
.
Как лучше всего опросить систему, чтобы увидеть, запущен ли экземпляр моего IS, и просто пропустить текущую итерацию cron AlarmService?
Не делай так. В вашем IntentService
отслеживайте, когда вы в последний раз работали с элементом данных. Если в onHandleIntent()
это значение равно null
, это ваш первый проход через какое-то время, и поэтому вы, вероятно, хотите продолжить работу. Если значение не null
, сравните его с текущим временем, а если оно слишком рано, просто вернитесь с onHandleIntent()
.