从关闭的应用程序中的通知导航时,后退无法正常工作

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 和该侦听器函数中的相同代码