react native安卓再按一次退出应用
2020-06-06 本文已影响0人
MasterPaul
在首页监听
componentWillMount() {
if (Platform.OS === 'android') {
BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid);
}
}
componentWillUnmount() {
if (Platform.OS === 'android') {
BackHandler.removeEventListener('hardwareBackPress', this.onBackAndroid);
}
}
//导航使用的是react navigation,使用this.props.navigation.isFocuse()方法判断当前路由焦点是否在首页
onBackAndroid(){
if(this.props.navigation.isFocused()){
if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {
//最近2秒内按过back键,可以退出应用。
BackHandler.exitApp()
return false
}
this.lastBackPressed = Date.now();
ToastAndroid.show('再按一次退出应用', ToastAndroid.SHORT);
return true;
}
}