【问题标题】:BackAndroid does not quit applicationBackAndroid 不退出应用程序
【发布时间】:2016-03-09 09:39:57
【问题描述】:

我在 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;
  },

【问题讨论】:

    标签: javascript android reactjs react-native


    【解决方案1】:

    您指定按钮应该 pop() 无论堆栈视图是什么。你可以在backAndroidHandler 中做的是:

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

    【讨论】:

    • 我试过了,但还是退出了应用程序,我希望它在上一页
    • 问题是因为应用程序在按返回时不退出或按返回时退出?在我的示例中,您的应用会弹出视图,直到没有可弹出的内容为止,它将退出应用。
    • 我也用导航器试过这个,前一页不是结束页。在此之后还有一页。我得到的控制台长度是 2,即 2 个对象
    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多