2016-01-14 9 views
17

यदि मेरा रिएक्ट नेटिव ऐप इसके बैकएंड से कनेक्ट करने में विफल रहता है, तो मैं एक ओके बटन के साथ अलर्ट दिखाता हूं। यदि ऐसा होता है, तो ऐप को चलाने के लिए कोई बिंदु नहीं है, इसलिए बटन क्लिक होने पर मैं इसे बंद करना चाहता हूं। मैं यह कैसे करु?मैं एक प्रतिक्रियात्मक मूल ऐप से कैसे निकल/बंद कर सकता हूं?

मुझे संदेह है कि कुंजी ऐप रजिस्ट्री में है लेकिन दस्तावेज़ थोड़े कम हैं।

उत्तर

6

आज ऐसा करने के लिए कोई प्रतिक्रिया-मूल विशिष्ट तरीका नहीं है। आपको इसे चीजों के मूल पक्ष से पूरा करना होगा।

आगे, क्या आप आईओएस के लिए विकास कर रहे हैं? ऐप्पल ने कहा है कि ऐप्स को खुद को बंद नहीं करना चाहिए।

+1

यह एक Android ऐप्लिकेशन है, लेकिन धन्यवाद, हो सकता है मैं तो बस ठीक बटन एक पुन: प्रयास करें बटन को बदल सकते हैं और उपयोगकर्ता जाने या तो फिर से कनेक्ट या अपने दम पर बाहर निकलने के लिए कोशिश करेंगे। AppRegistry के साथ प्रयोग को बचाने के लिए धन्यवाद। :) – Nolan

+1

Altough वहाँ प्राप्त करने के लिए प्रतिक्रिया-मूल तरीके से बाहर निकलता है, वहां एक समाधान है जो प्रतिक्रिया-मूल सीमल्स में फिट बैठता है: एंड्रॉइड और आईओएस को बंद करने के लिए मूल मॉड्यूल/फ़ंक्शन के कार्यान्वयन के लिए नीचे मेरा उत्तर देखें ऐप्स ... – WiRa

34

एंड्रॉयड के लिए, एप्लिकेशन बाहर निकलने के लिए BackAndroid का उपयोग करें:

आईओएस:

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

BackAndroid.exitApp(); 
+3

'बैक एंड्रॉइड' को बाद में 'बैकहैंडलर' के पक्ष में बहिष्कृत कर दिया गया है (https://facebook.github.io/react-native/docs/backhandler.html देखें) – Bataleon

5

एक देशी मॉड्यूल, निम्न उपायों से जब कहा जाता है करता लिखें

exit(9); 

ANDROID:

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

... संपादित करें ...

या सिर्फ एक मैं बनाया का उपयोग करें: https://www.npmjs.com/package/react-native-exit-app

0

यह मैं कैसे हासिल कर लिया है है:

componentWillMount() { 
    BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick); 
    } 
    componentWillUnmount() { 
    BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick); 
    } 
    handleBackButtonClick() { 
    BackHandler.exitApp(); 
    return true; 
    } 
1

मैं बहुत देर हो चुकी प्रश्न का उत्तर देते, लेकिन मैंने सोचा कि जिस तरह से मैंने चुना है वह किसी की मदद कर सकता है, इसलिए मैं इस सवाल का जवाब दे रहा हूं।

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; 

}

संबंधित मुद्दे

 संबंधित मुद्दे