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;//默認行為 };