收到通知后如何在应用程序图标上单击消息?

时间:2014-06-27 10:17:49

标签: ios iphone objective-c push-notification

我的推送通知正常,但在我的应用中,推送通知带有两个不同的消息:一个是"任务已完成"第二个是"你有一条消息"。

现在当应用程序处于后台状态并且通知到达时,如何在点击应用程序图标时收到通知消息?

如果有人知道那么请帮助我。提前谢谢。

4 个答案:

答案 0 :(得分:1)

对于iOS 7及更高版本,您可以使用:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

这将允许您在应用程序处于后台状态时进行快速处理。

答案 1 :(得分:1)

实际上,从iOS 7开始,你可以得到它。

您需要实施后台远程通知。

在info.plist文件中,您需要添加:

info.plist file requirement for Background Remote Notifications

然后,在推送通知中,添加到有效负载'content-available': 1,

然后,在AppDelegate.m中实现(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler方法。

参见参考:http://developer.xamarin.com/guides/cross-platform/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/updating_an_application_in_the_background/

我已经在我的iPhone设备上测试了这个&有用! =)

祝你好运!

答案 2 :(得分:0)

通知数据会在application:didReceiveRemoteNotification:中传送到您的应用。如果您要在applicationDidBecomeActive:中处理它,则应将其存储在application:didReceiveRemoteNotification:中并在applicationDidBecomeActive.中再次阅读

请查看此link

答案 3 :(得分:0)

收到推送通知后..当您点击应用程序图标时,将调用以下方法... UserInfo(Dictionary)是来自APNS的有效负载

- (void)application:(UIApplication *)application
   didReceiveRemoteNotification:(NSDictionary *)userInfo
{

    NSLog(@"Message from APNS%@", userInfo);

    NSLog(@"APS from APNS%@", userInfo[@"aps"]);

    NSLog(@"ID from APNS%@", userInfo[@"id"]);

 }

在上面的日志中,看到userInfo字典给出了什么,并尝试从中检索值..

如果应用处于前台模式,则会通过application:didReceiveRemoteNotification:

接收推送通知

但如果应用程序未处于前台模式,则推送通知将传递到application:didFinishLaunchingWithOptions:

希望它对你有所帮助......