好东西当然要分享,代码一起用
我们使用 React Native 提供的 API BackHandler
监听设备上的后退按钮事件。
Android:监听后退按钮事件。如果没有添加任何监听函数,或者所有的监听函数都返回false,则会执行默认行为,退出应用。
Methods
exitApp()
static exitApp()
addEventListener()
static addEventListener(eventName, handler)
removeEventListener()
static removeEventListener(eventName, handler)
Code
当组件卸载时一定要移除 hardwareBackPress
监听事件
...
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('再按一次退出应用', ToastAndroid.SHORT)
return true
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.onBackAndroid)
}
...