React Native back物理返回键


1.注册

componentWillMount(){
  if (Platform.OS === 'android') {
    BackAndroid.addEventListener('hardwareBackPress', this.onBackAndroid);
  } 
}

 

2.移除

componentWillUnmount(){
  if (Platform.OS === 'android') {
    BackAndroid.removeEventListener('hardwareBackPress', this.onBackAndroid);
  }
}

 

3.Back方法

onBackAndroid = () => {
    const navigator = this.props.navigator;
    const routers = navigator.getCurrentRoutes();
    console.log('当前路由长度:' + routers.length);
    if (routers.length > 2) {
      navigator.pop();
      return true;//接管默认行为
    } else {

      //到了主页了
      if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {
        //最近2秒内按过back键,可以退出应用。
        return false;
      }
      this.lastBackPressed = Date.now();
      ToastAndroid.show("再按一次退出应用", ToastAndroid.SHORT);
      return true;
    }
    // return false;//默认行为

  };

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM