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;//默认行为 };