Похоже, вы уже это делаете. onStart () вы проверяете, имеет ли намерение значение null, и если это так, вы создаете новое намерение и привязываете его к службе (если она существует), в противном случае создаете новую службу.
Поскольку onStart()
вызывается каждый когда ваш activity
(не application
) возвращается из фона на передний план (скажем, вы запустили страницу настроек, а затем вернулись к основному действию), кажется чрезмерным связывать службу во время onStart (). Я бы переместил привязку внутрь onCreate()
, поскольку onCreate()
вызывается только один раз для действия.
Проверка намерения null
кажется странной и, возможно, излишней, если вы переместите привязку внутри onCreate (), вы можете убедитесь, что вы выполняете привязку только при запуске действия, и если служба уже существует, активность будет просто привязана к ней.