Я работаю над приложением Android, в котором я создаю службу переднего плана .Ниже приведен код для удаления службы переднего плана:
private void stopForegroundService()
{
Log.d(TAG_FOREGROUND_SERVICE, "Stop foreground service.");
if(downloadAsyncTask!=null) //to stop async task
downloadAsyncTask.cancel(true);
// Stop foreground service and remove the notification.
stopForeground(true);
// Stop the foreground service.
stopSelf();
}
Я хочу остановить эту службу, когда пользователь убивает приложение из списка «Последние приложения» .У меня есть методы onDestroy()
и onTaskRemoved()
в классе обслуживания.stopForegroundService()
вызывается из этих функций.
Когда пользователь убивает приложение из списка последних приложений, вызывается метод stopForegroundService()
, но служба продолжает работать.Тем не менее, я могу остановить службу, когда асинхронная задача завершена.
У меня есть следующие вопросы:
- Как остановить службу, когда приложение удаляется из списка последних приложений?
- Возможно ли, что служба убита, но асинхронная задача продолжает выполняться?Если да, то как это исправить?
Буду признателен за любые предложения и мысли на эту тему.Спасибо.
РЕДАКТИРОВАТЬ:
Вызван метод stopForegroundService()
, уведомление службы переднего плана удалено, но асинхронная задача не остановлена.Как это исправить?