【问题标题】:How to launch the app that launched my app如何启动启动我的应用程序的应用程序
【发布时间】:2012-11-10 23:45:58
【问题描述】:

我在我的应用程序中使用这个函数来处理来自其他应用程序的调用:

(BOOL)应用程序:(UIApplication *)应用程序 openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication 注释:(id)注释

我需要了解在处理完请求后如何重新启动已启动我的应用的应用。

简而言之 - 一旦我在我的应用中处理完问题,我需要将源应用置于前台。

流程如下:

  1. 用户点击第 3 方应用上的某个按钮(可以是任何应用,而不是特定应用)
  2. 按钮使用

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:sourceApplication]]

打开我的应用程序。
  1. 我在我的应用中执行了一些操作。
  2. 第 3 方的应用(源应用)重新打开。

有什么想法吗?

谢谢!

(顺便说一句 - 我认为 Facebook API 也这样做,但不确定。)

【问题讨论】:

    标签: ios launch openurl x-callback-url


    【解决方案1】:

    Facebook 这样做是因为他们知道您的应用程序的网址,因为您必须添加 fb[APPID] 网址,其中 [APPID] 是您的 Facebook 应用程序 ID。

    有一个处理你想要的规范的想法:http://x-callback-url.com,但为了使用它,两个应用程序都必须支持它。

    使用 x-callback-url 的源应用程序可以启动其他应用程序传递数据和上下文信息,还可以提供参数指示目标应用程序在执行操作后将数据和控制权返回给源应用程序。

    【讨论】:

    • 谢谢,我想知道 FB 是如何做到的,并认为他们必须使用 URL 方案.. 仍然 (io6) 没有另一种方式,是吗?
    • 是的,自定义 url 仍然是唯一的公共方式。
    • 在这个函数中:(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation - 我收到源应用程序 url (例如:sourceApplication = com.apple.safari ...)。我不能用吗?
    • 这是源应用 ID,而不是 url。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多