从关闭的应用程序中的通知导航时,后退无法正常工作
back doesn't work properly when navigating from notification in closed app
当我从关闭的应用程序中的通知导航时,我能够导航到所需的屏幕。
当我单击硬件后退按钮时,该应用程序导航到仪表板,但是当我从工具栏 header 中的自定义后退按钮返回时,它导航到仪表板(根据需要)但立即返回同一页面。
从通知导航:
this.props.navigation.push("screen", {
data: somedata,
})
导航回仪表板:
this.props.navigation.push('Dashboard')
我也尝试过使用 ResetAction 函数,但结果相同。
如何解决?
这是因为,当时您的屏幕没有堆叠,为此您首先要推动该屏幕堆叠并导航。
并且没有通知点击的任何操作,默认打开应用首屏。
按下通知托盘时应使用此代码。
this.props.navigation.navigate('XYZScreen'{itemID:id,fromWhere:"NOTIFICATION"})
此行使用此键参数将您导航至 XYZScreen。在那里你可以确定你来自 NOTIFICATION 。所以根据这个你可以返回任何屏幕。
请使用此代码,它对我有帮助。
因为堆栈中没有任何屏幕
请使用
之类的替换功能
this.props.navigation.replace('Dashboard')
对于硬件后退,使用 backHander 和该侦听器函数中的相同代码
当我从关闭的应用程序中的通知导航时,我能够导航到所需的屏幕。 当我单击硬件后退按钮时,该应用程序导航到仪表板,但是当我从工具栏 header 中的自定义后退按钮返回时,它导航到仪表板(根据需要)但立即返回同一页面。
从通知导航:
this.props.navigation.push("screen", {
data: somedata,
})
导航回仪表板:
this.props.navigation.push('Dashboard')
我也尝试过使用 ResetAction 函数,但结果相同。
如何解决?
这是因为,当时您的屏幕没有堆叠,为此您首先要推动该屏幕堆叠并导航。 并且没有通知点击的任何操作,默认打开应用首屏。
按下通知托盘时应使用此代码。
this.props.navigation.navigate('XYZScreen'{itemID:id,fromWhere:"NOTIFICATION"})
此行使用此键参数将您导航至 XYZScreen。在那里你可以确定你来自 NOTIFICATION 。所以根据这个你可以返回任何屏幕。
请使用此代码,它对我有帮助。
因为堆栈中没有任何屏幕
请使用
之类的替换功能
this.props.navigation.replace('Dashboard')
对于硬件后退,使用 backHander 和该侦听器函数中的相同代码