问题描述
对于ios,如果应用在前台时收到推送通知,当用户点击推送通知时,Linking.addEventListener不会被执行。
如果应用程序未运行或应用程序已打开但在后台。在这两种情况下,Linking.addEventListener 都按预期工作。
**来自 appdelegate.m 的代码
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(Nsstring *)sourceApplication annotation:(id)annotation
{
return [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
// Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html).
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}
if (Platform.OS === 'android') {
Linking.getinitialURL().then(url => {
const { navigate } = this.props.navigation;
let c = url.replace("abcdapp://abcd/","")
navigate(c)
});
} else {
Linking.addEventListener('url',this.handleOpenURL);
}
Linking.addEventListener('url',this.handleOpenURL);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)