android– 处理BackHandler

android– 处理BackHandler,第1张

概述作为RN编程的新手,我正在尝试处理android硬件按钮.但是在屏幕上按下它会导致同时进入上一个屏幕并关闭应用程序.我的StackNavigator看起来像:constnavigatorApp=StackNavigator({Screen1:{screen:Screen1},Screen2:{screen:Screen2},Screen3:{screen:Scre

作为RN编程的新手,我正在尝试处理android硬件按钮.但是在屏幕上按下它会导致同时进入上一个屏幕并关闭应用程序.
我的StackNavigator看起来像:

const navigatorApp = StackNavigator({  Screen1: { screen: Screen1 },  Screen2: { screen: Screen2 },  Screen3: { screen: Screen3 },  Screen4: { screen: Screen4 }})

我试图对屏幕进行全局背压处理

class HandleHavigation extends React.Component {  componentwillMount () {    if (Platform.OS === 'androID') return    BackHandler.addEventListener('harDWareBackPress', () => {      const { dispatch, nav } = this.props      if (nav.routes.length === 1 && (nav.routes[0].routename === 'Screen1')) {        return false      }      dispatch({ type: 'Navigation/BACK' })      return true    })  }  componentwillUnmount () {    if (Platform.OS === 'androID') return    BackHandler.removeEventListener('harDWareBackPress')  }  render () {    return <navigatorApp navigation={addNavigationHelpers({      dispatch: this.props.dispatch,      state: this.props.nav,      addListener: createReduxBoundAddListener('root')    })} />  }}const mapStatetoProps = state => ({ nav: state.reducer })export default connect(mapStatetoProps)(HandleNavigation)

我也在其他问题解决方案中尝试了一些,但没有任何帮助阻止应用程序关闭.

我还考虑过在每个屏幕上实现backHandler.
在我的应用程序中,每个屏幕都包含函数onPress for top按钮.这就是我尝试使用Backhandler将此 *** 作复制到硬件按钮的原因.但是所有我得到的 – 屏幕回来了,应用程序隐藏在同一时间.

在我的情况下是否有任何解决方案可以通过按hw backbutton来阻止关闭应用程序?

解决方法:

您可以使用BackHandler退出/关闭应用程序:

import { BackHandler } from 'react-native';BackHandler.exitApp();
总结

以上是内存溢出为你收集整理的android – 处理BackHandler全部内容,希望文章能够帮你解决android – 处理BackHandler所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存