需要使用openURL:options:completionHandler:
函数打开第三方apps (如qqmusic、网易、天猫等)。当我的应用程序在前台时,它可以工作,但当我的应用程序转到后台时,这个功能不起作用。有谁有解决方案吗?
这是我的代码:
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmusic://"]]){
NSURL *url = [NSURL URLWithString:@"qqmusic://"];
if (@available(iOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {}];
} else {
[[UIApplication sharedApplication] openURL:url];
}
}
发布于 2018-09-12 19:18:43
有没有可能你接受的答案只是告诉你,你想做的事情是不可能的?因为这是不可能的。禁止这类事情是苹果深思熟虑的设计决定。
只有当你的应用程序在前台时,openURL
才能工作。当该方法在后台时,您不能调用它。而且也没有其他API会有类似的效果。
我使用iPhone已经有很多年了,在后台我没有看到任何打开URL的应用程序。作为一名iPhone用户,我很高兴这不起作用。如果我只是在阅读电子邮件,这将是非常糟糕的,突然音乐应用程序出现,因为一些后台应用程序打开了它。我没有办法弄清楚是哪个应用程序做到了这一点。这不会发生,因为这样的事情是不可能的。
https://stackoverflow.com/questions/52287335
复制相似问题