【问题标题】:iOS5: how to determine if the Notification Center for the app is turned ON/OFFiOS5:如何确定应用程序的通知中心是否打开/关闭
【发布时间】:2013-12-13 03:14:39
【问题描述】:

我想尊重我的用户的意图,如果他们为我的应用关闭了远程通知,我不会致电 [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(...)]

致电UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes] 时,我会收到有关为我的应用启用了哪些类型的通知的信息。但是,可以关闭此应用的通知中心,在我选择“无”之前,我仍然可以从该方法中获得之前启用的通知类型。

因此,我的应用认为通知已启用,即使它们未启用。

有没有办法以编程方式找出我的应用的通知中心状态? (开/关)。

【问题讨论】:

  • 如果通知关闭并且您注册了,您会收到-application:didRegisterForRemoteNotificationsWithDeviceToken: 还是-application:didFailToRegisterForRemoteNotificationsWithError:?如果调用后者,我不会感到惊讶。
  • 对我来说只有第一种方法在通知中心设置打开或关闭时执行。但问题是如何判断该方法的设置。
  • 调用[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(...)] 不会做任何事情,如果你的应用程序的通知在设置中关闭,用户可以看到,为什么你不想每次都调用它?
  • 并不是我不想每次都调用它 - 我愿意 - 但我宁愿在发现用户打开通知后立即调用我的服务器并从通知中取消注册设备居中。
  • 看起来苹果引入了通知中心的开/关开关,但忘记给我们一个 API 来查询它......非常沮丧。

标签: ios iphone apple-push-notifications


【解决方案1】:

不要将“在通知中心”与“启用推送通知”混淆。我可以从通知中心删除一个应用程序,但它仍会以徽章编号的形式接收推送通知,因此您的旧方法应该可以正常工作。

【讨论】:

  • 这很有帮助,但有没有办法检查应用程序是否实用地在通知中心?
  • 我认为除了注册和注册远程通知失败的应用委托方法之外,没有任何方法可以告诉用户对您的应用的通知设置是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多