Comment puis-je sortir/arrêter une application Native React?

si mon application native React ne se connecte pas à son backend, j'affiche une alerte avec un bouton OK. Si cela arrive, il n'y a aucun intérêt à ce que l'application continue à fonctionner, alors j'aimerais l'éteindre quand le bouton est cliqué. Comment dois-je faire?

je soupçonne que la clé est dans le Registre, mais les documents sont un peu rares.

24
demandé sur Josh David Miller 2016-01-15 02:21:32

5 réponses

il n'y a pas de façon spécifique de réagir pour faire cela aujourd'hui. Vous devez accomplir cela du côté indigène des choses.

plus loin, vous développez pour iOS? Apple a déclaré que les applications ne devraient pas se fermer.

7
répondu Adam Terlson 2016-01-15 09:12:23

Pour Android, Utilisez BackAndroid pour quitter l'Application:

import React, {
    BackAndroid,
} from 'react-native';

BackAndroid.exitApp();
44
répondu herbertD 2016-01-27 06:55:49

je réponds à la question trop tard, mais j'ai pensé que la façon dont j'ai choisi pourrait aider quelqu'un, donc je réponds à cette question.

componentWillMount() {
   BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}

componentWillUnmount() {
   BackHandler.removeEventListener('hardwareBackPress', this.backPressed);
}

backPressed = () => {
  Alert.alert(
    'Exit App',
    'Do you want to exit?',
    [
      {text: 'No', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
      {text: 'Yes', onPress: () => BackHandler.exitApp()},
    ],
    { cancelable: false });
    return true;
}
13
répondu fazeel zama 2018-08-30 07:34:33

Écrire un module natif qui effectue les actions suivantes lorsqu'il est appelé à:

IOS:

exit(9);

ANDROID:

((YourApplication) self.getApplicationContext()).kill();

...MODIFIER...

Ou tout simplement utiliser l'un que j'ai créé: https://www.npmjs.com/package/react-native-exit-app

7
répondu WiRa 2017-06-06 12:49:55

Voici comment j'ai réussi:

  componentWillMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
  }
  componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
  }
  handleBackButtonClick() {
    BackHandler.exitApp();
    return true;
  }
1
répondu Led 2017-10-12 10:41:27