2

我正在尝试使用 URL 方案从另一个应用程序(应用程序 2)启动一个应用程序(应用程序 1)。有没有办法可以检查正在启动我的应用程序的应用程序名称?示例 App2 启动 App 1(所以我可以在启动 App 1 时检查 App 2 名称)还是我们可以获得有关启动 App1 的源的信息?

提前致谢

4

2 回答 2

5

要从另一个应用程序启动一个应用程序,您只需在 info plist 文件中配置“支持的 url 方案”。您也可以通过 appDelegate 中的以下方法了解应用程序启动的原因。

  • (BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

这里的启动选项是

指示应用程序启动原因的字典(如果有)。在用户直接启动应用程序的情况下,此字典的内容可能为空。

可能的键是

NSString *const UIApplicationLaunchOptionsURLKey; NSString *const UIApplicationLaunchOptionsSourceApplicationKey ; NSString *const UIApplicationLaunchOptionsRemoteNotificationKey; NSString *const UIApplicationLaunchOptionsAnnotationKey; NSString *const UIApplicationLaunchOptionsLocalNotificationKey; NSString *const UIApplicationLaunchOptionsLocationKey; NSString *const UIApplicationLaunchOptionsNewsstandDownloadsKey;

于 2013-03-27T04:57:03.977 回答
0

由于 URL 方案由您决定,您可以在 URL 中传递您想要的任何信息。例如:

[[UIApplication sharedApplication] openURL:@"app1scheme://app_action?source=app2"];

与使用启动选项键相比,此方法的唯一真正优势是,如果有人从网站链接启动您的应用程序,它也可以工作,并且可能包含网站特定信息。

于 2013-03-27T05:13:45.763 回答