代码之家  ›  专栏  ›  技术社区  ›  jailani

当iOS应用程序在前台时处理小部件单击操作

  •  1
  • jailani  · 技术社区  · 6 年前

    当小部件被单击时,如果应用程序没有运行,我可以使用以下方法处理-

    (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
    

    但如果应用程序在后台,如何处理该操作?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Yun CHEN    6 年前

    handleOpenURL 无论应用程序是否处于后台模式,都将被调用。

    官方文件:
    如果在应用程序挂起或 在后台运行时,系统会将应用程序移到前台 在调用此方法之前。

    以及影响通话的因素:

    如果委托在 application:willFinishLaunchingWithOptions: application:didFinishLaunchingWithOptions: 方法。(如果只有一个 实现了这两种方法,其返回值决定 调用此方法。)如果应用程序实现 applicationDidFinishLaunching: 方法而不是 应用程序:DidFinishLaunchingWith选项: ,此方法被调用为 初始化应用程序后打开指定的URL。

    由于ios9.0,最好使用以下方法:

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options NS_AVAILABLE_IOS(9_0);