Как определить, что приложение удалено с последних страниц (обзорный экран) на Android Oreo?
До сих пор (до Android Oreo) я занимался удалением из приложения последних Service.onTaskRemoved()
, лайк:
public class OnAppRemovedFromRecentListener extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return Service.START_NOT_STICKY;
}
@Override
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
// there I am handling removing from recents
}
}
но теперь, когда я запускаю приложение на Android Oreo, я никак не могу добиться того же поведения. Пробовал 2 подхода:
- Если все еще используете
Service
затем сервис исчезает через некоторое время бездействия, когда приложение находится в фоновом режиме, а затем, если пользователь удаляет приложение из последнихonTaskRemoved
не называется. - Если переключиться с
Service
вJobIntentService
и запуск этого сервиса черезJobIntentServiceLauncher.enqueueWork
затем почти сразу OnAppRemovedFromRecentListener уничтожается иonTaskRemoved
также не вызывается, когда приложение удаляется из последних
Кто-нибудь знает способ, как обнаружить удаление моего приложения из последних на Android Oreo, который будет работать всегда?
1 ответ
Если вы используете мероприятие, я думаю, что вы можете использовать методы onDestroy() или onStop() для правильного определения очистки или закрытия приложения