即使在 'onPress' returns 'true' 之后,React Native Android Back 应用程序仍然存在
React Native AndroidBack still exits app even after 'onPress' returns 'true'
我正在开发我的第一个 React Native 应用程序,我想实现一个功能,每当用户按下主页上的 android 后退按钮时,就会弹出一个警报并询问用户是否 s/he 想退出应用程序。这一直有效,直到出现警报,但最后,即使不按“是”按钮,它也会退出应用程序。
这是我的代码
BackAndroid.addEventListener('hardwareBackPress', () => {
Alert.alert(
'Quit App?',
'Are you sure you want to exit App?',
[
{text: 'Yes', onPress: () => false},
{text: 'No', onPress: () => true},
],
{ cancelable: true }
)
});
如前所述,警报出现但不等待按下是或否按钮,它只是在几毫秒后退出应用程序。
在此先感谢您的帮助
我是这样做的-
BackAndroid.addEventListener('hardwareBackPress', () => {
Alert.alert(
'Quit App?',
'Are you sure you want to exit App?',
[
{text: 'Yes', onPress: () => BackAndroid.exitApp()},
{text: 'No', onPress: () => {}},
],
);
return true;
});
您需要在您的侦听器中 return true
以通知框架您已经自己处理了后退按钮并且不需要它这样做(通过退出应用程序) .
所以在警报之后 return true
。
对此有简要描述
我正在开发我的第一个 React Native 应用程序,我想实现一个功能,每当用户按下主页上的 android 后退按钮时,就会弹出一个警报并询问用户是否 s/he 想退出应用程序。这一直有效,直到出现警报,但最后,即使不按“是”按钮,它也会退出应用程序。
这是我的代码
BackAndroid.addEventListener('hardwareBackPress', () => {
Alert.alert(
'Quit App?',
'Are you sure you want to exit App?',
[
{text: 'Yes', onPress: () => false},
{text: 'No', onPress: () => true},
],
{ cancelable: true }
)
});
如前所述,警报出现但不等待按下是或否按钮,它只是在几毫秒后退出应用程序。
在此先感谢您的帮助
我是这样做的-
BackAndroid.addEventListener('hardwareBackPress', () => {
Alert.alert(
'Quit App?',
'Are you sure you want to exit App?',
[
{text: 'Yes', onPress: () => BackAndroid.exitApp()},
{text: 'No', onPress: () => {}},
],
);
return true;
});
您需要在您的侦听器中 return true
以通知框架您已经自己处理了后退按钮并且不需要它这样做(通过退出应用程序) .
所以在警报之后 return true
。