React Native: есть ли функция обратного вызова, когда ваше приложение закрыто?

У меня есть setInterval, который продолжает работать, даже когда вы закрываете (не закрываете) приложение. Я хотел бы вызвать функцию, когда мое приложение закрыто или устройство переведено в спящий режим, чтобы очистить setInterval.

Ответы на вопрос(2)

Решение Вопроса

Это было близко. Ответ на самом деле использовать

AppState.addEventListener('change', state => {
  if (state === 'active') {
    // do this
  } else if (state === 'background') {
    // do that
  } else if (state === 'inactive') {
    // do that other thing
  }
});
 cilf19 авг. 2019 г., 15:24
Чуть лучше ответstackoverflow.com/a/46662081/3249097

AppState - твой друг! Посмотрите надокументация AppState.

Итак, в вашем компоненте, где существует setTimeout, просто требуется AppState и добавьте прослушиватель событий, например так:

AppState.addEventListener('background', this.handlePutAppToBackground);
AppState.addEventListener('inactive', this.handlePutAppToBackground);

handlePutAppToBackground () теперь будет методом в вашем компоненте, где вы будете вызывать clearTimeout (...)

Ваш ответ на вопрос