I have a setInterval that keeps running even when you close (not quit) the app. I would like to call a function when my app is closed or the device is put to sleep so that it clears the setInterval.
AppState is your friend! Have a look at the documentation of AppState.
So in your component, where the setTimeout exists, just require AppState and add an event listener like this:
AppState.addEventListener('background', this.handlePutAppToBackground);
AppState.addEventListener('inactive', this.handlePutAppToBackground);
handlePutAppToBackground() would be now a method in your component, where you would call clearTimeout(...)
itinance was close. The answer is actually to use
AppState.addEventListener('change', state => {
if (state === 'active') {
// do this
} else if (state === 'background') {
// do that
} else if (state === 'inactive') {
// do that other thing
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With