BackAndroid不会退出应用程序

时间:2016-03-09 09:39:58

标签: javascript android reactjs react-native

我在react-native android中使用BackAndroid。当我从主页移动到下一页并返回主页时它工作正常,但是如果我按回来它就不会退出应用程序。

这是我的代码:

componentWillMount: function(){
    let context = this
    if (Platform.OS !== 'ios') {
        BackAndroid.addEventListener('hardwareBackPress', context.backAndroidHandler);
    }
  },

  componentWillUnmount: function(){
    let context = this
    var Meteor = context.props.value.DDPClient;

    // TODO Unsuscribe is not a valid function
    Meteor.unsuscribe(subscriptionId);
    context.props.value.setCurrentConversationID(null);

    if (Platform.OS !== 'ios') {
        BackAndroid.removeEventListener('hardwareBackPress', context.backAndroidHandler);
      }      
  },

  backAndroidHandler: function(){
      // console.log('hardwareBackPress');
      this.props.navigator.pop();
      return true;
  },

1 个答案:

答案 0 :(得分:0)

无论堆栈视图是什么,您都指定按钮应该pop()。您可以在backAndroidHandler中执行的操作是:

if (this.props.navigator.getCurrentRoutes().length > 1) {
  this.props.navigator.pop();
  return true;
} else {
  return false;
}