当应用程序在托盘中时,React Native Linking.addEventListener() 不触发
React Native Linking.addEventListener() Not Firing When App is in Tray
使用 React Native Linking 和 Firebase 生成动态 links。一切正常,除非应用程序在后台打开或在您单击 link 时 "tray"。如果当有人点击 link 时应用已经打开,它什么都不做。
我的监听器是在 componentDidMount 中设置的,就像 documentation 所说的那样,但它没有触发。
componentDidMount() {
Linking.addEventListener('url', this._handleOpenURL);
},
事实上,我已经检查并提醒了 componentWillMount()、componentDidMount()、componentWillUpdate()、componentWillUnmount()、componentWillReceiveNewProps() 和 _handleOpenURL(),当我点击 link 并且它 "re-opens" 来自后台的应用程序?我做错了什么?
明白了,我会留下这个问题,以防其他人遇到同样的问题。
原来我只需要将这个代码块添加到我的 AppDelegate.m 文件中。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}
使用 React Native Linking 和 Firebase 生成动态 links。一切正常,除非应用程序在后台打开或在您单击 link 时 "tray"。如果当有人点击 link 时应用已经打开,它什么都不做。
我的监听器是在 componentDidMount 中设置的,就像 documentation 所说的那样,但它没有触发。
componentDidMount() {
Linking.addEventListener('url', this._handleOpenURL);
},
事实上,我已经检查并提醒了 componentWillMount()、componentDidMount()、componentWillUpdate()、componentWillUnmount()、componentWillReceiveNewProps() 和 _handleOpenURL(),当我点击 link 并且它 "re-opens" 来自后台的应用程序?我做错了什么?
明白了,我会留下这个问题,以防其他人遇到同样的问题。
原来我只需要将这个代码块添加到我的 AppDelegate.m 文件中。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}