2017-03-08 39 views
0

我正在使用我的第一個React Native應用程序,並且我想實現一項功能,只要用戶在主頁上按下了安卓返回按鈕,警報彈出並詢問用戶他/她是否想退出該應用程序。這種方式一直運行到警報出現的地步,但最終,即使沒有按下「是」按鈕,它也會退出應用程序。即使在'onPress'返回'true'後,React Native AndroidBack仍會退出應用程序

這裏是我的代碼

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 } 
    ) 
}); 

如前所述,該警報顯示,但不等待的是或否按鈕被按下,它只是,一個EW milleseconds後退出應用程序。

提前感謝FOT幫助

回答

1

我不喜歡這樣 -

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; 
}); 
+0

謝謝,這工作完美, – Kenshinman

1

你需要在你的聽衆,以通知的框架返回true你自己已經處理後退按鈕和有沒有必要這樣做(通過退出應用程序)。 所以剛纔return true提醒後。

the docs中有對此的簡要說明。