我正在尝试使用URL方案从另一个应用程序(App 2)启动一个应用程序(App 1)。有没有办法可以检查启动我的应用程序的应用程序名称?示例App2启动App 1(因此我可以在启动App 1时检查App 2名称)或者我们是否可以获取有关启动App1的源的信息?
提前致谢
答案 0 :(得分:5)
要从其他应用程序启动应用程序,您只需在info plist文件中配置“支持的URL方案”。您也可以通过appDelegate中的以下方法了解应用程序启动的原因。
此处启动选项
指示启动应用程序的原因的字典(如果有)。在用户直接启动应用程序的情况下,该字典的内容可能为空。
可能的键是
NSString * const UIApplicationLaunchOptionsURLKey; NSString * const UIApplicationLaunchOptionsSourceApplicationKey ; NSString * const UIApplicationLaunchOptionsRemoteNotificationKey; NSString * const UIApplicationLaunchOptionsAnnotationKey; NSString * const UIApplicationLaunchOptionsLocalNotificationKey; NSString * const UIApplicationLaunchOptionsLocationKey; NSString * const UIApplicationLaunchOptionsNewsstandDownloadsKey;
答案 1 :(得分:0)
由于URL方案取决于您,您可以在URL中传递您想要的任何信息。例如:
[[UIApplication sharedApplication] openURL:@"app1scheme://app_action?source=app2"];
这种方法相对于使用启动选项键的唯一真正优势是它也可以 - 并且可以包含网站特定信息 - 如果有人从网站链接启动您的应用程序。