Когда вы «закрываете» свое приложение (т.е. проводите по экрану на экране недавних приложений), вы фактически не закрываете приложение, вы только закрываете основную активность.В большинстве случаев это соответствует закрытию приложения, но если у вас запущена фоновая служба, она не прекращается.Это по уважительной причине: вы все еще хотите получать сообщения WhatsApp, даже если WhatsApp закрыт.Следовательно, WhatsApp запускает фоновую службу для проверки новых сообщений, даже когда приложение закрыто.
По этой причине вам необходимо уведомить фоновую службу о том, что она должна отменить свою задачу.
Я разработал мультимедийное приложение, которое использует MediaBrowserService
, которое подключено к MediaController
.Поэтому в своих действиях я могу делать следующее: onDestroyMethod
:
MediaControllerCompat mediaControllerCompat = MediaControllerCompat.getMediaController(getActivity());
if (mediaControllerCompat != null)
mediaControllerCompat.getTransportControls().stop();
. Это говорит MediaBrowserService
остановиться и выйти.
Редактировать: Поскольку вы пользуетесь универсальной услугой, вам необходимо позвонить stopService
:
stopService(new Intent(MyActivity.this, JobSyncFAQ.class));