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