我正在尝试使用 URL 方案从另一个应用程序(应用程序 2)启动一个应用程序(应用程序 1)。有没有办法可以检查正在启动我的应用程序的应用程序名称?示例 App2 启动 App 1(所以我可以在启动 App 1 时检查 App 2 名称)还是我们可以获得有关启动 App1 的源的信息?
提前致谢
我正在尝试使用 URL 方案从另一个应用程序(应用程序 2)启动一个应用程序(应用程序 1)。有没有办法可以检查正在启动我的应用程序的应用程序名称?示例 App2 启动 App 1(所以我可以在启动 App 1 时检查 App 2 名称)还是我们可以获得有关启动 App1 的源的信息?
提前致谢
要从另一个应用程序启动一个应用程序,您只需在 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;
由于 URL 方案由您决定,您可以在 URL 中传递您想要的任何信息。例如:
[[UIApplication sharedApplication] openURL:@"app1scheme://app_action?source=app2"];
与使用启动选项键相比,此方法的唯一真正优势是,如果有人从网站链接启动您的应用程序,它也可以工作,并且可能包含网站特定信息。