Этот exitAlert является вызовом после нажатия кнопки Android, я хочу отключить выход после закрытия тоста, так как у тоста нет события закрытия, я использую тайм-аут для его отключения, очевидно, что приведенный ниже код не отключает выход второго нажатия:
const exitAlert = () => {
const duration = 3 * 1000;
showToast('Press again to exit', duration, 'top');
BackHandler.addEventListener('hardwareBackPress', () => {
BackHandler.exitApp();
});
setTimeout(() => BackHandler.removeEventListener('hardwareBackPress', () => {}),
duration);
}
Хорошо, это работает:
let pressTwice = true;
const duration = 3 * 1000;
showToast('Confirm exit', duration, 'top');
BackHandler.addEventListener('hardwareBackPress', () => {
if (pressTwice) {
BackHandler.exitApp();
}
});
setTimeout(function() {
pressTwice = false;
}, duration);