xcode – 选择推送通知横幅时调用的方法

xcode – 选择推送通知横幅时调用的方法,第1张

概述我有一个推送通知,我发送给用户,我希望能够在他们点击它时采取行动.我知道如果应用程序位于前台,后台,或者用户点击通知中心的警报,则在应用委托中调用以下方法: - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 但是,如果应用程序未启动且用户在通知 我有一个推送通知,我发送给用户,我希望能够在他们点击它时采取行动.我知道如果应用程序位于前台,后台,或者用户点击通知中心的警报,则在应用委托中调用以下方法:

- (voID)application:(UIApplication *)application dIDReceiveRemoteNotification:(NSDictionary *)userInfo

但是,如果应用程序未启动且用户在通知到达后立即点击通知横幅,则此方法似乎不会被调用.在这种情况下,我需要采用不同的方法吗?他们的其他情况是否也应该实施其他方法?

解决方法 如果您在单击通知横幅时未启动应用程序,则您将在应用程序中收到NSDictionary:dIDFinishLaunchingWithOptions:.

然后你可以做这样的事情:

- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions{  NSDictionary *pushDict = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];  if(pushDict)  {    [self application:application dIDReceiveRemoteNotification:pushDict];  }}

此外,在您的应用程序:dIDReceiveRemoteNtification:方法中,您可以测试您的应用程序在收到通知时是否处于非活动状态,如下所示:

-(voID)application:(UIApplication *)app dIDReceiveRemoteNotification:(NSDictionary *)userInfo{  if([app applicationState] == UIApplicationStateInactive)  {    NSLog(@"Received notifications while inactive.");  }  else  {    NSLog(@"Received notifications while active.");  }
总结

以上是内存溢出为你收集整理的xcode – 选择推送通知横幅时调用的方法全部内容,希望文章能够帮你解决xcode – 选择推送通知横幅时调用的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1011023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存