直接上實現代碼
componentDidMount() {
if (Platform.OS === 'android'){
BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid);
}
}
componentWillUnmount() {
if (Platform.OS === 'android') {
BackHandler.removeEventListener('hardwareBackPress', this.onBackAndroid);
}
}
onBackAndroid = () => {
//禁用返回鍵
if(this.props.navigation.isFocused()) {//判斷 該頁面是否處於聚焦狀態
if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {
//最近2秒內按過back鍵,可以退出應用。
// return false;
BackHandler.exitApp();//直接退出APP
}else{
this.lastBackPressed = Date.now();
ToastAndroid.show('再按一次退出應用', 1000);//提示
return true;
}
}
}