在用户打开通知时导航
Navigate when user opens notification
我正在尝试在用户单击通知时导航到特定屏幕。我正在使用 react-native-push-notification 并且效果很好。问题是,由于某种原因导航没有发生。
我调用这个函数onNotification,它正在执行
function onNotificationOpened(notification) {
console.log('navigating')
console.log(NavigationActions)
NavigationActions.navigate('Journal')
}
因此 'navigating' 打印在控制台上,以及带有导航功能的 NavigationActions。所以它就在那里。但是当应用程序打开时,导航不会发生并且应用程序停留在同一屏幕上。屏幕名称中没有错别字或任何内容。应用程序打开后,我可以正常导航。我是否将导航放在那里并不重要,该应用程序仍会在主屏幕上打开。
我在想这可能是导航确实发生了,但只是在应用程序本身打开主屏幕之前一点。我不确定,当然,这是我的猜测。
我做错了什么吗?
在你的 onNotificationOpened
函数上试试这个
let isBackground = notification.foreground;
if(isBackground == true){
this.props.navigation.navigate('Journal');
你想做的类似于深度链接,锁定在this
, 有一些有用的答案。
我正在尝试在用户单击通知时导航到特定屏幕。我正在使用 react-native-push-notification 并且效果很好。问题是,由于某种原因导航没有发生。
我调用这个函数onNotification,它正在执行
function onNotificationOpened(notification) {
console.log('navigating')
console.log(NavigationActions)
NavigationActions.navigate('Journal')
}
因此 'navigating' 打印在控制台上,以及带有导航功能的 NavigationActions。所以它就在那里。但是当应用程序打开时,导航不会发生并且应用程序停留在同一屏幕上。屏幕名称中没有错别字或任何内容。应用程序打开后,我可以正常导航。我是否将导航放在那里并不重要,该应用程序仍会在主屏幕上打开。 我在想这可能是导航确实发生了,但只是在应用程序本身打开主屏幕之前一点。我不确定,当然,这是我的猜测。 我做错了什么吗?
在你的 onNotificationOpened
函数上试试这个
let isBackground = notification.foreground;
if(isBackground == true){
this.props.navigation.navigate('Journal');
你想做的类似于深度链接,锁定在this , 有一些有用的答案。