即使应用程序关闭,我也希望在下午2:00和下午6:00收到通知。
如何检查我想要触发本地通知的特定时间以及我应该在iOS的代码中将该代码写在哪里?
请在Objective-C
建议我一个代码。
我应该使用这种方法吗?
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler
如果是,那么我应该在这种方法中写什么来获取特定时间的通知。
答案 0 :(得分:1)
当应用暂停或在后台调用委托方法didReceiveLocalNotification
时,会发出本地通知:
-(void) application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification
您需要在appdelegate
。
请提醒didReceiveRemoteNotification
方法仅在应用通过服务器获取通知时调用,称为推送通知或远程通知
答案 1 :(得分:1)
您不应使用didReceiveRemoteNotification
方法获取本地通知。
您应该使用didReceiveRemoteNotification
方法获取推送通知。
我们必须知道以下事情
当应用未运行或应用处于关闭状态时
如果应用程序不在最前面且可见,系统将显示
the alert
message,
badges
应用程序,播放声音 - 通知中指定的任何内容。 如果通知是警报并且用户点击 操作按钮(或者,如果设备被锁定,则拖动操作 滑块),应用程序被唤醒或启动。 (如果用户点击其中一个 您使用类别属性指定的自定义操作,应用是 醒来或发射到背景中。)在其中 应用程序:didFinishLaunchingWithOptions:方法,应用程序委托 可以从启动选项中获取UILocalNotification对象 使用UIApplicationLaunchOptionsLocalNotificationKey的字典 键。代表可以检查通知的属性,并且 如果通知在其userInfo字典中包含自定义数据, 它可以访问该数据并相应地处理它。另一方面, 如果本地通知仅标记应用图标,并且用户位于 响应启动应用 应用程序:didFinishLaunchingWithOptions:方法被称为,但没有 UILocalNotification对象包含在选项字典中。什么时候 用户选择自定义操作,即应用程序代理 应用:handleActionWithIdentifier:forLocalNotification:completionHandler: 调用方法来处理动作。
当应用程序在前台状态下运行时
如果应用程序是最重要的,并且在系统交付时可见 通知,应用代表的 应用程序:didReceiveLocalNotification:被调用来处理 通知。使用提供的UILocalNotification中的信息 反对决定采取什么行动的对象。系统不显示任何内容 应用程序发出警报,标记应用程序图标或播放任何声音 已经最前面了。
applicationDidReciveLocalNotification
另外
答案 2 :(得分:0)
application:didReceiveLocalNotification:现已弃用,因为不推荐使用类UILocalNotification
。
改为使用UNNotification。