【问题标题】:Knowing programmatically if an app can receive push notifications以编程方式了解应用程序是否可以接收推送通知
【发布时间】:2013-01-23 17:38:13
【问题描述】:

有没有办法让应用程序以编程方式知道它是否可以接收推送通知?

【问题讨论】:

    标签: iphone ios notifications push-notification apple-push-notifications


    【解决方案1】:

    最初您需要尝试注册接收推送通知。

    [[UIApplication sharedApplication]registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert)];
    

    如果有可能你会收到成功的委托方法

    - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devTokenLocal 
    

    如果你不可能收到失败委托方法。请注意,您可以分析错误消息以获取更具体的信息

    -(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
    {}
    

    【讨论】:

    • 经过几次测试后,我发现这不包括以下情况:1)应用程序运行并且用户为其启用了推送通知。 2)用户将应用程序置于后台。 3) 用户更改设备设置,关闭应用程序的通知。 4)应用程序再次运行。现在该应用程序仍然认为它可以接收通知。有没有办法在运行时检查?
    【解决方案2】:

    你可以使用

    [[UIApplication sharedApplication] isRegisteredForRemoteNotifications]
    

    【讨论】:

      猜你喜欢
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多