如何解决当应用程序处于前台时,linking.addEventListener 不适用于 ios
对于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 举报,一经查实,本站将立刻删除。