React Native Android 返回两次退出 app

2,141 阅读1分钟

监听返回键

componentDidMount () {
    // 注册listener
    BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid)
  }

返回判断

onBackAndroid = () => {
if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {
      BackHandler.exitApp()//直接退出APP
      return false
    } else {
      this.lastBackPressed = Date.now()
      Util.message({ text: '再按一次返回键退出APP' })//提示
      return true
    }
}

优化

返回且不退出app,再次打开显示之前的页面,而不是欢迎页

MainActivity.java

//重写该方法
 @Override
    public void invokeDefaultOnBackPressed() {
        moveTaskToBack(true);
    }