好東西當(dāng)然要分享渐北,代碼一起用
我們使用 React Native 提供的 API BackHandler
監(jiān)聽設(shè)備上的后退按鈕事件。
Android:監(jiān)聽后退按鈕事件恃锉。如果沒有添加任何監(jiān)聽函數(shù),或者所有的監(jiān)聽函數(shù)都返回false破托,則會執(zhí)行默認行為土砂,退出應(yīng)用州既。
Methods
exitApp()
static exitApp()
addEventListener()
static addEventListener(eventName, handler)
removeEventListener()
static removeEventListener(eventName, handler)
Code
當(dāng)組件卸載時一定要移除 hardwareBackPress
監(jiān)聽事件
...
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid)
}
lastBackPressed = 0
onBackAndroid = () => {
if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {
BackHandler.exitApp()
return false
}
this.lastBackPressed = Date.now()
ToastAndroid.show('再按一次退出應(yīng)用', ToastAndroid.SHORT)
return true
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.onBackAndroid)
}
...