У меня есть служба, в которой реализован метод onTaskRemoved()
.
Когда служба запускается с помощью startService()
, функция onTaskRemoved()
вызывается, когда приложение удаляется из списка последних приложений смахиванием.
Но если служба запущена с bindService()
, то onTaskRemoved()
никогда не вызывалась.
Как я могу заставить службу вызывать onTaskRemoved()
, когда приложение удаляется из списка последних приложений смахиванием после того, как оно было запущено с помощью bindService()
?
Android вызывает следующие методы жизненного цикла, если они запущены:
1. bindService():
Activity﹕ onCreate()
CustomService﹕ onCreate()
CustomService﹕ onStart()
CustomService﹕ onStartCommand()
CustomService﹕ onBind()
// Here we swipe to remove app from recent-apps-list
CustomService﹕ onTrimMemory()
2. startService():
ActivityA﹕ onCreate()
CustomService﹕ onCreate()
CustomService﹕ onStart()
CustomService﹕ onStartCommand()
CustomService﹕ onBind()
// Swipe to remove app from recent-apps-list
CustomService﹕ onTrimMemory()
CustomService﹕ onTaskRemoved() // <=====
CustomService﹕ onUnbind()
onTrimMemory()
вызывается каждый раз, когда приложение переходит в фоновый режим, вам не нужно проводить пальцем, чтобы удалить приложение, чтобы запустить его. Это произойдет, если вы нажмете кнопку «Домой». Так что ваш комментарий вводит в заблуждение. - person ForceMagic   schedule 09.01.2015