即使在 '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

the docs.

对此有简要描述